forked from mirrors/gecko-dev
Bug 1822262 - Bump jsparagus for bug 1793962. r=nbp,glandium
Differential Revision: https://phabricator.services.mozilla.com/D172757
This commit is contained in:
parent
613b103fc3
commit
e0cff7e590
13 changed files with 354 additions and 385 deletions
|
|
@ -72,7 +72,7 @@ replace-with = "vendored-sources"
|
|||
|
||||
[source."https://github.com/mozilla-spidermonkey/jsparagus"]
|
||||
git = "https://github.com/mozilla-spidermonkey/jsparagus"
|
||||
rev = "688a6574cf830b4a3adaf9c5d41efc1f7dd4017f"
|
||||
rev = "64ba08e24749616de2344112f226d1ef4ba893ae"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."https://github.com/mozilla/application-services"]
|
||||
|
|
|
|||
16
Cargo.lock
generated
16
Cargo.lock
generated
|
|
@ -2828,7 +2828,7 @@ version = "0.3.100"
|
|||
[[package]]
|
||||
name = "jsparagus"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=688a6574cf830b4a3adaf9c5d41efc1f7dd4017f#688a6574cf830b4a3adaf9c5d41efc1f7dd4017f"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=64ba08e24749616de2344112f226d1ef4ba893ae#64ba08e24749616de2344112f226d1ef4ba893ae"
|
||||
dependencies = [
|
||||
"jsparagus-ast",
|
||||
"jsparagus-emitter",
|
||||
|
|
@ -2842,7 +2842,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-ast"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=688a6574cf830b4a3adaf9c5d41efc1f7dd4017f#688a6574cf830b4a3adaf9c5d41efc1f7dd4017f"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=64ba08e24749616de2344112f226d1ef4ba893ae#64ba08e24749616de2344112f226d1ef4ba893ae"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"indexmap",
|
||||
|
|
@ -2851,7 +2851,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-emitter"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=688a6574cf830b4a3adaf9c5d41efc1f7dd4017f#688a6574cf830b4a3adaf9c5d41efc1f7dd4017f"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=64ba08e24749616de2344112f226d1ef4ba893ae#64ba08e24749616de2344112f226d1ef4ba893ae"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"byteorder",
|
||||
|
|
@ -2864,7 +2864,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-generated-parser"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=688a6574cf830b4a3adaf9c5d41efc1f7dd4017f#688a6574cf830b4a3adaf9c5d41efc1f7dd4017f"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=64ba08e24749616de2344112f226d1ef4ba893ae#64ba08e24749616de2344112f226d1ef4ba893ae"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"jsparagus-ast",
|
||||
|
|
@ -2874,12 +2874,12 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-json-log"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=688a6574cf830b4a3adaf9c5d41efc1f7dd4017f#688a6574cf830b4a3adaf9c5d41efc1f7dd4017f"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=64ba08e24749616de2344112f226d1ef4ba893ae#64ba08e24749616de2344112f226d1ef4ba893ae"
|
||||
|
||||
[[package]]
|
||||
name = "jsparagus-parser"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=688a6574cf830b4a3adaf9c5d41efc1f7dd4017f#688a6574cf830b4a3adaf9c5d41efc1f7dd4017f"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=64ba08e24749616de2344112f226d1ef4ba893ae#64ba08e24749616de2344112f226d1ef4ba893ae"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"bumpalo",
|
||||
|
|
@ -2891,7 +2891,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-scope"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=688a6574cf830b4a3adaf9c5d41efc1f7dd4017f#688a6574cf830b4a3adaf9c5d41efc1f7dd4017f"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=64ba08e24749616de2344112f226d1ef4ba893ae#64ba08e24749616de2344112f226d1ef4ba893ae"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"jsparagus-ast",
|
||||
|
|
@ -2901,7 +2901,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "jsparagus-stencil"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=688a6574cf830b4a3adaf9c5d41efc1f7dd4017f#688a6574cf830b4a3adaf9c5d41efc1f7dd4017f"
|
||||
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=64ba08e24749616de2344112f226d1ef4ba893ae#64ba08e24749616de2344112f226d1ef4ba893ae"
|
||||
dependencies = [
|
||||
"jsparagus-ast",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@ log = "0.4"
|
|||
# Disable regex feature for code size.
|
||||
env_logger = {version = "0.9", default-features = false}
|
||||
# For non-jsparagus developers.
|
||||
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "688a6574cf830b4a3adaf9c5d41efc1f7dd4017f" }
|
||||
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "64ba08e24749616de2344112f226d1ef4ba893ae" }
|
||||
# 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 = "688a6574cf830b4a3adaf9c5d41efc1f7dd4017f" }
|
||||
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "64ba08e24749616de2344112f226d1ef4ba893ae" }
|
||||
# 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":"c476e801565bd83f8a90089875bf9f5063538631f4dbecfd83734eb8c5d45ef0","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}
|
||||
{"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":"41a6a642d1970e625c264fc58bf245c6975b1e2d86707481ce4f942798c4b48a","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}
|
||||
|
|
@ -74,6 +74,7 @@ pub enum ThrowMsgKind {
|
|||
MissingPrivateOnGet = 5,
|
||||
MissingPrivateOnSet = 6,
|
||||
AssignToPrivateMethod = 7,
|
||||
DecoratorInvalidReturnType = 8,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
|
|
@ -1203,12 +1204,14 @@ impl InstructionWriter {
|
|||
self.emit_op(Opcode::DebugLeaveLexicalEnv);
|
||||
}
|
||||
|
||||
pub fn recreate_lexical_env(&mut self) {
|
||||
pub fn recreate_lexical_env(&mut self, lexical_scope_index: GCThingIndex) {
|
||||
self.emit_op(Opcode::RecreateLexicalEnv);
|
||||
self.write_g_c_thing_index(lexical_scope_index);
|
||||
}
|
||||
|
||||
pub fn freshen_lexical_env(&mut self) {
|
||||
pub fn freshen_lexical_env(&mut self, lexical_scope_index: GCThingIndex) {
|
||||
self.emit_op(Opcode::FreshenLexicalEnv);
|
||||
self.write_g_c_thing_index(lexical_scope_index);
|
||||
}
|
||||
|
||||
pub fn push_class_body_env(&mut self, lexical_scope_index: GCThingIndex) {
|
||||
|
|
|
|||
|
|
@ -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":"1abcd52eb02b317f7fea8ff80f57f4f3c0ac725fcd2cf4c2a1739d4ee8c25e65","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":"19ea1a4c1a8fecf0468fef043fbfd486a9697ef9abc5fa8c9b715dae9a912e5f","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":"48b561791fb2ef7189ffd17a26bb65163c24d398637b8d1cf9a09bc3964adca7","src/copy/CheckIsObjectKind.h":"8f0e112396d966c9221a743d353f62671e04cdace7dd49a59898d94ba0f621b7","src/copy/CompletionKind.h":"a491664ee7423ce75f34af4efa3df47934b42139f1b19741b2aa95f02d9230bf","src/copy/FunctionFlags.h":"65c64d0d529b318e3048b643344a64d18de5775e91c8f53eb0d703603154a057","src/copy/FunctionPrefixKind.h":"f540a5c646a519b2d61aa27e4be865e08a31438def00ad5ba4ba2982ad1f2275","src/copy/GeneratorAndAsyncKind.h":"301668ce705970a51abfa94f89fd5db29ef5f129525110860e9e9bf7586ef187","src/copy/GeneratorResumeKind.h":"9e3cd9dc9c7f50937c6c45d73ec092dbfd92c4b56818ae6d1504bcd77078d0a6","src/copy/Opcodes.h":"e9ecbc2435de5aff8848535b63cc588b8d6d9c4adfef62ac775c2664a1d74632","src/copy/SourceNotes.h":"46fdf5ee41a309bf12eccf2bad3cc4736bcb8f43c3471a2ef506b9f3624ec91c","src/copy/StencilEnums.h":"fa3c3ff54947e8d876a0c5da549f9fa51393e22d644b909cc7a08a201de6d5ef","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":"5d23fb8c0e52a82c8d0660054f82e2030338970c194bdb96792f8e4ca9e5a97a","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":"c28883d1f2535cffab2820d6d7c48ed853a6c00f9fb410ab7ee56117667452eb"},"package":null}
|
||||
{"files":{"Cargo.toml":"f5439990185662ab31de12c07ef0c842438e3207bdfecc4fa6a9e4d4bea8a0d3","src/bytecode_offset.rs":"2aa7ba8c3cfbbd832092e65b599ab1c5a28d784ccc65d9e351bba656421b9a69","src/copy/AsyncFunctionResolveKind.h":"3851ecbb4728257595dd6e900749d1d8e02558574c00424a7ff0e3ca007fa6ec","src/copy/BytecodeFormatFlags.h":"48b561791fb2ef7189ffd17a26bb65163c24d398637b8d1cf9a09bc3964adca7","src/copy/CheckIsObjectKind.h":"8f0e112396d966c9221a743d353f62671e04cdace7dd49a59898d94ba0f621b7","src/copy/CompletionKind.h":"a491664ee7423ce75f34af4efa3df47934b42139f1b19741b2aa95f02d9230bf","src/copy/FunctionFlags.h":"03564f057262b73bebf31ab6c8f6a99a22983a87f1b9e7f48219d30af837423f","src/copy/FunctionPrefixKind.h":"f540a5c646a519b2d61aa27e4be865e08a31438def00ad5ba4ba2982ad1f2275","src/copy/GeneratorAndAsyncKind.h":"301668ce705970a51abfa94f89fd5db29ef5f129525110860e9e9bf7586ef187","src/copy/GeneratorResumeKind.h":"9e3cd9dc9c7f50937c6c45d73ec092dbfd92c4b56818ae6d1504bcd77078d0a6","src/copy/Opcodes.h":"6d1d8058b362d7032687737a2fe61c15374309e83c0d00cba05fb9660bd24ca8","src/copy/SourceNotes.h":"46fdf5ee41a309bf12eccf2bad3cc4736bcb8f43c3471a2ef506b9f3624ec91c","src/copy/StencilEnums.h":"fa3c3ff54947e8d876a0c5da549f9fa51393e22d644b909cc7a08a201de6d5ef","src/copy/Symbol.h":"98a827d5bf68567a75686ee0b72b9fb960bde77e96771bbf03fc0a33b601be41","src/copy/ThrowMsgKind.h":"ba180dc8c5c8eb4ff24a5ceb1a4df70e2e9005440766576e5eb2dc5a18b0a9dd","src/env_coord.rs":"0be36a1bd307f5586affe0f3046d8b2ab2f5382b41b7b7bfb364b97d16a7c410","src/frame_slot.rs":"b20c81d67c572f20d06d493b211cd3eaa0432a8294541583643b82df3af2f813","src/function.rs":"5357f3dc871a981c7dc21aac7fe736f0e55302f27ef5c63ed04915a2c845fff6","src/gcthings.rs":"baadc7284c01961a4aa44d464a6f5a0d0be427b6d099c949d4411846738d9a45","src/lib.rs":"b003e085344277d2987ef492dc513048e8ec83217850a22ba7ca06ac01bc9b5c","src/opcode.rs":"804dc73a7adba17f557fa80deaebe0caba1be0aeaa549fae1a0dfcd56dc88f32","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":"c28883d1f2535cffab2820d6d7c48ed853a6c00f9fb410ab7ee56117667452eb"},"package":null}
|
||||
|
|
@ -60,8 +60,7 @@ class FunctionFlags {
|
|||
// having a [[Construct]] internal method.
|
||||
CONSTRUCTOR = 1 << 7,
|
||||
|
||||
// A 'Bound Function Exotic Object' created by Function.prototype.bind.
|
||||
BOUND_FUN = 1 << 8,
|
||||
// (1 << 8) is unused.
|
||||
|
||||
// Function comes from a FunctionExpression, ArrowFunction, or Function()
|
||||
// call (not a FunctionDeclaration or nonstandard function-statement).
|
||||
|
|
@ -75,11 +74,8 @@ class FunctionFlags {
|
|||
// compile time or SetFunctionName at runtime.
|
||||
HAS_INFERRED_NAME = 1 << 11,
|
||||
|
||||
// Function had no explicit name, but a name was guessed for it anyway. For
|
||||
// a Bound function, tracks if atom_ already contains the "bound " prefix.
|
||||
ATOM_EXTRA_FLAG = 1 << 12,
|
||||
HAS_GUESSED_ATOM = ATOM_EXTRA_FLAG,
|
||||
HAS_BOUND_FUNCTION_NAME_PREFIX = ATOM_EXTRA_FLAG,
|
||||
// Function had no explicit name, but a name was guessed for it anyway.
|
||||
HAS_GUESSED_ATOM = 1 << 12,
|
||||
|
||||
// The 'length' or 'name property has been resolved. See fun_resolve.
|
||||
RESOLVED_NAME = 1 << 13,
|
||||
|
|
@ -217,22 +213,8 @@ class FunctionFlags {
|
|||
}
|
||||
|
||||
/* Possible attributes of an interpreted function: */
|
||||
bool isBoundFunction() const { return hasFlags(BOUND_FUN); }
|
||||
bool hasInferredName() const { return hasFlags(HAS_INFERRED_NAME); }
|
||||
bool hasGuessedAtom() const {
|
||||
static_assert(HAS_GUESSED_ATOM == HAS_BOUND_FUNCTION_NAME_PREFIX,
|
||||
"HAS_GUESSED_ATOM is unused for bound functions");
|
||||
bool hasGuessedAtom = hasFlags(HAS_GUESSED_ATOM);
|
||||
bool boundFun = hasFlags(BOUND_FUN);
|
||||
return hasGuessedAtom && !boundFun;
|
||||
}
|
||||
bool hasBoundFunctionNamePrefix() const {
|
||||
static_assert(
|
||||
HAS_BOUND_FUNCTION_NAME_PREFIX == HAS_GUESSED_ATOM,
|
||||
"HAS_BOUND_FUNCTION_NAME_PREFIX is only used for bound functions");
|
||||
MOZ_ASSERT(isBoundFunction());
|
||||
return hasFlags(HAS_BOUND_FUNCTION_NAME_PREFIX);
|
||||
}
|
||||
bool hasGuessedAtom() const { return hasFlags(HAS_GUESSED_ATOM); }
|
||||
bool isLambda() const { return hasFlags(LAMBDA); }
|
||||
|
||||
bool isNamedLambda(bool hasName) const {
|
||||
|
|
@ -285,11 +267,6 @@ class FunctionFlags {
|
|||
return setFlags(CONSTRUCTOR);
|
||||
}
|
||||
|
||||
FunctionFlags& setIsBoundFunction() {
|
||||
MOZ_ASSERT(!isBoundFunction());
|
||||
return setFlags(BOUND_FUN);
|
||||
}
|
||||
|
||||
FunctionFlags& setIsSelfHostedBuiltin() {
|
||||
MOZ_ASSERT(isInterpreted());
|
||||
MOZ_ASSERT(!isSelfHostedBuiltin());
|
||||
|
|
@ -310,10 +287,6 @@ class FunctionFlags {
|
|||
|
||||
FunctionFlags& setGuessedAtom() { return setFlags(HAS_GUESSED_ATOM); }
|
||||
|
||||
FunctionFlags& setPrefixedBoundFunctionName() {
|
||||
return setFlags(HAS_BOUND_FUNCTION_NAME_PREFIX);
|
||||
}
|
||||
|
||||
FunctionFlags& setSelfHostedLazy() { return setFlags(SELFHOSTLAZY); }
|
||||
FunctionFlags& clearSelfHostedLazy() { return clearFlags(SELFHOSTLAZY); }
|
||||
FunctionFlags& setBaseScript() { return setFlags(BASESCRIPT); }
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@
|
|||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "js/TypeDecls.h"
|
||||
|
||||
// clang-format off
|
||||
/*
|
||||
* [SMDOC] Bytecode Definitions
|
||||
|
|
@ -1511,7 +1513,8 @@
|
|||
* except by `JSOp::InitElemArray` and `JSOp::InitElemInc`.
|
||||
*
|
||||
* `index` must be an integer, `0 <= index <= INT32_MAX`. If `index` is
|
||||
* `INT32_MAX`, this throws a RangeError.
|
||||
* `INT32_MAX`, this throws a RangeError. Unlike `InitElemArray`, it is not
|
||||
* necessary that the `array` length > `index`.
|
||||
*
|
||||
* This instruction is used when an array literal contains a
|
||||
* *SpreadElement*. In `[a, ...b, c]`, `InitElemArray 0` is used to put
|
||||
|
|
@ -1892,16 +1895,10 @@
|
|||
/*
|
||||
* Push the call site object for a tagged template call.
|
||||
*
|
||||
* `script->getObject(objectIndex)` is the call site object;
|
||||
* `script->getObject(objectIndex + 1)` is the raw object.
|
||||
* `script->getObject(objectIndex)` is the call site object.
|
||||
*
|
||||
* The first time this instruction runs for a given template, it assembles
|
||||
* the final value, defining the `.raw` property on the call site object
|
||||
* and freezing both objects.
|
||||
*
|
||||
* Implements: [GetTemplateObject][1], steps 4 and 12-16.
|
||||
*
|
||||
* [1]: https://tc39.es/ecma262/#sec-gettemplateobject
|
||||
* The call site object will already have the `.raw` property defined on it
|
||||
* and will be frozen.
|
||||
*
|
||||
* Category: Functions
|
||||
* Type: Calls
|
||||
|
|
@ -3164,10 +3161,10 @@
|
|||
*
|
||||
* Category: Variables and scopes
|
||||
* Type: Entering and leaving environments
|
||||
* Operands:
|
||||
* Operands: uint32_t lexicalScopeIndex
|
||||
* Stack: =>
|
||||
*/ \
|
||||
MACRO(RecreateLexicalEnv, recreate_lexical_env, NULL, 1, 0, 0, JOF_BYTE) \
|
||||
MACRO(RecreateLexicalEnv, recreate_lexical_env, NULL, 5, 0, 0, JOF_SCOPE) \
|
||||
/*
|
||||
* Like `JSOp::RecreateLexicalEnv`, but the values of all the bindings are
|
||||
* copied from the old block to the new one. This is used for C-style
|
||||
|
|
@ -3175,10 +3172,10 @@
|
|||
*
|
||||
* Category: Variables and scopes
|
||||
* Type: Entering and leaving environments
|
||||
* Operands:
|
||||
* Operands: uint32_t lexicalScopeIndex
|
||||
* Stack: =>
|
||||
*/ \
|
||||
MACRO(FreshenLexicalEnv, freshen_lexical_env, NULL, 1, 0, 0, JOF_BYTE) \
|
||||
MACRO(FreshenLexicalEnv, freshen_lexical_env, NULL, 5, 0, 0, JOF_SCOPE) \
|
||||
/*
|
||||
* Push a ClassBody environment onto the environment chain.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ enum class ThrowMsgKind : uint8_t {
|
|||
MissingPrivateOnGet,
|
||||
MissingPrivateOnSet,
|
||||
AssignToPrivateMethod,
|
||||
// Decorators:
|
||||
DecoratorInvalidReturnType,
|
||||
};
|
||||
|
||||
JSErrNum ThrowMsgKindToErrNum(ThrowMsgKind kind);
|
||||
|
|
|
|||
|
|
@ -36,19 +36,13 @@ const SELFHOSTLAZY: u16 = 1 << 6;
|
|||
#[allow(dead_code)]
|
||||
const CONSTRUCTOR: u16 = 1 << 7;
|
||||
#[allow(dead_code)]
|
||||
const BOUND_FUN: u16 = 1 << 8;
|
||||
#[allow(dead_code)]
|
||||
const LAMBDA: u16 = 1 << 9;
|
||||
#[allow(dead_code)]
|
||||
const WASM_JIT_ENTRY: u16 = 1 << 10;
|
||||
#[allow(dead_code)]
|
||||
const HAS_INFERRED_NAME: u16 = 1 << 11;
|
||||
#[allow(dead_code)]
|
||||
const ATOM_EXTRA_FLAG: u16 = 1 << 12;
|
||||
#[allow(dead_code)]
|
||||
const HAS_GUESSED_ATOM: u16 = ATOM_EXTRA_FLAG;
|
||||
#[allow(dead_code)]
|
||||
const HAS_BOUND_FUNCTION_NAME_PREFIX: u16 = ATOM_EXTRA_FLAG;
|
||||
const HAS_GUESSED_ATOM: u16 = 1 << 12;
|
||||
#[allow(dead_code)]
|
||||
const RESOLVED_NAME: u16 = 1 << 13;
|
||||
#[allow(dead_code)]
|
||||
|
|
|
|||
|
|
@ -210,8 +210,8 @@ macro_rules! using_opcode_database {
|
|||
(PushLexicalEnv, push_lexical_env, NULL, 5, 0, 0, JOF_SCOPE),
|
||||
(PopLexicalEnv, pop_lexical_env, NULL, 1, 0, 0, JOF_BYTE),
|
||||
(DebugLeaveLexicalEnv, debug_leave_lexical_env, NULL, 1, 0, 0, JOF_BYTE),
|
||||
(RecreateLexicalEnv, recreate_lexical_env, NULL, 1, 0, 0, JOF_BYTE),
|
||||
(FreshenLexicalEnv, freshen_lexical_env, NULL, 1, 0, 0, JOF_BYTE),
|
||||
(RecreateLexicalEnv, recreate_lexical_env, NULL, 5, 0, 0, JOF_SCOPE),
|
||||
(FreshenLexicalEnv, freshen_lexical_env, NULL, 5, 0, 0, JOF_SCOPE),
|
||||
(PushClassBodyEnv, push_class_body_env, NULL, 5, 0, 0, JOF_SCOPE),
|
||||
(PushVarEnv, push_var_env, NULL, 5, 0, 0, JOF_SCOPE),
|
||||
(EnterWith, enter_with, NULL, 5, 1, 0, JOF_SCOPE),
|
||||
|
|
|
|||
Loading…
Reference in a new issue