Title: [271594] trunk/Source/_javascript_Core
Revision
271594
Author
[email protected]
Date
2021-01-18 16:24:52 -0800 (Mon, 18 Jan 2021)

Log Message

[JSC] Implement a B3::Compilation replacement for wasm-llint
https://bugs.webkit.org/show_bug.cgi?id=220585

Patch by Xan López <[email protected]> on 2021-01-18
Reviewed by Yusuke Suzuki.

Move B3Compilation, B3OpaqueByproducts and B3OpaqueByproduct to
jit/. They are used by non-B3 code and they are not really B3
specific. Also rename B3CompilationPtrTag to JITCompilationPtrTag.

* CMakeLists.txt: add new source files.
* _javascript_Core.xcodeproj/project.pbxproj: ditto.
* Sources.txt: ditto.
* b3/B3Compile.cpp:
(JSC::B3::compile): use JITCompilationPtrTag.
* b3/B3Compile.h: change includes.
* b3/B3DataSection.h: ditto.
* b3/B3Procedure.cpp: ditto.
* b3/B3Procedure.h: ditto.
* b3/air/testair.cpp: use JITCompilationPtrTag.
* b3/testb3.h: change includes.
(invoke):
* b3/testb3_6.cpp:
(testInterpreter): use JITCompilationPtrTag.
(testEntrySwitchSimple): ditto.
(testEntrySwitchNoEntrySwitch): ditto.
(testEntrySwitchWithCommonPaths): ditto.
(testEntrySwitchWithCommonPathsAndNonTrivialEntrypoint): ditto.
(testEntrySwitchLoop): ditto.
* ftl/FTLJITCode.h: use JSC::OpaqueByproducts.
* ftl/FTLOutput.h: change includes.
* jit/JITCompilation.cpp: Renamed from Source/_javascript_Core/b3/B3Compilation.cpp.
(JSC::Compilation::Compilation):
* jit/JITCompilation.h: Renamed from Source/_javascript_Core/b3/B3Compilation.h.
(JSC::Compilation::code const):
(JSC::Compilation::codeRef const):
* jit/JITOpaqueByproduct.h: Renamed from Source/_javascript_Core/b3/B3OpaqueByproduct.h.
* jit/JITOpaqueByproducts.cpp: Renamed from Source/_javascript_Core/b3/B3OpaqueByproducts.cpp.
* jit/JITOpaqueByproducts.h: Renamed from Source/_javascript_Core/b3/B3OpaqueByproducts.h.
* runtime/JSCPtrTag.h: rename B3CompilationPtrTag to JITCompilationPtrTag.
* wasm/WasmB3IRGenerator.h: use JSC::OpaqueByproducts.
* wasm/WasmBBQPlan.cpp: use JSC::Compilation.
(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::didCompleteCompilation):
* wasm/WasmBinding.h: change includes.
* wasm/WasmCallee.h: ditto.
* wasm/WasmFormat.h: use JSC::Compilation.
* wasm/WasmLLIntPlan.cpp: ditto.
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
* wasm/WasmLLIntPlan.h: use JITCompilationPtrTag.
* wasm/WasmModule.h: ditto.
* wasm/WasmOMGForOSREntryPlan.cpp: use JSC::Compilation.
(JSC::Wasm::OMGForOSREntryPlan::work):
* wasm/WasmOMGPlan.cpp: ditto.
(JSC::Wasm::OMGPlan::work):
* wasm/WasmParser.h: change includes.
* wasm/js/WasmToJS.h: ditto.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/Source/_javascript_Core/CMakeLists.txt (271593 => 271594)


--- trunk/Source/_javascript_Core/CMakeLists.txt	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/CMakeLists.txt	2021-01-19 00:24:52 UTC (rev 271594)
@@ -521,7 +521,6 @@
     assembler/X86_64Registers.h
 
     b3/B3Common.h
-    b3/B3Compilation.h
     b3/B3Type.h
 
     bindings/ScriptFunctionCall.h
@@ -757,6 +756,7 @@
     jit/JITAllocator.h
     jit/JITCode.h
     jit/JITCodeMap.h
+    jit/JITCompilation.h
     jit/JITCompilationEffort.h
     jit/JITMathICForwards.h
     jit/JITOperations.h

Modified: trunk/Source/_javascript_Core/ChangeLog (271593 => 271594)


--- trunk/Source/_javascript_Core/ChangeLog	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-01-19 00:24:52 UTC (rev 271594)
@@ -1,3 +1,62 @@
+2021-01-18  Xan López  <[email protected]>
+
+        [JSC] Implement a B3::Compilation replacement for wasm-llint
+        https://bugs.webkit.org/show_bug.cgi?id=220585
+
+        Reviewed by Yusuke Suzuki.
+
+        Move B3Compilation, B3OpaqueByproducts and B3OpaqueByproduct to
+        jit/. They are used by non-B3 code and they are not really B3
+        specific. Also rename B3CompilationPtrTag to JITCompilationPtrTag.
+
+        * CMakeLists.txt: add new source files.
+        * _javascript_Core.xcodeproj/project.pbxproj: ditto.
+        * Sources.txt: ditto.
+        * b3/B3Compile.cpp:
+        (JSC::B3::compile): use JITCompilationPtrTag.
+        * b3/B3Compile.h: change includes.
+        * b3/B3DataSection.h: ditto.
+        * b3/B3Procedure.cpp: ditto.
+        * b3/B3Procedure.h: ditto.
+        * b3/air/testair.cpp: use JITCompilationPtrTag.
+        * b3/testb3.h: change includes.
+        (invoke):
+        * b3/testb3_6.cpp:
+        (testInterpreter): use JITCompilationPtrTag.
+        (testEntrySwitchSimple): ditto.
+        (testEntrySwitchNoEntrySwitch): ditto.
+        (testEntrySwitchWithCommonPaths): ditto.
+        (testEntrySwitchWithCommonPathsAndNonTrivialEntrypoint): ditto.
+        (testEntrySwitchLoop): ditto.
+        * ftl/FTLJITCode.h: use JSC::OpaqueByproducts.
+        * ftl/FTLOutput.h: change includes.
+        * jit/JITCompilation.cpp: Renamed from Source/_javascript_Core/b3/B3Compilation.cpp.
+        (JSC::Compilation::Compilation):
+        * jit/JITCompilation.h: Renamed from Source/_javascript_Core/b3/B3Compilation.h.
+        (JSC::Compilation::code const):
+        (JSC::Compilation::codeRef const):
+        * jit/JITOpaqueByproduct.h: Renamed from Source/_javascript_Core/b3/B3OpaqueByproduct.h.
+        * jit/JITOpaqueByproducts.cpp: Renamed from Source/_javascript_Core/b3/B3OpaqueByproducts.cpp.
+        * jit/JITOpaqueByproducts.h: Renamed from Source/_javascript_Core/b3/B3OpaqueByproducts.h.
+        * runtime/JSCPtrTag.h: rename B3CompilationPtrTag to JITCompilationPtrTag.
+        * wasm/WasmB3IRGenerator.h: use JSC::OpaqueByproducts.
+        * wasm/WasmBBQPlan.cpp: use JSC::Compilation.
+        (JSC::Wasm::BBQPlan::work):
+        (JSC::Wasm::BBQPlan::didCompleteCompilation):
+        * wasm/WasmBinding.h: change includes.
+        * wasm/WasmCallee.h: ditto.
+        * wasm/WasmFormat.h: use JSC::Compilation.
+        * wasm/WasmLLIntPlan.cpp: ditto.
+        (JSC::Wasm::LLIntPlan::didCompleteCompilation):
+        * wasm/WasmLLIntPlan.h: use JITCompilationPtrTag.
+        * wasm/WasmModule.h: ditto.
+        * wasm/WasmOMGForOSREntryPlan.cpp: use JSC::Compilation.
+        (JSC::Wasm::OMGForOSREntryPlan::work):
+        * wasm/WasmOMGPlan.cpp: ditto.
+        (JSC::Wasm::OMGPlan::work):
+        * wasm/WasmParser.h: change includes.
+        * wasm/js/WasmToJS.h: ditto.
+
 2021-01-18  Yusuke Suzuki  <[email protected]>
 
         [JSC] earlyReturnFromInfiniteLoopsLimit should check all caller functions when emitting

Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (271593 => 271594)


