forked from mirrors/gecko-dev
Bug 1732147 - Bump jsparagus for bug 1718635 and bug 1718952. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D126475
This commit is contained in:
parent
25781a327c
commit
7a9c20f9af
15 changed files with 451 additions and 442 deletions
|
|
@ -45,7 +45,7 @@ rev = "8a576fbe79199fa8664f64285524017f74ebcc5f"
|
|||
[source."https://github.com/mozilla-spidermonkey/jsparagus"]
|
||||
git = "https://github.com/mozilla-spidermonkey/jsparagus"
|
||||
replace-with = "vendored-sources"
|
||||
rev = "6c97434b6586fc234fdba0494f4ddd004b9578de"
|
||||
rev = "ecc433935118a4ff22d33c4fe7c625a5d0bfb571"
|
||||
|
||||
[source."https://github.com/kvark/dummy-web"]
|
||||
git = "https://github.com/kvark/dummy-web"
|
||||
|
|
|
|||
16
Cargo.lock
generated
16
Cargo.lock
generated
|
|
@ -2483,7 +2483,7 @@ source = "git+https://github.com/kvark/dummy-web#5731e569d865a1ebaf116f48dad781f
|
|||
[[package]]
|
||||
name = "jsparagus"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=6c97434b6586fc234fdba0494f4ddd004b9578de#6c97434b6586fc234fdba0494f4ddd004b9578de"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ecc433935118a4ff22d33c4fe7c625a5d0bfb571#ecc433935118a4ff22d33c4fe7c625a5d0bfb571"
|
||||
dependencies = [
|
||||
"jsparagus-ast",
|
||||
"jsparagus-emitter",
|
||||
|
|
@ -2497,7 +2497,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-ast"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=6c97434b6586fc234fdba0494f4ddd004b9578de#6c97434b6586fc234fdba0494f4ddd004b9578de"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ecc433935118a4ff22d33c4fe7c625a5d0bfb571#ecc433935118a4ff22d33c4fe7c625a5d0bfb571"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"indexmap",
|
||||
|
|
@ -2506,7 +2506,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-emitter"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=6c97434b6586fc234fdba0494f4ddd004b9578de#6c97434b6586fc234fdba0494f4ddd004b9578de"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ecc433935118a4ff22d33c4fe7c625a5d0bfb571#ecc433935118a4ff22d33c4fe7c625a5d0bfb571"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"byteorder",
|
||||
|
|
@ -2519,7 +2519,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-generated-parser"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=6c97434b6586fc234fdba0494f4ddd004b9578de#6c97434b6586fc234fdba0494f4ddd004b9578de"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ecc433935118a4ff22d33c4fe7c625a5d0bfb571#ecc433935118a4ff22d33c4fe7c625a5d0bfb571"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"jsparagus-ast",
|
||||
|
|
@ -2529,12 +2529,12 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-json-log"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=6c97434b6586fc234fdba0494f4ddd004b9578de#6c97434b6586fc234fdba0494f4ddd004b9578de"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ecc433935118a4ff22d33c4fe7c625a5d0bfb571#ecc433935118a4ff22d33c4fe7c625a5d0bfb571"
|
||||
|
||||
[[package]]
|
||||
name = "jsparagus-parser"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=6c97434b6586fc234fdba0494f4ddd004b9578de#6c97434b6586fc234fdba0494f4ddd004b9578de"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ecc433935118a4ff22d33c4fe7c625a5d0bfb571#ecc433935118a4ff22d33c4fe7c625a5d0bfb571"
|
||||
dependencies = [
|
||||
"arrayvec 0.5.2",
|
||||
"bumpalo",
|
||||
|
|
@ -2546,7 +2546,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-scope"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=6c97434b6586fc234fdba0494f4ddd004b9578de#6c97434b6586fc234fdba0494f4ddd004b9578de"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ecc433935118a4ff22d33c4fe7c625a5d0bfb571#ecc433935118a4ff22d33c4fe7c625a5d0bfb571"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"jsparagus-ast",
|
||||
|
|
@ -2556,7 +2556,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-stencil"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=6c97434b6586fc234fdba0494f4ddd004b9578de#6c97434b6586fc234fdba0494f4ddd004b9578de"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ecc433935118a4ff22d33c4fe7c625a5d0bfb571#ecc433935118a4ff22d33c4fe7c625a5d0bfb571"
|
||||
dependencies = [
|
||||
"jsparagus-ast",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@ log = "0.4"
|
|||
# Disable regex feature for code size.
|
||||
env_logger = {version = "0.8", default-features = false}
|
||||
# For non-jsparagus developers.
|
||||
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "6c97434b6586fc234fdba0494f4ddd004b9578de" }
|
||||
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "ecc433935118a4ff22d33c4fe7c625a5d0bfb571" }
|
||||
# For local development, replace above with
|
||||
# jsparagus = { path = "{path to jsparagus}" }
|
||||
|
||||
[build-dependencies]
|
||||
# For non-jsparagus developers.
|
||||
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "6c97434b6586fc234fdba0494f4ddd004b9578de" }
|
||||
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "ecc433935118a4ff22d33c4fe7c625a5d0bfb571" }
|
||||
# For local development, replace above with
|
||||
# jsparagus = { path = "{path to jsparagus}" }
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"00c740f44b5681e3277e519d2e143e6edfbff186ca31a07ddce2eb46b803ddd7","src/array_emitter.rs":"bbc6528321f1d11d7c86c4f2bfdcfc9dced8f0b8b1c30c9f0a5355f300d196b6","src/ast_emitter.rs":"050858e25f6bab6787771058afe504c66e74e9026e9ce873160bccc6366eca47","src/block_emitter.rs":"78965260d87a66c5324d6f3bdfea0f1938f8037f70adde148dbb2db599d1b2c0","src/compilation_info.rs":"b0d91b0f8d6940cb7087b474c3c814b758c8ce8d9027c415b76ad4af78be6140","src/control_structures.rs":"b32fbfff53bd378dcb45d63620006bea15c2fec1e7bc0bb163567dfe086e4931","src/dis.rs":"4a335d813fa965482ca0f20a7b9295a55ce7625b577d42bd8b33b156b81c6306","src/emitter.rs":"9237b6dd09545427c0c2203e8e22ef12873242096fcec5200cb3acd2ff3b5627","src/emitter_scope.rs":"93c2b2a324ccb46b74adb2a28f56360a32652088e59c03641b4f1b608549dc78","src/expression_emitter.rs":"f8e02785dffb179bbe9fe58e45bbfccc08adc3ad0a071a0073bed0feedc8ed9a","src/function_declaration_emitter.rs":"0e6ae706ced215882f3a45b6e13f022ec1effa8edf1026b7ba7988810646982b","src/lib.rs":"e256eceee1eb7ea66fe855fcc3fa2fff187977f9adca2754872d13e9bb788536","src/object_emitter.rs":"998423b3d6ef8797fadef6763803627df72fde292b1b34d6a41b2e66a331a181","src/reference_op_emitter.rs":"c0c0ddde1613ab843dd3ee82744513bdd4f574432a06d5a88978e7ff1ce08273","src/script_emitter.rs":"150a3d6330f40099ad1df8c52cd1831e3ef0fd4eecf44a20e3fff7acef2dd640"},"package":null}
|
||||
{"files":{"Cargo.toml":"00c740f44b5681e3277e519d2e143e6edfbff186ca31a07ddce2eb46b803ddd7","src/array_emitter.rs":"bbc6528321f1d11d7c86c4f2bfdcfc9dced8f0b8b1c30c9f0a5355f300d196b6","src/ast_emitter.rs":"050858e25f6bab6787771058afe504c66e74e9026e9ce873160bccc6366eca47","src/block_emitter.rs":"78965260d87a66c5324d6f3bdfea0f1938f8037f70adde148dbb2db599d1b2c0","src/compilation_info.rs":"b0d91b0f8d6940cb7087b474c3c814b758c8ce8d9027c415b76ad4af78be6140","src/control_structures.rs":"b32fbfff53bd378dcb45d63620006bea15c2fec1e7bc0bb163567dfe086e4931","src/dis.rs":"4a335d813fa965482ca0f20a7b9295a55ce7625b577d42bd8b33b156b81c6306","src/emitter.rs":"3328ae31d749e6b36d8ff93d271c194500debcb2f49629f4d1c4f44970497481","src/emitter_scope.rs":"93c2b2a324ccb46b74adb2a28f56360a32652088e59c03641b4f1b608549dc78","src/expression_emitter.rs":"f8e02785dffb179bbe9fe58e45bbfccc08adc3ad0a071a0073bed0feedc8ed9a","src/function_declaration_emitter.rs":"0e6ae706ced215882f3a45b6e13f022ec1effa8edf1026b7ba7988810646982b","src/lib.rs":"f91576fb0f1e3cf444dd1d8ee25ee9bfd0b1e890e427a3863fdb6a4ad1611b61","src/object_emitter.rs":"998423b3d6ef8797fadef6763803627df72fde292b1b34d6a41b2e66a331a181","src/reference_op_emitter.rs":"e1507033c17318f59dbbdd1514d1bd1263f0c7d72530d0f2b2ab071d58b39f72","src/script_emitter.rs":"150a3d6330f40099ad1df8c52cd1831e3ef0fd4eecf44a20e3fff7acef2dd640"},"package":null}
|
||||
|
|
@ -503,6 +503,10 @@ impl InstructionWriter {
|
|||
self.emit_op(Opcode::GlobalThis);
|
||||
}
|
||||
|
||||
pub fn non_syntactic_global_this(&mut self) {
|
||||
self.emit_op(Opcode::NonSyntacticGlobalThis);
|
||||
}
|
||||
|
||||
pub fn new_target(&mut self) {
|
||||
self.emit_op(Opcode::NewTarget);
|
||||
}
|
||||
|
|
@ -832,11 +836,6 @@ impl InstructionWriter {
|
|||
self.write_g_c_thing_index(name_index);
|
||||
}
|
||||
|
||||
pub fn g_implicit_this(&mut self, name_index: GCThingIndex) {
|
||||
self.emit_op(Opcode::GImplicitThis);
|
||||
self.write_g_c_thing_index(name_index);
|
||||
}
|
||||
|
||||
pub fn call_site_obj(&mut self, object_index: GCThingIndex) {
|
||||
self.emit_op(Opcode::CallSiteObj);
|
||||
self.write_g_c_thing_index(object_index);
|
||||
|
|
|
|||
|
|
@ -137,11 +137,7 @@ mod tests {
|
|||
0,
|
||||
0,
|
||||
0,
|
||||
Opcode::GImplicitThis as u8,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
Opcode::Undefined as u8,
|
||||
Opcode::Call as u8,
|
||||
0,
|
||||
0,
|
||||
|
|
|
|||
|
|
@ -343,14 +343,22 @@ impl NameReferenceEmitter {
|
|||
emitter.emit.get_g_name(name_index);
|
||||
// [stack] CALLEE
|
||||
|
||||
emitter.emit.g_implicit_this(name_index);
|
||||
// NOTE: We don't support non-syntactic scope.
|
||||
// See NameOpEmitter::emitGet in SpiderMonkey for omitted
|
||||
// cases.
|
||||
|
||||
emitter.emit.undefined();
|
||||
// [stack] CALLEE THIS
|
||||
}
|
||||
NameLocation::Dynamic => {
|
||||
emitter.emit.get_name(name_index);
|
||||
// [stack] CALLEE
|
||||
|
||||
emitter.emit.g_implicit_this(name_index);
|
||||
// NOTE: We don't support non-syntactic scope or with statement.
|
||||
// See NameOpEmitter::emitGet in SpiderMonkey for omitted
|
||||
// cases.
|
||||
|
||||
emitter.emit.undefined();
|
||||
// [stack] CALLEE THIS
|
||||
}
|
||||
NameLocation::FrameSlot(slot, kind) => {
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"553be3c198fe555913bbeb7473b24e0e1fff12e48890a2e399b311df8a97c814","src/ast_builder.rs":"15eebf519763b94e7c11791a1a90b1f73ec00d447857e230232e1d45599e30e5","src/context_stack.rs":"29331d03cd4c8ee9283cb426ebe893b7ba6ad6d8a69016399c4d92a81cb1363b","src/declaration_kind.rs":"fdfda2fe408cce1c637d17fee0813160619450472c6de9befc36ebeed892cc3c","src/early_error_checker.rs":"89da86f7f78392cb60a909c240e430779eed0fc250b3b3c8466665eeaf2fbc25","src/early_errors.rs":"8674454af7ac5efe51eb6a8e2abe088aad5560e0a0bd88a3eae66c90f1527149","src/error.rs":"507e4dd9c66720f3da2db135c3024392d8aaac5ccdb90c7f7463ccb2eff7efa8","src/lib.rs":"b74105a84c4a141b880439f9ec724f7dc08224342be08a73490ac2c01410af08","src/parser_tables_generated.rs":"4167c62cde091c49a50383654010d23d07091fa3ebf2486e90d93d6d78e514dd","src/stack_value_generated.rs":"ce8567634ff2bb818593f56c0589b4ba2d508704db943eb0778d79dfd19cce36","src/token.rs":"479f4cb97d2e6bc654a70634f3809817cc73eaf749c845643beb3556b9ead383","src/traits/mod.rs":"ba74c71f7218027f8188247bc64df243117613fbc9893d40799402ef1e6dbf59"},"package":null}
|
||||
{"files":{"Cargo.toml":"553be3c198fe555913bbeb7473b24e0e1fff12e48890a2e399b311df8a97c814","src/ast_builder.rs":"15eebf519763b94e7c11791a1a90b1f73ec00d447857e230232e1d45599e30e5","src/context_stack.rs":"29331d03cd4c8ee9283cb426ebe893b7ba6ad6d8a69016399c4d92a81cb1363b","src/declaration_kind.rs":"fdfda2fe408cce1c637d17fee0813160619450472c6de9befc36ebeed892cc3c","src/early_error_checker.rs":"89da86f7f78392cb60a909c240e430779eed0fc250b3b3c8466665eeaf2fbc25","src/early_errors.rs":"8674454af7ac5efe51eb6a8e2abe088aad5560e0a0bd88a3eae66c90f1527149","src/error.rs":"507e4dd9c66720f3da2db135c3024392d8aaac5ccdb90c7f7463ccb2eff7efa8","src/lib.rs":"b74105a84c4a141b880439f9ec724f7dc08224342be08a73490ac2c01410af08","src/parser_tables_generated.rs":"0b2bd55a226cd952c115ac136e2927fadaaf81f473abe6e53793b6e5f3eb73dd","src/stack_value_generated.rs":"ce8567634ff2bb818593f56c0589b4ba2d508704db943eb0778d79dfd19cce36","src/token.rs":"479f4cb97d2e6bc654a70634f3809817cc73eaf749c845643beb3556b9ead383","src/traits/mod.rs":"ba74c71f7218027f8188247bc64df243117613fbc9893d40799402ef1e6dbf59"},"package":null}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"f5439990185662ab31de12c07ef0c842438e3207bdfecc4fa6a9e4d4bea8a0d3","src/bytecode_offset.rs":"2aa7ba8c3cfbbd832092e65b599ab1c5a28d784ccc65d9e351bba656421b9a69","src/copy/AsyncFunctionResolveKind.h":"3851ecbb4728257595dd6e900749d1d8e02558574c00424a7ff0e3ca007fa6ec","src/copy/BytecodeFormatFlags.h":"b549a105405a143cd9d856416689596ac6c2f2f92f4aea500c6ed4ea6e903ac1","src/copy/CheckIsObjectKind.h":"8f0e112396d966c9221a743d353f62671e04cdace7dd49a59898d94ba0f621b7","src/copy/FunctionFlags.h":"65c64d0d529b318e3048b643344a64d18de5775e91c8f53eb0d703603154a057","src/copy/FunctionPrefixKind.h":"f540a5c646a519b2d61aa27e4be865e08a31438def00ad5ba4ba2982ad1f2275","src/copy/GeneratorAndAsyncKind.h":"301668ce705970a51abfa94f89fd5db29ef5f129525110860e9e9bf7586ef187","src/copy/GeneratorResumeKind.h":"9e3cd9dc9c7f50937c6c45d73ec092dbfd92c4b56818ae6d1504bcd77078d0a6","src/copy/Opcodes.h":"d7c3d54bfad2539d2480eb1b2973e9c23a518e9d409092653c35dddbbde928fd","src/copy/SourceNotes.h":"46fdf5ee41a309bf12eccf2bad3cc4736bcb8f43c3471a2ef506b9f3624ec91c","src/copy/StencilEnums.h":"3adb2e8048e936893496033200c905091d6856105326e496dfea5e058d8ab1df","src/copy/Symbol.h":"98a827d5bf68567a75686ee0b72b9fb960bde77e96771bbf03fc0a33b601be41","src/copy/ThrowMsgKind.h":"aebeed61bbb308421b71080f8c9172dc6d55dffe916b0a47bef9e85f0e532139","src/env_coord.rs":"0be36a1bd307f5586affe0f3046d8b2ab2f5382b41b7b7bfb364b97d16a7c410","src/frame_slot.rs":"b20c81d67c572f20d06d493b211cd3eaa0432a8294541583643b82df3af2f813","src/function.rs":"1fe643384f1814822885c85cf3d71f3e9ed3daf617fb09dfd2566bfc004af692","src/gcthings.rs":"baadc7284c01961a4aa44d464a6f5a0d0be427b6d099c949d4411846738d9a45","src/lib.rs":"b003e085344277d2987ef492dc513048e8ec83217850a22ba7ca06ac01bc9b5c","src/opcode.rs":"71cb3871b0b0acd00bfda688de5de7373357dd2a7c1583e8cdf2de6357300ea9","src/opcode_info.rs":"a27c6d5602f5ecdcc882a0167614bc7a7754d958124941b4c1c0cdc2b0a894f1","src/regexp.rs":"7436cf545b990bec7dcc51ff28d67deaca9d4ce894468fdad0dd44b25c571cf2","src/result.rs":"62d3a851b8a497eecc350eed3ba6155b01a4d0e8e5bcfdf8dab776333d19825c","src/scope.rs":"3d2269a06d3e55d24f697338fedde95d9c653faec02d4694d0b63c79979e7c5a","src/scope_notes.rs":"9947ba5aba3097321c76adcb5648a478e4a67e088fdc1e01511e51c4ad41a9f3","src/script.rs":"9b1b2b4ce8c0e6ab5305d9fd09771758f619be2aceda3e47e428def2586e1b1d"},"package":null}
|
||||
{"files":{"Cargo.toml":"f5439990185662ab31de12c07ef0c842438e3207bdfecc4fa6a9e4d4bea8a0d3","src/bytecode_offset.rs":"2aa7ba8c3cfbbd832092e65b599ab1c5a28d784ccc65d9e351bba656421b9a69","src/copy/AsyncFunctionResolveKind.h":"3851ecbb4728257595dd6e900749d1d8e02558574c00424a7ff0e3ca007fa6ec","src/copy/BytecodeFormatFlags.h":"33424acd882b082768ca4a7b937b960a674db450947957cc5bba0b4a40410232","src/copy/CheckIsObjectKind.h":"8f0e112396d966c9221a743d353f62671e04cdace7dd49a59898d94ba0f621b7","src/copy/FunctionFlags.h":"65c64d0d529b318e3048b643344a64d18de5775e91c8f53eb0d703603154a057","src/copy/FunctionPrefixKind.h":"f540a5c646a519b2d61aa27e4be865e08a31438def00ad5ba4ba2982ad1f2275","src/copy/GeneratorAndAsyncKind.h":"301668ce705970a51abfa94f89fd5db29ef5f129525110860e9e9bf7586ef187","src/copy/GeneratorResumeKind.h":"9e3cd9dc9c7f50937c6c45d73ec092dbfd92c4b56818ae6d1504bcd77078d0a6","src/copy/Opcodes.h":"c72a75c9fba946b60f74ab2f70dac96385a8c9af8a26572d818b92d65bf57c57","src/copy/SourceNotes.h":"46fdf5ee41a309bf12eccf2bad3cc4736bcb8f43c3471a2ef506b9f3624ec91c","src/copy/StencilEnums.h":"3adb2e8048e936893496033200c905091d6856105326e496dfea5e058d8ab1df","src/copy/Symbol.h":"98a827d5bf68567a75686ee0b72b9fb960bde77e96771bbf03fc0a33b601be41","src/copy/ThrowMsgKind.h":"aebeed61bbb308421b71080f8c9172dc6d55dffe916b0a47bef9e85f0e532139","src/env_coord.rs":"0be36a1bd307f5586affe0f3046d8b2ab2f5382b41b7b7bfb364b97d16a7c410","src/frame_slot.rs":"b20c81d67c572f20d06d493b211cd3eaa0432a8294541583643b82df3af2f813","src/function.rs":"1fe643384f1814822885c85cf3d71f3e9ed3daf617fb09dfd2566bfc004af692","src/gcthings.rs":"baadc7284c01961a4aa44d464a6f5a0d0be427b6d099c949d4411846738d9a45","src/lib.rs":"b003e085344277d2987ef492dc513048e8ec83217850a22ba7ca06ac01bc9b5c","src/opcode.rs":"446a3c7b3540626a9a9239c64e99354566a3ebae17a4f586e2501e7d20fc081d","src/opcode_info.rs":"a27c6d5602f5ecdcc882a0167614bc7a7754d958124941b4c1c0cdc2b0a894f1","src/regexp.rs":"7436cf545b990bec7dcc51ff28d67deaca9d4ce894468fdad0dd44b25c571cf2","src/result.rs":"62d3a851b8a497eecc350eed3ba6155b01a4d0e8e5bcfdf8dab776333d19825c","src/scope.rs":"3d2269a06d3e55d24f697338fedde95d9c653faec02d4694d0b63c79979e7c5a","src/scope_notes.rs":"9947ba5aba3097321c76adcb5648a478e4a67e088fdc1e01511e51c4ad41a9f3","src/script.rs":"9b1b2b4ce8c0e6ab5305d9fd09771758f619be2aceda3e47e428def2586e1b1d"},"package":null}
|
||||
|
|
@ -38,6 +38,7 @@ enum {
|
|||
JOF_DEBUGCOORD = 24, /* An embedded ScopeCoordinate immediate that may
|
||||
traverse DebugEnvironmentProxies*/
|
||||
JOF_SHAPE = 25, /* uint32_t shape index */
|
||||
JOF_STRING = 26, /* uint32_t constant index */
|
||||
JOF_TYPEMASK = 0xFF, /* mask for above immediate types */
|
||||
|
||||
JOF_NAME = 1 << 8, /* name operation */
|
||||
|
|
|
|||
|
|
@ -355,7 +355,7 @@
|
|||
* Operands: uint32_t atomIndex
|
||||
* Stack: => string
|
||||
*/ \
|
||||
MACRO(String, string, NULL, 5, 0, 1, JOF_ATOM) \
|
||||
MACRO(String, string, NULL, 5, 0, 1, JOF_STRING) \
|
||||
/*
|
||||
* Push a well-known symbol.
|
||||
*
|
||||
|
|
@ -760,6 +760,19 @@
|
|||
* Stack: => this
|
||||
*/ \
|
||||
MACRO(GlobalThis, global_this, NULL, 1, 0, 1, JOF_BYTE) \
|
||||
/*
|
||||
* Push the global `this` value for non-syntactic scope. Not to be confused
|
||||
* with the `globalThis` property on the global.
|
||||
*
|
||||
* This must be used only in scopes where `this` refers to the global
|
||||
* `this`.
|
||||
*
|
||||
* Category: Expressions
|
||||
* Type: Other expressions
|
||||
* Operands:
|
||||
* Stack: => this
|
||||
*/ \
|
||||
MACRO(NonSyntacticGlobalThis, non_syntactic_global_this, NULL, 1, 0, 1, JOF_BYTE) \
|
||||
/*
|
||||
* Push the value of `new.target`.
|
||||
*
|
||||
|
|
@ -1764,9 +1777,8 @@
|
|||
* implicit `this` passed to `getFullYear` is `date`, not `undefined`.
|
||||
*
|
||||
* This walks the run-time environment chain looking for the environment
|
||||
* record that contains the function. If the function call is not inside a
|
||||
* `with` statement, use `JSOp::GImplicitThis` instead. If the function call
|
||||
* definitely refers to a local binding, use `JSOp::Undefined`.
|
||||
* record that contains the function. If the function call definitely
|
||||
* refers to a local binding, use `JSOp::Undefined`.
|
||||
*
|
||||
* Implements: [EvaluateCall][1] step 1.b. But not entirely correctly.
|
||||
* See [bug 1166408][2].
|
||||
|
|
@ -1780,19 +1792,6 @@
|
|||
* Stack: => this
|
||||
*/ \
|
||||
MACRO(ImplicitThis, implicit_this, "", 5, 0, 1, JOF_ATOM) \
|
||||
/*
|
||||
* Like `JSOp::ImplicitThis`, but the name must not be bound in any local
|
||||
* environments.
|
||||
*
|
||||
* The result is always `undefined` except when the name refers to a
|
||||
* binding in a non-syntactic `with` environment.
|
||||
*
|
||||
* Category: Functions
|
||||
* Type: Calls
|
||||
* Operands: uint32_t nameIndex
|
||||
* Stack: => this
|
||||
*/ \
|
||||
MACRO(GImplicitThis, g_implicit_this, "", 5, 0, 1, JOF_ATOM) \
|
||||
/*
|
||||
* Push the call site object for a tagged template call.
|
||||
*
|
||||
|
|
@ -2749,10 +2748,9 @@
|
|||
*/ \
|
||||
MACRO(CheckThis, check_this, NULL, 1, 1, 1, JOF_BYTE) \
|
||||
/*
|
||||
* Push the global environment onto the stack, unless the script has a
|
||||
* non-syntactic global scope. In that case, this acts like JSOp::BindName.
|
||||
*
|
||||
* `nameIndex` is only used when acting like JSOp::BindName.
|
||||
* Look up a name on the global lexical environment's chain and push the
|
||||
* environment which contains a binding for that name. If no such binding
|
||||
* exists, push the global lexical environment.
|
||||
*
|
||||
* Category: Variables and scopes
|
||||
* Type: Looking up bindings
|
||||
|
|
@ -2804,8 +2802,8 @@
|
|||
* This is an optimized version of `JSOp::GetName` that skips all local
|
||||
* scopes, for use when the name doesn't refer to any local binding.
|
||||
* `NonSyntacticVariablesObject`s break this optimization, so if the
|
||||
* current script has a non-syntactic global scope, this acts like
|
||||
* `JSOp::GetName`.
|
||||
* current script has a non-syntactic global scope, use `JSOp::GetName`
|
||||
* instead.
|
||||
*
|
||||
* Like `JSOp::GetName`, this throws a ReferenceError if no such binding is
|
||||
* found (unless the next instruction is `JSOp::Typeof`) or if the binding
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ macro_rules! using_opcode_database {
|
|||
(Uint24, uint24, NULL, 4, 0, 1, JOF_UINT24),
|
||||
(Double, double_, NULL, 9, 0, 1, JOF_DOUBLE),
|
||||
(BigInt, big_int, NULL, 5, 0, 1, JOF_BIGINT),
|
||||
(String, string, NULL, 5, 0, 1, JOF_ATOM),
|
||||
(String, string, NULL, 5, 0, 1, JOF_STRING),
|
||||
(Symbol, symbol, NULL, 2, 0, 1, JOF_UINT8),
|
||||
(Void, void_, NULL, 1, 1, 1, JOF_BYTE),
|
||||
(Typeof, typeof_, NULL, 1, 1, 1, JOF_BYTE|JOF_IC),
|
||||
|
|
@ -58,6 +58,7 @@ macro_rules! using_opcode_database {
|
|||
(ToNumeric, to_numeric, NULL, 1, 1, 1, JOF_BYTE|JOF_IC),
|
||||
(ToString, to_string, NULL, 1, 1, 1, JOF_BYTE),
|
||||
(GlobalThis, global_this, NULL, 1, 0, 1, JOF_BYTE),
|
||||
(NonSyntacticGlobalThis, non_syntactic_global_this, NULL, 1, 0, 1, JOF_BYTE),
|
||||
(NewTarget, new_target, NULL, 1, 0, 1, JOF_BYTE),
|
||||
(DynamicImport, dynamic_import, NULL, 1, 1, 1, JOF_BYTE),
|
||||
(ImportMeta, import_meta, NULL, 1, 0, 1, JOF_BYTE),
|
||||
|
|
@ -131,7 +132,6 @@ macro_rules! using_opcode_database {
|
|||
(StrictEval, strict_eval, NULL, 3, -1, 1, JOF_ARGC|JOF_INVOKE|JOF_CHECKSTRICT|JOF_IC),
|
||||
(StrictSpreadEval, strict_spread_eval, NULL, 1, 3, 1, JOF_BYTE|JOF_INVOKE|JOF_SPREAD|JOF_CHECKSTRICT|JOF_IC),
|
||||
(ImplicitThis, implicit_this, "", 5, 0, 1, JOF_ATOM),
|
||||
(GImplicitThis, g_implicit_this, "", 5, 0, 1, JOF_ATOM),
|
||||
(CallSiteObj, call_site_obj, NULL, 5, 0, 1, JOF_OBJECT),
|
||||
(IsConstructing, is_constructing, NULL, 1, 0, 1, JOF_BYTE),
|
||||
(New, new_, NULL, 3, -1, 1, JOF_ARGC|JOF_INVOKE|JOF_CONSTRUCT|JOF_IC),
|
||||
|
|
@ -350,6 +350,9 @@ const JOF_DEBUGCOORD: u32 = 24;
|
|||
/// uint32_t shape index
|
||||
const JOF_SHAPE: u32 = 25;
|
||||
|
||||
/// uint32_t constant index
|
||||
const JOF_STRING: u32 = 26;
|
||||
|
||||
/// mask for above immediate types
|
||||
const JOF_TYPEMASK: u32 = 0xFF;
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
4
third_party/rust/jsparagus/update_stencil.py
vendored
4
third_party/rust/jsparagus/update_stencil.py
vendored
|
|
@ -462,6 +462,10 @@ def parse_operands(opcode):
|
|||
assert ty == 'u32'
|
||||
ty = 'GCThingIndex'
|
||||
|
||||
if 'JOF_STRING' in opcode.format_:
|
||||
assert ty == 'u32'
|
||||
ty = 'GCThingIndex'
|
||||
|
||||
if 'JOF_ICINDEX' in opcode.format_ or 'JOF_LOOPHEAD' in opcode.format_:
|
||||
if ty == 'u32' and name == 'ic_index':
|
||||
ty = 'IcIndex'
|
||||
|
|
|
|||
Loading…
Reference in a new issue