diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-05-30 12:48:17 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-05-30 12:48:17 +0200 |
commit | 881da28418d380042aa95a97f0cbd42560a64f7c (patch) | |
tree | a794dff3274695e99c651902dde93d934ea7a5af /Source/JavaScriptCore/API/JSVirtualMachine.h | |
parent | 7e104c57a70fdf551bb3d22a5d637cdcbc69dbea (diff) | |
parent | 0fcedcd17cc00d3dd44c718b3cb36c1033319671 (diff) | |
download | qtwebkit-881da28418d380042aa95a97f0cbd42560a64f7c.tar.gz |
Merge 'wip/next' into dev
Change-Id: Iff9ee5e23bb326c4371ec8ed81d56f2f05d680e9
Diffstat (limited to 'Source/JavaScriptCore/API/JSVirtualMachine.h')
-rw-r--r-- | Source/JavaScriptCore/API/JSVirtualMachine.h | 66 |
1 files changed, 45 insertions, 21 deletions
diff --git a/Source/JavaScriptCore/API/JSVirtualMachine.h b/Source/JavaScriptCore/API/JSVirtualMachine.h index b50616f4c..ccf9264d5 100644 --- a/Source/JavaScriptCore/API/JSVirtualMachine.h +++ b/Source/JavaScriptCore/API/JSVirtualMachine.h @@ -27,30 +27,54 @@ #if JSC_OBJC_API_ENABLED -// An instance of JSVirtualMachine represents a single JavaScript "object space" -// or set of execution resources. Thread safety is supported by locking the -// virtual machine, with concurrent JavaScript execution supported by allocating -// separate instances of JSVirtualMachine. - -NS_CLASS_AVAILABLE(10_9, NA) +/*! +@interface +@discussion An instance of JSVirtualMachine represents a single JavaScript "object space" + or set of execution resources. Thread safety is supported by locking the + virtual machine, with concurrent JavaScript execution supported by allocating + separate instances of JSVirtualMachine. +*/ +NS_CLASS_AVAILABLE(10_9, 7_0) @interface JSVirtualMachine : NSObject -// Create a new JSVirtualMachine. -- (id)init; - -// addManagedReference:withOwner and removeManagedReference:withOwner allow -// clients of JSVirtualMachine to make the JavaScript runtime aware of -// arbitrary external Objective-C object graphs. The runtime can then use -// this information to retain any JavaScript values that are referenced -// from somewhere in said object graph. -// -// For correct behavior clients must make their external object graphs -// reachable from within the JavaScript runtime. If an Objective-C object is -// reachable from within the JavaScript runtime, all managed references -// transitively reachable from it as recorded with -// addManagedReference:withOwner: will be scanned by the garbage collector. -// +/*! +@methodgroup Creating New Virtual Machines +*/ +/*! +@method +@abstract Create a new JSVirtualMachine. +*/ +- (instancetype)init; + +/*! +@methodgroup Memory Management +*/ +/*! +@method +@abstract Notify the JSVirtualMachine of an external object relationship. +@discussion Allows clients of JSVirtualMachine to make the JavaScript runtime aware of + arbitrary external Objective-C object graphs. The runtime can then use + this information to retain any JavaScript values that are referenced + from somewhere in said object graph. + + For correct behavior clients must make their external object graphs + reachable from within the JavaScript runtime. If an Objective-C object is + reachable from within the JavaScript runtime, all managed references + transitively reachable from it as recorded using + -addManagedReference:withOwner: will be scanned by the garbage collector. +@param object The object that the owner points to. +@param owner The object that owns the pointed to object. +*/ - (void)addManagedReference:(id)object withOwner:(id)owner; + +/*! +@method +@abstract Notify the JSVirtualMachine that a previous object relationship no longer exists. +@discussion The JavaScript runtime will continue to scan any references that were + reported to it by -addManagedReference:withOwner: until those references are removed. +@param object The object that was formerly owned. +@param owner The former owner. +*/ - (void)removeManagedReference:(id)object withOwner:(id)owner; @end |