--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2021-01-19 00:24:52 UTC (rev 271594)
@@ -289,11 +289,8 @@
 		0F338DF61BE93D550013C88F /* B3ConstrainedValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338DF41BE93D550013C88F /* B3ConstrainedValue.h */; };
 		0F338DFA1BE96AA80013C88F /* B3CCallValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338DF81BE96AA80013C88F /* B3CCallValue.h */; };
 		0F338DFE1BED51270013C88F /* AirSimplifyCFG.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338DFC1BED51270013C88F /* AirSimplifyCFG.h */; };
-		0F338E0C1BF0276C0013C88F /* B3Compilation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338E001BF0276C0013C88F /* B3Compilation.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F338E0E1BF0276C0013C88F /* B3DataSection.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338E021BF0276C0013C88F /* B3DataSection.h */; };
 		0F338E101BF0276C0013C88F /* B3MoveConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338E041BF0276C0013C88F /* B3MoveConstants.h */; };
-		0F338E111BF0276C0013C88F /* B3OpaqueByproduct.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338E051BF0276C0013C88F /* B3OpaqueByproduct.h */; };
-		0F338E131BF0276C0013C88F /* B3OpaqueByproducts.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338E071BF0276C0013C88F /* B3OpaqueByproducts.h */; };
 		0F338E151BF0276C0013C88F /* B3ValueKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338E091BF0276C0013C88F /* B3ValueKey.h */; };
 		0F338E161BF0276C0013C88F /* B3ValueKeyInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338E0A1BF0276C0013C88F /* B3ValueKeyInlines.h */; };
 		0F338E1C1BF286EA0013C88F /* B3BlockInsertionSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F338E181BF286EA0013C88F /* B3BlockInsertionSet.h */; };
@@ -1247,7 +1244,7 @@
 		861816771FB7924200ECC4EC /* BigIntObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 861816761FB7922F00ECC4EC /* BigIntObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		862553D216136E1A009F17D0 /* JSProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 862553CF16136AA5009F17D0 /* JSProxy.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		863B23E00FC6118900703AA4 /* MacroAssemblerCodeRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 863B23DF0FC60E6200703AA4 /* MacroAssemblerCodeRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		863FBC5A25B093B900F6C930 /* WasmValueLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 863FBC5825B093B900F6C930 /* WasmValueLocation.h */; };                
+		863FBC5A25B093B900F6C930 /* WasmValueLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 863FBC5825B093B900F6C930 /* WasmValueLocation.h */; };
 		865A30F1135007E100CDB49E /* JSCJSValueInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 865A30F0135007E100CDB49E /* JSCJSValueInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		866739D213BFDE710023D87C /* BigInteger.h in Headers */ = {isa = PBXBuildFile; fileRef = 866739D013BFDE710023D87C /* BigInteger.h */; };
 		866739D313BFDE710023D87C /* Uint16WithFraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 866739D113BFDE710023D87C /* Uint16WithFraction.h */; };
@@ -1273,6 +1270,9 @@
 		86CCEFDE0F413F8900FD7F9E /* JITCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 86CCEFDD0F413F8900FD7F9E /* JITCode.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		86D2221A167EF9440024C804 /* testapi.mm in Sources */ = {isa = PBXBuildFile; fileRef = 86D22219167EF9440024C804 /* testapi.mm */; };
 		86D3B3C310159D7F002865E7 /* LinkBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 86D3B3C110159D7F002865E7 /* LinkBuffer.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		86D446EA25B2125300ECAE75 /* JITOpaqueByproducts.h in Headers */ = {isa = PBXBuildFile; fileRef = 86D446E625B2124800ECAE75 /* JITOpaqueByproducts.h */; };
