Skip to content

Commit 29c5cee

Browse files
LiedtkeV8-internal LUCI CQ
authored andcommitted
[environment] Add FinalizationRegistry.prototype
Bug: 487347678 Change-Id: Ide8f3c5d4439981c729f14ecc96e4e54e4cfbe6f Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/9050879 Commit-Queue: Matthias Liedtke <mliedtke@google.com> Reviewed-by: Danylo Mocherniuk <mdanylo@google.com>
1 parent ae3d83a commit 29c5cee

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

Sources/Fuzzilli/Environment/JavaScriptEnvironment.swift

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,8 @@ public class JavaScriptEnvironment: ComponentBase {
343343
registerObjectGroup(.jsWeakSets)
344344
registerObjectGroup(.jsWeakRefs)
345345
registerObjectGroup(.jsFinalizationRegistrys)
346+
registerObjectGroup(.jsFinalizationRegistryPrototype)
347+
registerObjectGroup(.jsFinalizationRegistryConstructor)
346348
registerObjectGroup(.jsDisposableStacks)
347349
registerObjectGroup(.jsDisposableStackPrototype)
348350
registerObjectGroup(.jsDisposableStackConstructor)
@@ -1181,7 +1183,7 @@ public extension ILType {
11811183
static let jsWeakRefConstructor = ILType.constructor([.object()] => .jsWeakRef)
11821184

11831185
/// Type of the JavaScript FinalizationRegistry constructor builtin.
1184-
static let jsFinalizationRegistryConstructor = ILType.constructor([.function()] => .jsFinalizationRegistry)
1186+
static let jsFinalizationRegistryConstructor = ILType.constructor([.function()] => .jsFinalizationRegistry) + .object(ofGroup: "FinalizationRegistryConstructor", withProperties: ["prototype"])
11851187

11861188
/// Type of the JavaScript DisposableStack constructor builtin.
11871189
static let jsDisposableStackConstructor = ILType.constructor([] => .jsDisposableStack) + .object(ofGroup: "DisposableStackConstructor", withProperties: ["prototype"])
@@ -1688,6 +1690,19 @@ public extension ObjectGroup {
16881690
]
16891691
)
16901692

1693+
static let jsFinalizationRegistryPrototype = createPrototypeObjectGroup(jsFinalizationRegistrys,
1694+
constructor: .jsFinalizationRegistryConstructor)
1695+
1696+
static let jsFinalizationRegistryConstructor = ObjectGroup(
1697+
name: "FinalizationRegistryConstructor",
1698+
constructorPath: "FinalizationRegistry",
1699+
instanceType: .jsFinalizationRegistryConstructor,
1700+
properties: [
1701+
"prototype" : jsFinalizationRegistryPrototype.instanceType
1702+
],
1703+
methods: [:]
1704+
)
1705+
16911706
/// ObjectGroup modelling JavaScript DisposableStack objects
16921707
static let jsDisposableStacks = ObjectGroup(
16931708
name: "DisposableStack",

0 commit comments

Comments
 (0)