+		86D446EB25B2125C00ECAE75 /* JITOpaqueByproduct.h in Headers */ = {isa = PBXBuildFile; fileRef = 86D446E525B2124700ECAE75 /* JITOpaqueByproduct.h */; };
+		86D446EC25B2126000ECAE75 /* JITCompilation.h in Headers */ = {isa = PBXBuildFile; fileRef = 86D446E725B2124800ECAE75 /* JITCompilation.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		86E116B10FE75AC800B512BC /* CodeLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E116B00FE75AC800B512BC /* CodeLocation.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		86E3C612167BABD7006D760A /* JSValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3C606167BAB87006D760A /* JSValue.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		86E3C613167BABD7006D760A /* JSContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3C607167BAB87006D760A /* JSContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -2525,15 +2525,10 @@
 		0F338DF81BE96AA80013C88F /* B3CCallValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3CCallValue.h; path = b3/B3CCallValue.h; sourceTree = "<group>"; };
 		0F338DFB1BED51270013C88F /* AirSimplifyCFG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AirSimplifyCFG.cpp; path = b3/air/AirSimplifyCFG.cpp; sourceTree = "<group>"; };
 		0F338DFC1BED51270013C88F /* AirSimplifyCFG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AirSimplifyCFG.h; path = b3/air/AirSimplifyCFG.h; sourceTree = "<group>"; };
-		0F338DFF1BF0276C0013C88F /* B3Compilation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = B3Compilation.cpp; path = b3/B3Compilation.cpp; sourceTree = "<group>"; };
-		0F338E001BF0276C0013C88F /* B3Compilation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3Compilation.h; path = b3/B3Compilation.h; sourceTree = "<group>"; };
 		0F338E011BF0276C0013C88F /* B3DataSection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = B3DataSection.cpp; path = b3/B3DataSection.cpp; sourceTree = "<group>"; };
 		0F338E021BF0276C0013C88F /* B3DataSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3DataSection.h; path = b3/B3DataSection.h; sourceTree = "<group>"; };
 		0F338E031BF0276C0013C88F /* B3MoveConstants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = B3MoveConstants.cpp; path = b3/B3MoveConstants.cpp; sourceTree = "<group>"; };
 		0F338E041BF0276C0013C88F /* B3MoveConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3MoveConstants.h; path = b3/B3MoveConstants.h; sourceTree = "<group>"; };
-		0F338E051BF0276C0013C88F /* B3OpaqueByproduct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3OpaqueByproduct.h; path = b3/B3OpaqueByproduct.h; sourceTree = "<group>"; };
-		0F338E061BF0276C0013C88F /* B3OpaqueByproducts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = B3OpaqueByproducts.cpp; path = b3/B3OpaqueByproducts.cpp; sourceTree = "<group>"; };
-		0F338E071BF0276C0013C88F /* B3OpaqueByproducts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3OpaqueByproducts.h; path = b3/B3OpaqueByproducts.h; sourceTree = "<group>"; };
 		0F338E081BF0276C0013C88F /* B3ValueKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = B3ValueKey.cpp; path = b3/B3ValueKey.cpp; sourceTree = "<group>"; };
 		0F338E091BF0276C0013C88F /* B3ValueKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3ValueKey.h; path = b3/B3ValueKey.h; sourceTree = "<group>"; };
 		0F338E0A1BF0276C0013C88F /* B3ValueKeyInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3ValueKeyInlines.h; path = b3/B3ValueKeyInlines.h; sourceTree = "<group>"; };
@@ -4198,6 +4193,11 @@
 		86CCEFDD0F413F8900FD7F9E /* JITCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JITCode.h; sourceTree = "<group>"; };
 		86D22219167EF9440024C804 /* testapi.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = testapi.mm; path = API/tests/testapi.mm; sourceTree = "<group>"; };
 		86D3B3C110159D7F002865E7 /* LinkBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkBuffer.h; sourceTree = "<group>"; };
+		86D446E525B2124700ECAE75 /* JITOpaqueByproduct.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JITOpaqueByproduct.h; sourceTree = "<group>"; };
+		86D446E625B2124800ECAE75 /* JITOpaqueByproducts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JITOpaqueByproducts.h; sourceTree = "<group>"; };
+		86D446E725B2124800ECAE75 /* JITCompilation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JITCompilation.h; sourceTree = "<group>"; };
+		86D446E825B2124800ECAE75 /* JITCompilation.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JITCompilation.cpp; sourceTree = "<group>"; };
+		86D446E925B2124800ECAE75 /* JITOpaqueByproducts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JITOpaqueByproducts.cpp; sourceTree = "<group>"; };
 		86E116B00FE75AC800B512BC /* CodeLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CodeLocation.h; sourceTree = "<group>"; };
 		86E3C606167BAB87006D760A /* JSValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSValue.h; sourceTree = "<group>"; };
 		86E3C607167BAB87006D760A /* JSContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSContext.h; sourceTree = "<group>"; };
@@ -5735,8 +5735,6 @@
 				0FEC84C01BDACDAC0080FF74 /* B3Common.h */,
 				0FEC84C11BDACDAC0080FF74 /* B3Commutativity.cpp */,
 				0FEC84C21BDACDAC0080FF74 /* B3Commutativity.h */,
-				0F338DFF1BF0276C0013C88F /* B3Compilation.cpp */,
-				0F338E001BF0276C0013C88F /* B3Compilation.h */,
 				795F099C1E03600500BBE37F /* B3Compile.cpp */,
 				7919B77F1E03559C005BEED8 /* B3Compile.h */,
 				0F86AE1F1C5311C5006BE8EC /* B3ComputeDivisionMagic.h */,
@@ -5806,9 +5804,6 @@
 				0F338E041BF0276C0013C88F /* B3MoveConstants.h */,
 				0F2C63C11E664A5A00C13839 /* B3NativeTraits.h */,
 				0F5BF1681F23A0AA0029D91D /* B3NaturalLoops.h */,
-				0F338E051BF0276C0013C88F /* B3OpaqueByproduct.h */,
-				0F338E061BF0276C0013C88F /* B3OpaqueByproducts.cpp */,
-				0F338E071BF0276C0013C88F /* B3OpaqueByproducts.h */,
 				0FEC84D71BDACDAC0080FF74 /* B3Opcode.cpp */,
 				0FEC84D81BDACDAC0080FF74 /* B3Opcode.h */,
 				33743649224D79EF00C8C227 /* B3OptimizeAssociativeExpressionTrees.cpp */,
@@ -6130,6 +6125,11 @@
 		1429D92C0ED22D7000B89619 /* jit */ = {
 			isa = PBXGroup;
 			children = (
+				86D446E825B2124800ECAE75 /* JITCompilation.cpp */,
+				86D446E725B2124800ECAE75 /* JITCompilation.h */,
+				86D446E525B2124700ECAE75 /* JITOpaqueByproduct.h */,
+				86D446E925B2124800ECAE75 /* JITOpaqueByproducts.cpp */,
+				86D446E625B2124800ECAE75 /* JITOpaqueByproducts.h */,
 				0F24E53B17EA9F5900ABB217 /* AssemblyHelpers.cpp */,
 				0F24E53C17EA9F5900ABB217 /* AssemblyHelpers.h */,
 				0F64B26F1A784BAF006E4E66 /* BinarySwitch.cpp */,
@@ -9035,6 +9035,7 @@
 				0F55F0F514D1063C00AC7649 /* AbstractPC.h in Headers */,
 				534E034E1E4D4B1600213F64 /* AccessCase.h in Headers */,
 				E3BFD0BC1DAF808E0065DEA2 /* AccessCaseSnippetParams.h in Headers */,
+				86D446EB25B2125C00ECAE75 /* JITOpaqueByproduct.h in Headers */,
 				5370B4F61BF26205005C40FC /* AdaptiveInferredPropertyValueWatchpointBase.h in Headers */,
 				9168BD872447BA4E0080FFB4 /* AggregateError.h in Headers */,
 				918E15C32447B22700447A56 /* AggregateErrorConstructor.h in Headers */,
@@ -9172,7 +9173,6 @@
 				0FEC85081BDACDAC0080FF74 /* B3CheckValue.h in Headers */,
 				0FEC850A1BDACDAC0080FF74 /* B3Common.h in Headers */,
 				0FEC850C1BDACDAC0080FF74 /* B3Commutativity.h in Headers */,
-				0F338E0C1BF0276C0013C88F /* B3Compilation.h in Headers */,
 				7919B7801E03559C005BEED8 /* B3Compile.h in Headers */,
 				0F86AE201C5311C5006BE8EC /* B3ComputeDivisionMagic.h in Headers */,
 				0FEC850E1BDACDAC0080FF74 /* B3Const32Value.h in Headers */,
@@ -9213,8 +9213,6 @@
 				0F338E101BF0276C0013C88F /* B3MoveConstants.h in Headers */,
 				0F2C63C21E664A5C00C13839 /* B3NativeTraits.h in Headers */,
 				0F5BF1691F23A0AA0029D91D /* B3NaturalLoops.h in Headers */,
-				0F338E111BF0276C0013C88F /* B3OpaqueByproduct.h in Headers */,
-				0F338E131BF0276C0013C88F /* B3OpaqueByproducts.h in Headers */,
 				0FEC85221BDACDAC0080FF74 /* B3Opcode.h in Headers */,
 				0FEC85241BDACDAC0080FF74 /* B3Origin.h in Headers */,
 				0F4C91661C29F4F2004341A6 /* B3OriginDump.h in Headers */,
@@ -10151,6 +10149,7 @@
 				960097A60EBABB58007A7297 /* LabelScope.h in Headers */,
 				DCF3D56A1CD29470003D5C65 /* LazyClassStructure.h in Headers */,
 				DCF3D56B1CD29472003D5C65 /* LazyClassStructureInlines.h in Headers */,
+				86D446EC25B2126000ECAE75 /* JITCompilation.h in Headers */,
 				0FB5467714F59B5C002C2989 /* LazyOperandValueProfile.h in Headers */,
 				DCF3D56C1CD29475003D5C65 /* LazyProperty.h in Headers */,
 				DCF3D56D1CD29476003D5C65 /* LazyPropertyInlines.h in Headers */,
@@ -10432,6 +10431,7 @@
 				BCDE3AB80E6C82F5001453A7 /* Structure.h in Headers */,
 				7986943B1F8C0ACC009232AE /* StructureCache.h in Headers */,
 				7E4EE7090EBB7963005934AA /* StructureChain.h in Headers */,
+				86D446EA25B2125300ECAE75 /* JITOpaqueByproducts.h in Headers */,
 				2AAAA31218BD49D100394CC8 /* StructureIDBlob.h in Headers */,
 				2AF7382D18BBBF92008A5A37 /* StructureIDTable.h in Headers */,
 				0FD2C92416D01EE900C7803F /* StructureInlines.h in Headers */,

Modified: trunk/Source/_javascript_Core/Sources.txt (271593 => 271594)


--- trunk/Source/_javascript_Core/Sources.txt	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/Sources.txt	2021-01-19 00:24:52 UTC (rev 271594)
@@ -120,7 +120,6 @@
 b3/B3Common.cpp
 b3/B3Commutativity.cpp
 b3/B3Compile.cpp
-b3/B3Compilation.cpp
 b3/B3Const32Value.cpp
 b3/B3Const64Value.cpp
 b3/B3ConstDoubleValue.cpp
@@ -149,7 +148,6 @@
 b3/B3MathExtras.cpp
 b3/B3MemoryValue.cpp
 b3/B3MoveConstants.cpp
-b3/B3OpaqueByproducts.cpp
 b3/B3Opcode.cpp
 b3/B3OptimizeAssociativeExpressionTrees.cpp
 b3/B3Origin.cpp
@@ -643,6 +641,7 @@
 jit/JITCall.cpp
 jit/JITCall32_64.cpp
 jit/JITCode.cpp
+jit/JITCompilation.cpp
 jit/JITDisassembler.cpp
 jit/JITDivGenerator.cpp
 jit/JITExceptions.cpp
@@ -650,6 +649,7 @@
 jit/JITLeftShiftGenerator.cpp
 jit/JITMulGenerator.cpp
 jit/JITNegGenerator.cpp
+jit/JITOpaqueByproducts.cpp
 jit/JITOpcodes.cpp
 jit/JITOpcodes32_64.cpp
 jit/JITOperations.cpp

Deleted: trunk/Source/_javascript_Core/b3/B3Compilation.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3Compilation.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3Compilation.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2015-2018 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#include "config.h"
-#include "B3Compilation.h"
-
-#if ENABLE(B3_JIT)
-
-#include "B3OpaqueByproducts.h"
-
-namespace JSC { namespace B3 {
-
-Compilation::Compilation(MacroAssemblerCodeRef<B3CompilationPtrTag> codeRef, std::unique_ptr<OpaqueByproducts> byproducts)
-    : m_codeRef(codeRef)
-    , m_byproducts(WTFMove(byproducts))
-{
-}
-
-Compilation::Compilation(Compilation&& other)
-    : m_codeRef(WTFMove(other.m_codeRef))
-    , m_byproducts(WTFMove(other.m_byproducts))
-{
-}
-
-Compilation::~Compilation()
-{
-}
-
-} } // namespace JSC::B3
-
-#endif // ENABLE(B3_JIT)
-

Deleted: trunk/Source/_javascript_Core/b3/B3Compilation.h (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3Compilation.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3Compilation.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2015-2018 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#pragma once
-
-#if ENABLE(B3_JIT)
-
-#include "MacroAssemblerCodeRef.h"
-#include <wtf/FastMalloc.h>
-#include <wtf/Noncopyable.h>
-
-namespace JSC {
-
-class VM;
-
-namespace B3 {
-
-class OpaqueByproducts;
-class Procedure;
-
-// This class is a way to keep the result of a B3 compilation alive
-// and runnable.
-
-class Compilation {
-    WTF_MAKE_NONCOPYABLE(Compilation);
-    WTF_MAKE_FAST_ALLOCATED;
-
-public:
-    JS_EXPORT_PRIVATE Compilation(MacroAssemblerCodeRef<B3CompilationPtrTag>, std::unique_ptr<OpaqueByproducts>);
-    JS_EXPORT_PRIVATE Compilation(Compilation&&);
-    JS_EXPORT_PRIVATE ~Compilation();
-
-    MacroAssemblerCodePtr<B3CompilationPtrTag> code() const { return m_codeRef.code(); }
-    MacroAssemblerCodeRef<B3CompilationPtrTag> codeRef() const { return m_codeRef; }
-    
-    CString disassembly() const { return m_codeRef.disassembly(); }
-
-private:
-    MacroAssemblerCodeRef<B3CompilationPtrTag> m_codeRef;
-    std::unique_ptr<OpaqueByproducts> m_byproducts;
-};
-
-} } // namespace JSC::B3
-
-#endif // ENABLE(B3_JIT)

Modified: trunk/Source/_javascript_Core/b3/B3Compile.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3Compile.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3Compile.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -46,7 +46,7 @@
     generate(proc, jit);
     LinkBuffer linkBuffer(jit, nullptr);
 
-    return Compilation(FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "B3::Compilation"), proc.releaseByproducts());
+    return Compilation(FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "Compilation"), proc.releaseByproducts());
 }
 
 } } // namespace JSC::B3

Modified: trunk/Source/_javascript_Core/b3/B3Compile.h (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3Compile.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3Compile.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -28,7 +28,7 @@
 #if ENABLE(B3_JIT)
 
 #include "B3Common.h"
-#include "B3Compilation.h"
+#include "JITCompilation.h"
 
 namespace JSC {
 

Modified: trunk/Source/_javascript_Core/b3/B3DataSection.h (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3DataSection.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3DataSection.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -27,7 +27,7 @@
 
 #if ENABLE(B3_JIT)
 
-#include "B3OpaqueByproduct.h"
+#include "JITOpaqueByproduct.h"
 
 namespace JSC { namespace B3 {
 

Deleted: trunk/Source/_javascript_Core/b3/B3OpaqueByproduct.h (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3OpaqueByproduct.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3OpaqueByproduct.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#pragma once
-
-#if ENABLE(B3_JIT)
-
-#include <wtf/FastMalloc.h>
-#include <wtf/Noncopyable.h>
-#include <wtf/PrintStream.h>
-
-namespace JSC { namespace B3 {
-
-class OpaqueByproduct {
-    WTF_MAKE_NONCOPYABLE(OpaqueByproduct);
-    WTF_MAKE_FAST_ALLOCATED;
-public:
-    OpaqueByproduct() { }
-    virtual ~OpaqueByproduct() { }
-
-    virtual void dump(PrintStream&) const = 0;
-};
-
-} } // namespace JSC::B3
-
-#endif // ENABLE(B3_JIT)

Deleted: trunk/Source/_javascript_Core/b3/B3OpaqueByproducts.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3OpaqueByproducts.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3OpaqueByproducts.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#include "config.h"
-#include "B3OpaqueByproducts.h"
-
-#if ENABLE(B3_JIT)
-
-namespace JSC { namespace B3 {
-
-OpaqueByproducts::OpaqueByproducts()
-{
-}
-
-OpaqueByproducts::~OpaqueByproducts()
-{
-}
-
-void OpaqueByproducts::add(std::unique_ptr<OpaqueByproduct> byproduct)
-{
-    m_byproducts.append(WTFMove(byproduct));
-}
-
-void OpaqueByproducts::dump(PrintStream& out) const
-{
-    out.print("Byproducts:\n");
-    if (m_byproducts.isEmpty()) {
-        out.print("    <empty>\n");
-        return;
-    }
-    for (auto& byproduct : m_byproducts)
-        out.print("    ", *byproduct, "\n");
-}
-
-} } // namespace JSC::B3
-
-#endif // ENABLE(B3_JIT)
-

Deleted: trunk/Source/_javascript_Core/b3/B3OpaqueByproducts.h (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3OpaqueByproducts.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3OpaqueByproducts.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2015-2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#pragma once
-
-#if ENABLE(B3_JIT)
-
-#include "B3OpaqueByproduct.h"
-#include <memory>
-#include <wtf/Vector.h>
-
-namespace JSC { namespace B3 {
-
-class OpaqueByproducts {
-    WTF_MAKE_NONCOPYABLE(OpaqueByproducts)
-    WTF_MAKE_FAST_ALLOCATED;
-public:
-    OpaqueByproducts();
-    JS_EXPORT_PRIVATE ~OpaqueByproducts();
-
-    size_t count() const { return m_byproducts.size(); }
-    
-    void add(std::unique_ptr<OpaqueByproduct>);
-
-    void dump(PrintStream&) const;
-
-private:
-    Vector<std::unique_ptr<OpaqueByproduct>> m_byproducts;
-};
-
-} } // namespace JSC::B3
-
-#endif // ENABLE(B3_JIT)

Modified: trunk/Source/_javascript_Core/b3/B3Procedure.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3Procedure.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3Procedure.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -36,11 +36,11 @@
 #include "B3DataSection.h"
 #include "B3Dominators.h"
 #include "B3NaturalLoops.h"
-#include "B3OpaqueByproducts.h"
 #include "B3ProcedureInlines.h"
 #include "B3StackSlot.h"
 #include "B3ValueInlines.h"
 #include "B3Variable.h"
+#include "JITOpaqueByproducts.h"
 
 namespace JSC { namespace B3 {
 

Modified: trunk/Source/_javascript_Core/b3/B3Procedure.h (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/B3Procedure.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/B3Procedure.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -27,12 +27,12 @@
 
 #if ENABLE(B3_JIT)
 
-#include "B3OpaqueByproducts.h"
 #include "B3Origin.h"
 #include "B3PCToOriginMap.h"
 #include "B3SparseCollection.h"
 #include "B3Type.h"
 #include "B3ValueKey.h"
+#include "JITOpaqueByproducts.h"
 #include "PureNaN.h"
 #include "RegisterAtOffsetList.h"
 #include <wtf/Bag.h>
@@ -231,7 +231,7 @@
     // You have to call this method after calling generate(). The code generated by B3::generate()
     // will require you to keep this object alive for as long as that code is runnable. Usually, this
     // just keeps alive things like the double constant pool and switch lookup tables. If this sounds
-    // confusing, you should probably be using the B3::Compilation API to compile code. If you use
+    // confusing, you should probably be using the JSC::Compilation API to compile code. If you use
     // that API, then you don't have to worry about this.
     std::unique_ptr<OpaqueByproducts> releaseByproducts() { return WTFMove(m_byproducts); }
 

Modified: trunk/Source/_javascript_Core/b3/air/testair.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/air/testair.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/air/testair.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -30,13 +30,13 @@
 #include "AirSpecial.h"
 #include "AllowMacroScratchRegisterUsage.h"
 #include "B3BasicBlockInlines.h"
-#include "B3Compilation.h"
-#include "B3Procedure.h"
 #include "B3PatchpointSpecial.h"
 #include "B3PatchpointValue.h"
+#include "B3Procedure.h"
 #include "B3StackmapGenerationParams.h"
 #include "CCallHelpers.h"
 #include "InitializeThreading.h"
+#include "JITCompilation.h"
 #include "LinkBuffer.h"
 #include "ProbeContext.h"
 #include "PureNaN.h"
@@ -85,7 +85,7 @@
         CRASH();                                                        \
     } while (false)
 
-std::unique_ptr<B3::Compilation> compile(B3::Procedure& proc)
+std::unique_ptr<Compilation> compile(B3::Procedure& proc)
 {
     prepareForGeneration(proc.code());
     CCallHelpers jit;
@@ -92,14 +92,14 @@
     generate(proc.code(), jit);
     LinkBuffer linkBuffer(jit, nullptr);
 
-    return makeUnique<B3::Compilation>(
-        FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "testair compilation"), proc.releaseByproducts());
+    return makeUnique<Compilation>(
+        FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "testair compilation"), proc.releaseByproducts());
 }
 
 template<typename T, typename... Arguments>
-T invoke(const B3::Compilation& code, Arguments... arguments)
+T invoke(const Compilation& code, Arguments... arguments)
 {
-    void* executableAddress = untagCFunctionPtr<B3CompilationPtrTag>(code.code().executableAddress());
+    void* executableAddress = untagCFunctionPtr<JITCompilationPtrTag>(code.code().executableAddress());
     T (*function)(Arguments...) = bitwise_cast<T(*)(Arguments...)>(executableAddress);
     return function(arguments...);
 }

Modified: trunk/Source/_javascript_Core/b3/testb3.h (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/testb3.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/testb3.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -34,7 +34,6 @@
 #include "B3BasicBlockInlines.h"
 #include "B3BreakCriticalEdges.h"
 #include "B3CCallValue.h"
-#include "B3Compilation.h"
 #include "B3Compile.h"
 #include "B3ComputeDivisionMagic.h"
 #include "B3Const32Value.h"
@@ -67,6 +66,7 @@
 #include "FPRInfo.h"
 #include "GPRInfo.h"
 #include "InitializeThreading.h"
+#include "JITCompilation.h"
 #include "JSCInlines.h"
 #include "LinkBuffer.h"
 #include "PureNaN.h"
@@ -196,9 +196,9 @@
 }
 
 template<typename T, typename... Arguments>
-T invoke(MacroAssemblerCodePtr<B3CompilationPtrTag> ptr, Arguments... arguments)
+T invoke(MacroAssemblerCodePtr<JITCompilationPtrTag> ptr, Arguments... arguments)
 {
-    void* executableAddress = untagCFunctionPtr<B3CompilationPtrTag>(ptr.executableAddress());
+    void* executableAddress = untagCFunctionPtr<JITCompilationPtrTag>(ptr.executableAddress());
     T (*function)(Arguments...) = bitwise_cast<T(*)(Arguments...)>(executableAddress);
     return function(arguments...);
 }

Modified: trunk/Source/_javascript_Core/b3/testb3_6.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/b3/testb3_6.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/b3/testb3_6.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -1674,19 +1674,19 @@
             AllowMacroScratchRegisterUsage allowScratch(jit);
             Vector<Box<CCallHelpers::Label>> labels = params.successorLabels();
 
-            MacroAssemblerCodePtr<B3CompilationPtrTag>* jumpTable = bitwise_cast<MacroAssemblerCodePtr<B3CompilationPtrTag>*>(
-                params.proc().addDataSection(sizeof(MacroAssemblerCodePtr<B3CompilationPtrTag>) * labels.size()));
+            MacroAssemblerCodePtr<JITCompilationPtrTag>* jumpTable = bitwise_cast<MacroAssemblerCodePtr<JITCompilationPtrTag>*>(
+                params.proc().addDataSection(sizeof(MacroAssemblerCodePtr<JITCompilationPtrTag>) * labels.size()));
 
             GPRReg scratch = params.gpScratch(0);
 
             jit.move(CCallHelpers::TrustedImmPtr(jumpTable), scratch);
             jit.load64(CCallHelpers::BaseIndex(scratch, params[0].gpr(), CCallHelpers::ScalePtr), scratch);
-            jit.farJump(scratch, B3CompilationPtrTag);
+            jit.farJump(scratch, JITCompilationPtrTag);
 
             jit.addLinkTask(
                 [&, jumpTable, labels] (LinkBuffer& linkBuffer) {
                     for (unsigned i = labels.size(); i--;)
-                        jumpTable[i] = linkBuffer.locationOf<B3CompilationPtrTag>(*labels[i]);
+                        jumpTable[i] = linkBuffer.locationOf<JITCompilationPtrTag>(*labels[i]);
                 });
         });
 
@@ -1937,11 +1937,11 @@
     CCallHelpers jit;
     generate(proc, jit);
     LinkBuffer linkBuffer(jit, nullptr);
-    CodeLocationLabel<B3CompilationPtrTag> labelOne = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(0));
-    CodeLocationLabel<B3CompilationPtrTag> labelTwo = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(1));
-    CodeLocationLabel<B3CompilationPtrTag> labelThree = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(2));
+    CodeLocationLabel<JITCompilationPtrTag> labelOne = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(0));
+    CodeLocationLabel<JITCompilationPtrTag> labelTwo = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(1));
+    CodeLocationLabel<JITCompilationPtrTag> labelThree = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(2));
 
-    MacroAssemblerCodeRef<B3CompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "testb3 compilation");
+    MacroAssemblerCodeRef<JITCompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "testb3 compilation");
 
     CHECK(invoke<int>(labelOne, 1, 2) == 3);
     CHECK(invoke<int>(labelTwo, 1, 2) == -1);
@@ -1970,11 +1970,11 @@
     CCallHelpers jit;
     generate(proc, jit);
     LinkBuffer linkBuffer(jit, nullptr);
-    CodeLocationLabel<B3CompilationPtrTag> labelOne = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(0));
-    CodeLocationLabel<B3CompilationPtrTag> labelTwo = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(1));
-    CodeLocationLabel<B3CompilationPtrTag> labelThree = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(2));
+    CodeLocationLabel<JITCompilationPtrTag> labelOne = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(0));
+    CodeLocationLabel<JITCompilationPtrTag> labelTwo = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(1));
+    CodeLocationLabel<JITCompilationPtrTag> labelThree = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(2));
 
-    MacroAssemblerCodeRef<B3CompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "testb3 compilation");
+    MacroAssemblerCodeRef<JITCompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "testb3 compilation");
 
     CHECK_EQ(invoke<int>(labelOne, 1, 2), 3);
     CHECK_EQ(invoke<int>(labelTwo, 1, 2), 3);
@@ -2057,11 +2057,11 @@
     CCallHelpers jit;
     generate(proc, jit);
     LinkBuffer linkBuffer(jit, nullptr);
-    CodeLocationLabel<B3CompilationPtrTag> labelOne = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(0));
-    CodeLocationLabel<B3CompilationPtrTag> labelTwo = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(1));
-    CodeLocationLabel<B3CompilationPtrTag> labelThree = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(2));
+    CodeLocationLabel<JITCompilationPtrTag> labelOne = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(0));
+    CodeLocationLabel<JITCompilationPtrTag> labelTwo = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(1));
+    CodeLocationLabel<JITCompilationPtrTag> labelThree = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(2));
 
-    MacroAssemblerCodeRef<B3CompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "testb3 compilation");
+    MacroAssemblerCodeRef<JITCompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "testb3 compilation");
 
     CHECK_EQ(invoke<int>(labelOne, 1, 2, 10), 3);
     CHECK_EQ(invoke<int>(labelTwo, 1, 2, 10), -1);
@@ -2174,11 +2174,11 @@
     CCallHelpers jit;
     generate(proc, jit);
     LinkBuffer linkBuffer(jit, nullptr);
-    CodeLocationLabel<B3CompilationPtrTag> labelOne = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(0));
-    CodeLocationLabel<B3CompilationPtrTag> labelTwo = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(1));
-    CodeLocationLabel<B3CompilationPtrTag> labelThree = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(2));
+    CodeLocationLabel<JITCompilationPtrTag> labelOne = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(0));
+    CodeLocationLabel<JITCompilationPtrTag> labelTwo = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(1));
+    CodeLocationLabel<JITCompilationPtrTag> labelThree = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(2));
 
-    MacroAssemblerCodeRef<B3CompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "testb3 compilation");
+    MacroAssemblerCodeRef<JITCompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "testb3 compilation");
 
     CHECK_EQ(invoke<int>(labelOne, 1, 2, 10, false), 3);
     CHECK_EQ(invoke<int>(labelTwo, 1, 2, 10, false), -1);
@@ -2252,10 +2252,10 @@
     CCallHelpers jit;
     generate(proc, jit);
     LinkBuffer linkBuffer(jit, nullptr);
-    CodeLocationLabel<B3CompilationPtrTag> labelOne = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(0));
-    CodeLocationLabel<B3CompilationPtrTag> labelTwo = linkBuffer.locationOf<B3CompilationPtrTag>(proc.code().entrypointLabel(1));
+    CodeLocationLabel<JITCompilationPtrTag> labelOne = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(0));
+    CodeLocationLabel<JITCompilationPtrTag> labelTwo = linkBuffer.locationOf<JITCompilationPtrTag>(proc.code().entrypointLabel(1));
 
-    MacroAssemblerCodeRef<B3CompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "testb3 compilation");
+    MacroAssemblerCodeRef<JITCompilationPtrTag> codeRef = FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "testb3 compilation");
 
     CHECK(invoke<int>(labelOne, 0) == 1);
     CHECK(invoke<int>(labelOne, 42) == 43);

Modified: trunk/Source/_javascript_Core/ftl/FTLJITCode.h (271593 => 271594)


--- trunk/Source/_javascript_Core/ftl/FTLJITCode.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/ftl/FTLJITCode.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -27,11 +27,11 @@
 
 #if ENABLE(FTL_JIT)
 
-#include "B3OpaqueByproducts.h"
 #include "DFGCommonData.h"
 #include "FTLLazySlowPath.h"
 #include "FTLOSRExit.h"
 #include "JITCode.h"
+#include "JITOpaqueByproducts.h"
 
 namespace JSC {
 
@@ -52,7 +52,7 @@
     bool contains(void*) override;
 
     void initializeB3Code(CodeRef<JSEntryPtrTag>);
-    void initializeB3Byproducts(std::unique_ptr<B3::OpaqueByproducts>);
+    void initializeB3Byproducts(std::unique_ptr<OpaqueByproducts>);
     void initializeAddressForCall(CodePtr<JSEntryPtrTag>);
     void initializeArityCheckEntrypoint(CodeRef<JSEntryPtrTag>);
     
@@ -77,7 +77,7 @@
 private:
     CodePtr<JSEntryPtrTag> m_addressForCall;
     CodeRef<JSEntryPtrTag> m_b3Code;
-    std::unique_ptr<B3::OpaqueByproducts> m_b3Byproducts;
+    std::unique_ptr<OpaqueByproducts> m_b3Byproducts;
     CodeRef<JSEntryPtrTag> m_arityCheckEntrypoint;
 };
 

Modified: trunk/Source/_javascript_Core/ftl/FTLOutput.h (271593 => 271594)


--- trunk/Source/_javascript_Core/ftl/FTLOutput.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/ftl/FTLOutput.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -31,7 +31,6 @@
 
 #include "B3BasicBlockInlines.h"
 #include "B3CCallValue.h"
-#include "B3Compilation.h"
 #include "B3FrequentedBlock.h"
 #include "B3Procedure.h"
 #include "B3SwitchValue.h"
@@ -47,6 +46,7 @@
 #include "FTLWeight.h"
 #include "FTLWeightedTarget.h"
 #include "HeapCell.h"
+#include "JITCompilation.h"
 #include <wtf/OrderMaker.h>
 #include <wtf/StringPrintStream.h>
 

Copied: trunk/Source/_javascript_Core/jit/JITCompilation.cpp (from rev 271593, trunk/Source/_javascript_Core/b3/B3Compilation.cpp) (0 => 271594)


--- trunk/Source/_javascript_Core/jit/JITCompilation.cpp	                        (rev 0)
+++ trunk/Source/_javascript_Core/jit/JITCompilation.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2015-2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "config.h"
+#include "JITCompilation.h"
+
+#if ENABLE(JIT)
+
+#include "JITOpaqueByproducts.h"
+
+namespace JSC {
+
+Compilation::Compilation(MacroAssemblerCodeRef<JITCompilationPtrTag> codeRef, std::unique_ptr<OpaqueByproducts> byproducts)
+    : m_codeRef(codeRef)
+    , m_byproducts(WTFMove(byproducts))
+{
+}
+
+Compilation::Compilation(Compilation&& other)
+    : m_codeRef(WTFMove(other.m_codeRef))
+    , m_byproducts(WTFMove(other.m_byproducts))
+{
+}
+
+Compilation::~Compilation()
+{
+}
+
+} // namespace JSC
+
+#endif // ENABLE(JIT)
+

Copied: trunk/Source/_javascript_Core/jit/JITCompilation.h (from rev 271593, trunk/Source/_javascript_Core/b3/B3Compilation.h) (0 => 271594)


--- trunk/Source/_javascript_Core/jit/JITCompilation.h	                        (rev 0)
+++ trunk/Source/_javascript_Core/jit/JITCompilation.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2015-2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#pragma once
+
+#if ENABLE(JIT)
+
+#include "MacroAssemblerCodeRef.h"
+#include <wtf/FastMalloc.h>
+#include <wtf/Noncopyable.h>
+
+namespace JSC {
+
+class VM;
+
+class OpaqueByproducts;
+
+// This class is a way to keep the result of a compilation alive and runnable.
+
+class Compilation {
+    WTF_MAKE_NONCOPYABLE(Compilation);
+    WTF_MAKE_FAST_ALLOCATED;
+
+public:
+    JS_EXPORT_PRIVATE Compilation(MacroAssemblerCodeRef<JITCompilationPtrTag>, std::unique_ptr<OpaqueByproducts>);
+    JS_EXPORT_PRIVATE Compilation(Compilation&&);
+    JS_EXPORT_PRIVATE ~Compilation();
+
+    MacroAssemblerCodePtr<JITCompilationPtrTag> code() const { return m_codeRef.code(); }
+    MacroAssemblerCodeRef<JITCompilationPtrTag> codeRef() const { return m_codeRef; }
+    
+    CString disassembly() const { return m_codeRef.disassembly(); }
+
+private:
+    MacroAssemblerCodeRef<JITCompilationPtrTag> m_codeRef;
+    std::unique_ptr<OpaqueByproducts> m_byproducts;
+};
+
+} // namespace JSC
+
+#endif // ENABLE(JIT)

Copied: trunk/Source/_javascript_Core/jit/JITOpaqueByproduct.h (from rev 271593, trunk/Source/_javascript_Core/b3/B3OpaqueByproduct.h) (0 => 271594)


--- trunk/Source/_javascript_Core/jit/JITOpaqueByproduct.h	                        (rev 0)
+++ trunk/Source/_javascript_Core/jit/JITOpaqueByproduct.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#pragma once
+
+#if ENABLE(JIT)
+
+#include <wtf/FastMalloc.h>
+#include <wtf/Noncopyable.h>
+#include <wtf/PrintStream.h>
+
+namespace JSC {
+
+class OpaqueByproduct {
+    WTF_MAKE_NONCOPYABLE(OpaqueByproduct);
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    OpaqueByproduct() { }
+    virtual ~OpaqueByproduct() { }
+
+    virtual void dump(PrintStream&) const = 0;
+};
+
+} // namespace JSC
+
+#endif // ENABLE(JIT)

Copied: trunk/Source/_javascript_Core/jit/JITOpaqueByproducts.cpp (from rev 271593, trunk/Source/_javascript_Core/b3/B3OpaqueByproducts.cpp) (0 => 271594)


--- trunk/Source/_javascript_Core/jit/JITOpaqueByproducts.cpp	                        (rev 0)
+++ trunk/Source/_javascript_Core/jit/JITOpaqueByproducts.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "config.h"
+#include "JITOpaqueByproducts.h"
+
+#if ENABLE(JIT)
+
+namespace JSC {
+
+OpaqueByproducts::OpaqueByproducts()
+{
+}
+
+OpaqueByproducts::~OpaqueByproducts()
+{
+}
+
+void OpaqueByproducts::add(std::unique_ptr<OpaqueByproduct> byproduct)
+{
+    m_byproducts.append(WTFMove(byproduct));
+}
+
+void OpaqueByproducts::dump(PrintStream& out) const
+{
+    out.print("Byproducts:\n");
+    if (m_byproducts.isEmpty()) {
+        out.print("    <empty>\n");
+        return;
+    }
+    for (auto& byproduct : m_byproducts)
+        out.print("    ", *byproduct, "\n");
+}
+
+} // namespace JSC
+
+#endif // ENABLE(JIT)
+

Copied: trunk/Source/_javascript_Core/jit/JITOpaqueByproducts.h (from rev 271593, trunk/Source/_javascript_Core/b3/B3OpaqueByproducts.h) (0 => 271594)


--- trunk/Source/_javascript_Core/jit/JITOpaqueByproducts.h	                        (rev 0)
+++ trunk/Source/_javascript_Core/jit/JITOpaqueByproducts.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2015-2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#pragma once
+
+#if ENABLE(JIT)
+
+#include "JITOpaqueByproduct.h"
+#include <memory>
+#include <wtf/Vector.h>
+
+namespace JSC {
+
+class OpaqueByproducts {
+    WTF_MAKE_NONCOPYABLE(OpaqueByproducts)
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    OpaqueByproducts();
+    JS_EXPORT_PRIVATE ~OpaqueByproducts();
+
+    size_t count() const { return m_byproducts.size(); }
+    
+    void add(std::unique_ptr<OpaqueByproduct>);
+
+    void dump(PrintStream&) const;
+
+private:
+    Vector<std::unique_ptr<OpaqueByproduct>> m_byproducts;
+};
+
+} // namespace JSC
+
+#endif // ENABLE(JIT)

Modified: trunk/Source/_javascript_Core/runtime/JSCPtrTag.h (271593 => 271594)


--- trunk/Source/_javascript_Core/runtime/JSCPtrTag.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/runtime/JSCPtrTag.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -44,7 +44,7 @@
     v(DOMJITFunctionPtrTag, PtrTagCalleeType::Native, PtrTagCallerType::None) \
     v(DisassemblyPtrTag, PtrTagCalleeType::Native, PtrTagCallerType::None) \
     /* Callee:JIT Caller:None */ \
-    v(B3CompilationPtrTag, PtrTagCalleeType::JIT, PtrTagCallerType::None) \
+    v(JITCompilationPtrTag, PtrTagCalleeType::JIT, PtrTagCallerType::None) \
     v(ExecutableMemoryPtrTag, PtrTagCalleeType::JIT, PtrTagCallerType::None) \
     v(LinkBufferPtrTag, PtrTagCalleeType::JIT, PtrTagCallerType::None) \
     v(Yarr8BitPtrTag, PtrTagCalleeType::JIT, PtrTagCallerType::None) \

Modified: trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -28,9 +28,9 @@
 #if ENABLE(WEBASSEMBLY)
 
 #include "B3Common.h"
-#include "B3Compilation.h"
-#include "B3OpaqueByproducts.h"
 #include "CCallHelpers.h"
+#include "JITCompilation.h"
+#include "JITOpaqueByproducts.h"
 #include "WasmCompilationMode.h"
 #include "WasmEmbedder.h"
 #include "WasmMemory.h"
@@ -47,7 +47,7 @@
 struct CompilationContext {
     std::unique_ptr<CCallHelpers> embedderEntrypointJIT;
     std::unique_ptr<CCallHelpers> wasmEntrypointJIT;
-    std::unique_ptr<B3::OpaqueByproducts> wasmEntrypointByproducts;
+    std::unique_ptr<OpaqueByproducts> wasmEntrypointByproducts;
 };
 
 Expected<std::unique_ptr<InternalFunction>, String> parseAndCompile(CompilationContext&, const FunctionData&, const Signature&, Vector<UnlinkedWasmToWasmCall>&, unsigned& osrEntryScratchBufferSize, const ModuleInformation&, MemoryMode, CompilationMode, uint32_t functionIndex, uint32_t loopIndexForOSREntry, TierUpCount* = nullptr);

Modified: trunk/Source/_javascript_Core/wasm/WasmBBQPlan.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmBBQPlan.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmBBQPlan.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -28,7 +28,7 @@
 
 #if ENABLE(WEBASSEMBLY)
 
-#include "B3Compilation.h"
+#include "JITCompilation.h"
 #include "JSToWasm.h"
 #include "LinkBuffer.h"
 #include "WasmAirIRGenerator.h"
@@ -110,8 +110,8 @@
     size_t functionIndexSpace = m_functionIndex + m_moduleInformation->importFunctionCount();
     SignatureIndex signatureIndex = m_moduleInformation->internalFunctionSignatureIndices[m_functionIndex];
     const Signature& signature = SignatureInformation::get(signatureIndex);
-    function->entrypoint.compilation = makeUnique<B3::Compilation>(
-        FINALIZE_WASM_CODE_FOR_MODE(CompilationMode::BBQMode, linkBuffer, B3CompilationPtrTag, "WebAssembly BBQ function[%i] %s name %s", m_functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
+    function->entrypoint.compilation = makeUnique<Compilation>(
+        FINALIZE_WASM_CODE_FOR_MODE(CompilationMode::BBQMode, linkBuffer, JITCompilationPtrTag, "WebAssembly BBQ function[%i] %s name %s", m_functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
         WTFMove(context.wasmEntrypointByproducts));
 
     MacroAssemblerCodePtr<WasmEntryPtrTag> entrypoint;
@@ -226,8 +226,8 @@
                 return;
             }
 
-            m_wasmInternalFunctions[functionIndex]->entrypoint.compilation = makeUnique<B3::Compilation>(
-                FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "WebAssembly BBQ function[%i] %s name %s", functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
+            m_wasmInternalFunctions[functionIndex]->entrypoint.compilation = makeUnique<Compilation>(
+                FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "WebAssembly BBQ function[%i] %s name %s", functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
                 WTFMove(context.wasmEntrypointByproducts));
         }
 
@@ -238,8 +238,8 @@
                 return;
             }
 
-            embedderToWasmInternalFunction->entrypoint.compilation = makeUnique<B3::Compilation>(
-                FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "Embedder->WebAssembly entrypoint[%i] %s name %s", functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
+            embedderToWasmInternalFunction->entrypoint.compilation = makeUnique<Compilation>(
+                FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "Embedder->WebAssembly entrypoint[%i] %s name %s", functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
                 nullptr);
         }
     }

Modified: trunk/Source/_javascript_Core/wasm/WasmBinding.h (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmBinding.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmBinding.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -27,7 +27,7 @@
 
 #if ENABLE(WEBASSEMBLY)
 
-#include "B3Compilation.h"
+#include "JITCompilation.h"
 #include "WasmFormat.h"
 #include <wtf/Expected.h>
 

Modified: trunk/Source/_javascript_Core/wasm/WasmCallee.h (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmCallee.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmCallee.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -27,7 +27,7 @@
 
 #if ENABLE(WEBASSEMBLY)
 
-#include "B3Compilation.h"
+#include "JITCompilation.h"
 #include "RegisterAtOffsetList.h"
 #include "WasmCompilationMode.h"
 #include "WasmFormat.h"

Modified: trunk/Source/_javascript_Core/wasm/WasmFormat.h (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmFormat.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmFormat.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -46,9 +46,7 @@
 
 namespace JSC {
 
-namespace B3 {
 class Compilation;
-}
 
 namespace Wasm {
 
@@ -340,7 +338,7 @@
 
 struct Entrypoint {
     WTF_MAKE_STRUCT_FAST_ALLOCATED;
-    std::unique_ptr<B3::Compilation> compilation;
+    std::unique_ptr<Compilation> compilation;
     RegisterAtOffsetList calleeSaveRegisters;
 };
 

Modified: trunk/Source/_javascript_Core/wasm/WasmLLIntPlan.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmLLIntPlan.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmLLIntPlan.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -28,9 +28,9 @@
 
 #if ENABLE(WEBASSEMBLY)
 
-#include "B3Compilation.h"
 #include "BytecodeDumper.h"
 #include "CalleeBits.h"
+#include "JITCompilation.h"
 #include "JSToWasm.h"
 #include "LLIntThunks.h"
 #include "LinkBuffer.h"
@@ -130,7 +130,7 @@
             linkBuffer.link<JITThunkPtrTag>(jumps[i], CodeLocationLabel<JITThunkPtrTag>(LLInt::wasmFunctionEntryThunk().code()));
         }
 
-        m_entryThunks = FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "Wasm LLInt entry thunks");
+        m_entryThunks = FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "Wasm LLInt entry thunks");
         m_callees = m_calleesVector.data();
     }
 
@@ -152,8 +152,8 @@
                 return;
             }
 
-            function->entrypoint.compilation = makeUnique<B3::Compilation>(
-                FINALIZE_CODE(linkBuffer, B3CompilationPtrTag, "Embedder->WebAssembly entrypoint[%i] %s", functionIndex, signature.toString().ascii().data()),
+            function->entrypoint.compilation = makeUnique<Compilation>(
+                FINALIZE_CODE(linkBuffer, JITCompilationPtrTag, "Embedder->WebAssembly entrypoint[%i] %s", functionIndex, signature.toString().ascii().data()),
                 nullptr);
 
             Ref<EmbedderEntrypointCallee> callee = EmbedderEntrypointCallee::create(WTFMove(function->entrypoint));

Modified: trunk/Source/_javascript_Core/wasm/WasmLLIntPlan.h (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmLLIntPlan.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmLLIntPlan.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -48,7 +48,7 @@
     JS_EXPORT_PRIVATE LLIntPlan(Context*, Vector<uint8_t>&&, AsyncWork, CompletionTask&&);
     LLIntPlan(Context*, Ref<ModuleInformation>, const Ref<LLIntCallee>*, CompletionTask&&);
 
-    MacroAssemblerCodeRef<B3CompilationPtrTag>&& takeEntryThunks()
+    MacroAssemblerCodeRef<JITCompilationPtrTag>&& takeEntryThunks()
     {
         RELEASE_ASSERT(!failed() && !hasWork());
         return WTFMove(m_entryThunks);
@@ -84,7 +84,7 @@
     const Ref<LLIntCallee>* m_callees { nullptr };
     Vector<Ref<LLIntCallee>> m_calleesVector;
     EmbedderEntrypointCalleeMap m_embedderCallees;
-    MacroAssemblerCodeRef<B3CompilationPtrTag> m_entryThunks;
+    MacroAssemblerCodeRef<JITCompilationPtrTag> m_entryThunks;
 };
 
 

Modified: trunk/Source/_javascript_Core/wasm/WasmModule.h (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmModule.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmModule.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -73,7 +73,7 @@
     Ref<ModuleInformation> m_moduleInformation;
     RefPtr<CodeBlock> m_codeBlocks[Wasm::NumberOfMemoryModes];
     RefPtr<LLIntCallees> m_llintCallees;
-    MacroAssemblerCodeRef<B3CompilationPtrTag> m_llintEntryThunks;
+    MacroAssemblerCodeRef<JITCompilationPtrTag> m_llintEntryThunks;
     Lock m_lock;
 };
 

Modified: trunk/Source/_javascript_Core/wasm/WasmOMGForOSREntryPlan.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmOMGForOSREntryPlan.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmOMGForOSREntryPlan.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -28,7 +28,7 @@
 
 #if ENABLE(WEBASSEMBLY)
 
-#include "B3Compilation.h"
+#include "JITCompilation.h"
 #include "LinkBuffer.h"
 #include "WasmB3IRGenerator.h"
 #include "WasmCallee.h"
@@ -89,8 +89,8 @@
         return;
     }
 
-    omgEntrypoint.compilation = makeUnique<B3::Compilation>(
-        FINALIZE_WASM_CODE_FOR_MODE(CompilationMode::OMGForOSREntryMode, linkBuffer, B3CompilationPtrTag, "WebAssembly OMGForOSREntry function[%i] %s name %s", m_functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
+    omgEntrypoint.compilation = makeUnique<Compilation>(
+        FINALIZE_WASM_CODE_FOR_MODE(CompilationMode::OMGForOSREntryMode, linkBuffer, JITCompilationPtrTag, "WebAssembly OMGForOSREntry function[%i] %s name %s", m_functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
         WTFMove(context.wasmEntrypointByproducts));
 
     omgEntrypoint.calleeSaveRegisters = WTFMove(parseAndCompileResult.value()->entrypoint.calleeSaveRegisters);

Modified: trunk/Source/_javascript_Core/wasm/WasmOMGPlan.cpp (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmOMGPlan.cpp	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmOMGPlan.cpp	2021-01-19 00:24:52 UTC (rev 271594)
@@ -28,7 +28,7 @@
 
 #if ENABLE(WEBASSEMBLY)
 
-#include "B3Compilation.h"
+#include "JITCompilation.h"
 #include "LinkBuffer.h"
 #include "WasmB3IRGenerator.h"
 #include "WasmCallee.h"
@@ -86,8 +86,8 @@
         return;
     }
 
-    omgEntrypoint.compilation = makeUnique<B3::Compilation>(
-        FINALIZE_WASM_CODE_FOR_MODE(CompilationMode::OMGMode, linkBuffer, B3CompilationPtrTag, "WebAssembly OMG function[%i] %s name %s", m_functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
+    omgEntrypoint.compilation = makeUnique<Compilation>(
+        FINALIZE_WASM_CODE_FOR_MODE(CompilationMode::OMGMode, linkBuffer, JITCompilationPtrTag, "WebAssembly OMG function[%i] %s name %s", m_functionIndex, signature.toString().ascii().data(), makeString(IndexOrName(functionIndexSpace, m_moduleInformation->nameSection->get(functionIndexSpace))).ascii().data()),
         WTFMove(context.wasmEntrypointByproducts));
 
     omgEntrypoint.calleeSaveRegisters = WTFMove(parseAndCompileResult.value()->entrypoint.calleeSaveRegisters);

Modified: trunk/Source/_javascript_Core/wasm/WasmParser.h (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/WasmParser.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/WasmParser.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -27,8 +27,8 @@
 
 #if ENABLE(WEBASSEMBLY)
 
-#include "B3Compilation.h"
 #include "B3Procedure.h"
+#include "JITCompilation.h"
 #include "VirtualRegister.h"
 #include "WasmFormat.h"
 #include "WasmLimits.h"

Modified: trunk/Source/_javascript_Core/wasm/js/WasmToJS.h (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/js/WasmToJS.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/js/WasmToJS.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -27,7 +27,7 @@
 
 #if ENABLE(WEBASSEMBLY)
 
-#include "B3Compilation.h"
+#include "JITCompilation.h"
 #include "WasmBinding.h"
 #include "WasmEmbedder.h"
 #include <wtf/Bag.h>

Modified: trunk/Source/_javascript_Core/wasm/js/WebAssemblyFunction.h (271593 => 271594)


--- trunk/Source/_javascript_Core/wasm/js/WebAssemblyFunction.h	2021-01-19 00:14:11 UTC (rev 271593)
+++ trunk/Source/_javascript_Core/wasm/js/WebAssemblyFunction.h	2021-01-19 00:24:52 UTC (rev 271594)
@@ -41,10 +41,6 @@
 class WebAssemblyInstance;
 using Wasm::WasmToWasmImportableFunction;
 
-namespace B3 {
-class Compilation;
-}
-
 class WebAssemblyFunction final : public WebAssemblyFunctionBase {
 public:
     using Base = WebAssemblyFunctionBase;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to