Bug 1656749 - Update opcode for bug 1655465. r=jorendorff

Differential Revision: https://phabricator.services.mozilla.com/D86455
This commit is contained in:
Tooru Fujisawa 2020-08-10 15:16:27 +00:00
Родитель 0a0fa4aa3d
Коммит ba5257fbf6
16 изменённых файлов: 1321 добавлений и 899 удалений

Просмотреть файл

@ -25,7 +25,7 @@ rev = "9ba519a5739b1976f1d333923d34b7f4916b9e26"
[source."https://github.com/mozilla-spidermonkey/jsparagus"]
git = "https://github.com/mozilla-spidermonkey/jsparagus"
replace-with = "vendored-sources"
rev = "ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96"
rev = "239df3502e7e09a706b8d6fbe4c0db139d653e25"
[source."https://github.com/kvark/spirv_cross"]
branch = "wgpu3"

16
Cargo.lock сгенерированный
Просмотреть файл

@ -2422,7 +2422,7 @@ dependencies = [
[[package]]
name = "jsparagus"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96#ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=239df3502e7e09a706b8d6fbe4c0db139d653e25#239df3502e7e09a706b8d6fbe4c0db139d653e25"
dependencies = [
"jsparagus-ast",
"jsparagus-emitter",
@ -2436,7 +2436,7 @@ dependencies = [
[[package]]
name = "jsparagus-ast"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96#ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=239df3502e7e09a706b8d6fbe4c0db139d653e25#239df3502e7e09a706b8d6fbe4c0db139d653e25"
dependencies = [
"bumpalo",
"indexmap",
@ -2445,7 +2445,7 @@ dependencies = [
[[package]]
name = "jsparagus-emitter"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96#ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=239df3502e7e09a706b8d6fbe4c0db139d653e25#239df3502e7e09a706b8d6fbe4c0db139d653e25"
dependencies = [
"bumpalo",
"byteorder",
@ -2458,7 +2458,7 @@ dependencies = [
[[package]]
name = "jsparagus-generated-parser"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96#ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=239df3502e7e09a706b8d6fbe4c0db139d653e25#239df3502e7e09a706b8d6fbe4c0db139d653e25"
dependencies = [
"bumpalo",
"jsparagus-ast",
@ -2468,12 +2468,12 @@ dependencies = [
[[package]]
name = "jsparagus-json-log"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96#ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=239df3502e7e09a706b8d6fbe4c0db139d653e25#239df3502e7e09a706b8d6fbe4c0db139d653e25"
[[package]]
name = "jsparagus-parser"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96#ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=239df3502e7e09a706b8d6fbe4c0db139d653e25#239df3502e7e09a706b8d6fbe4c0db139d653e25"
dependencies = [
"arrayvec",
"bumpalo",
@ -2485,7 +2485,7 @@ dependencies = [
[[package]]
name = "jsparagus-scope"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96#ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=239df3502e7e09a706b8d6fbe4c0db139d653e25#239df3502e7e09a706b8d6fbe4c0db139d653e25"
dependencies = [
"indexmap",
"jsparagus-ast",
@ -2495,7 +2495,7 @@ dependencies = [
[[package]]
name = "jsparagus-stencil"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96#ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=239df3502e7e09a706b8d6fbe4c0db139d653e25#239df3502e7e09a706b8d6fbe4c0db139d653e25"
dependencies = [
"jsparagus-ast",
]

Просмотреть файл

@ -12,12 +12,12 @@ log = "0.4"
# Disable regex feature for code size.
env_logger = {version = "0.6", default-features = false}
# For non-jsparagus developers.
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96" }
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "239df3502e7e09a706b8d6fbe4c0db139d653e25" }
# 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 = "ba8fe73bda8cc5dd2fa0dafaa3dbde68a901cf96" }
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "239df3502e7e09a706b8d6fbe4c0db139d653e25" }
# 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":"0a858e7cec12a3027f1ab5121a7f84f8493c38a7ea32bad4c9f0d8bf88d1cbba","src/block_emitter.rs":"78965260d87a66c5324d6f3bdfea0f1938f8037f70adde148dbb2db599d1b2c0","src/compilation_info.rs":"32ca7cdae514501de0d0d667ff2b27a3abf736ae207a23009c42eacbdffbd5b3","src/control_structures.rs":"bdb186e98c14fa4e769b23b3dee4376683e6c6530af0856d55c055aff4398b84","src/dis.rs":"4a335d813fa965482ca0f20a7b9295a55ce7625b577d42bd8b33b156b81c6306","src/emitter.rs":"14c06d1cf277a9017ad0feb440e598e9735b0d7c7a272a05bb7c604e34e8b8aa","src/emitter_scope.rs":"ba924ef541742a5c7be39d1b683bf3107241cf3ff5b8ff7f93987abc9f52e9d2","src/expression_emitter.rs":"f8e02785dffb179bbe9fe58e45bbfccc08adc3ad0a071a0073bed0feedc8ed9a","src/function_declaration_emitter.rs":"d76570732fd2d706f7861bf8be559ce998b25c8e028342831b759b17c54f7c13","src/lib.rs":"43285b5ddf164de2d90fc989ac25211e3e716751e6218df45f651ea75137d0f5","src/object_emitter.rs":"998423b3d6ef8797fadef6763803627df72fde292b1b34d6a41b2e66a331a181","src/reference_op_emitter.rs":"87c7e05934718921d72977746b93513850eab69465d33e190003cb86241f62b4","src/script_emitter.rs":"44a6be5ecdcde3c32d78d100a205d38be2591c7c2cc109967579af7393e09fe8"},"package":null}
{"files":{"Cargo.toml":"00c740f44b5681e3277e519d2e143e6edfbff186ca31a07ddce2eb46b803ddd7","src/array_emitter.rs":"bbc6528321f1d11d7c86c4f2bfdcfc9dced8f0b8b1c30c9f0a5355f300d196b6","src/ast_emitter.rs":"0a858e7cec12a3027f1ab5121a7f84f8493c38a7ea32bad4c9f0d8bf88d1cbba","src/block_emitter.rs":"78965260d87a66c5324d6f3bdfea0f1938f8037f70adde148dbb2db599d1b2c0","src/compilation_info.rs":"32ca7cdae514501de0d0d667ff2b27a3abf736ae207a23009c42eacbdffbd5b3","src/control_structures.rs":"bdb186e98c14fa4e769b23b3dee4376683e6c6530af0856d55c055aff4398b84","src/dis.rs":"4a335d813fa965482ca0f20a7b9295a55ce7625b577d42bd8b33b156b81c6306","src/emitter.rs":"92e81ccc18baebf2e84fe7a8ff91a115976fa2e2b8ae2615e58de70bbd69413e","src/emitter_scope.rs":"ba924ef541742a5c7be39d1b683bf3107241cf3ff5b8ff7f93987abc9f52e9d2","src/expression_emitter.rs":"f8e02785dffb179bbe9fe58e45bbfccc08adc3ad0a071a0073bed0feedc8ed9a","src/function_declaration_emitter.rs":"d76570732fd2d706f7861bf8be559ce998b25c8e028342831b759b17c54f7c13","src/lib.rs":"43285b5ddf164de2d90fc989ac25211e3e716751e6218df45f651ea75137d0f5","src/object_emitter.rs":"998423b3d6ef8797fadef6763803627df72fde292b1b34d6a41b2e66a331a181","src/reference_op_emitter.rs":"87c7e05934718921d72977746b93513850eab69465d33e190003cb86241f62b4","src/script_emitter.rs":"44a6be5ecdcde3c32d78d100a205d38be2591c7c2cc109967579af7393e09fe8"},"package":null}

Просмотреть файл

@ -810,8 +810,9 @@ impl InstructionWriter {
self.write_u32(source_end);
}
pub fn function_proto(&mut self) {
self.emit_op(Opcode::FunctionProto);
pub fn builtin_object(&mut self, kind: u8) {
self.emit_op(Opcode::BuiltinObject);
self.write_u8(kind);
}
pub fn call(&mut self, argc: u16) {

Просмотреть файл

@ -1 +1 @@
{"files":{"Cargo.toml":"553be3c198fe555913bbeb7473b24e0e1fff12e48890a2e399b311df8a97c814","src/ast_builder.rs":"85cdbf14c559cf98837ef83cca84f28ff4e30498d507cda675c4ed4e02bdd3ea","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":"017e4bb29cbfb5ecb2fb9912e36cf664bf9866034d5edf3eeef3061c609bcd56","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":"85cdbf14c559cf98837ef83cca84f28ff4e30498d507cda675c4ed4e02bdd3ea","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":"9ce7257053fd3b92d3030fb3cccd512c905e593225e1361476a081719a1d28e0","src/stack_value_generated.rs":"ce8567634ff2bb818593f56c0589b4ba2d508704db943eb0778d79dfd19cce36","src/token.rs":"479f4cb97d2e6bc654a70634f3809817cc73eaf749c845643beb3556b9ead383","src/traits/mod.rs":"ba74c71f7218027f8188247bc64df243117613fbc9893d40799402ef1e6dbf59"},"package":null}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1 +1 @@
{"files":{"Cargo.toml":"500dc18629fd32dd7019a7967535d6fc53bf94dc7e6c305be46f4040d47cac9e","src/builder.rs":"e3573ad61b57b4b62ac6d4715271b696ac1774504a0645e69451148a05a31010","src/data.rs":"a3cf1e7b1a96a619bcb8bd87f39bbd44dda0fc554c70a5d4d45b70eb03e69401","src/free_name_tracker.rs":"322228be4262d79d148f954a656b4f09fe953b324393fcc5925675c0e7777828","src/lib.rs":"529f7598a3034b347a20307a752b467091d820df6be67ebc4a3bd8e02568511b","src/pass.rs":"c282c99354b1f4f92d211e32c560a87307725332b8e6a7447b31c92515dd0b77"},"package":null}
{"files":{"Cargo.toml":"500dc18629fd32dd7019a7967535d6fc53bf94dc7e6c305be46f4040d47cac9e","src/builder.rs":"4250ea5d7d99e76d595cf127d85895980a72d8f01bbb87e3bd69b89c0db83cfc","src/data.rs":"a3cf1e7b1a96a619bcb8bd87f39bbd44dda0fc554c70a5d4d45b70eb03e69401","src/free_name_tracker.rs":"322228be4262d79d148f954a656b4f09fe953b324393fcc5925675c0e7777828","src/lib.rs":"529f7598a3034b347a20307a752b467091d820df6be67ebc4a3bd8e02568511b","src/pass.rs":"ccc646ea6fc83ec41a99bb61703ae7f5c7a66c217bf73745cb0da67c2a2508fa"},"package":null}

1371
third_party/rust/jsparagus-scope/src/builder.rs поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -130,6 +130,10 @@ impl<'alloc> Pass<'alloc> for ScopePass<'alloc> {
}
fn enter_enum_statement_variant_function_declaration(&mut self, ast: &'alloc Function<'alloc>) {
if !self.builder.is_syntax_only_mode() {
self.builder.enter_syntax_only_mode();
}
let name = if let Some(ref name) = ast.name {
name.name.value
} else {
@ -146,6 +150,10 @@ impl<'alloc> Pass<'alloc> for ScopePass<'alloc> {
}
fn enter_enum_expression_variant_function_expression(&mut self, ast: &'alloc Function<'alloc>) {
if !self.builder.is_syntax_only_mode() {
self.builder.enter_syntax_only_mode();
}
self.builder
.before_function_expression(ast, ast.is_generator, ast.is_async);
}

Просмотреть файл

@ -1 +1 @@
{"files":{"Cargo.toml":"f5439990185662ab31de12c07ef0c842438e3207bdfecc4fa6a9e4d4bea8a0d3","src/bytecode_offset.rs":"2aa7ba8c3cfbbd832092e65b599ab1c5a28d784ccc65d9e351bba656421b9a69","src/copy/AsyncFunctionResolveKind.h":"3851ecbb4728257595dd6e900749d1d8e02558574c00424a7ff0e3ca007fa6ec","src/copy/BytecodeFormatFlags.h":"a805958bfb8c97c87122722eb6343eacdf7bd5558ad8c79b324c7d55c1bda60e","src/copy/CheckIsObjectKind.h":"8f0e112396d966c9221a743d353f62671e04cdace7dd49a59898d94ba0f621b7","src/copy/FunctionFlags.h":"e2578c5747f298d03d81fa2b248e4b36800ac8d42d9d6ef801ebb1bc13bc3960","src/copy/FunctionPrefixKind.h":"f540a5c646a519b2d61aa27e4be865e08a31438def00ad5ba4ba2982ad1f2275","src/copy/GeneratorAndAsyncKind.h":"301668ce705970a51abfa94f89fd5db29ef5f129525110860e9e9bf7586ef187","src/copy/GeneratorResumeKind.h":"9e3cd9dc9c7f50937c6c45d73ec092dbfd92c4b56818ae6d1504bcd77078d0a6","src/copy/Opcodes.h":"b8949d66f72a60237b5c4740ba67616ccf2ebcc99fdf53e79927e5b32a209126","src/copy/SourceNotes.h":"1e467f4e63d6f40a428e257fecd210bd14664516adf75a45cb17ab02ccd65fd8","src/copy/StencilEnums.h":"e5a1db4af868fd65591ed97594f7aa9a4cde79194da0cabd62b34e950b3b10b4","src/copy/Symbol.h":"603985e8c92c94e021baf3a0114dd384035eda60827016d310f1507c8396a45e","src/copy/ThrowMsgKind.h":"5a06fa6cda81638b325af201a21396cfb460d993001a7725c858202b60237d04","src/env_coord.rs":"0be36a1bd307f5586affe0f3046d8b2ab2f5382b41b7b7bfb364b97d16a7c410","src/frame_slot.rs":"b20c81d67c572f20d06d493b211cd3eaa0432a8294541583643b82df3af2f813","src/function.rs":"b841ba6f7ecee3a38a136ef9902fd1d4a3f6b0aa96d1e8d8340e7f26dead75d9","src/gcthings.rs":"baadc7284c01961a4aa44d464a6f5a0d0be427b6d099c949d4411846738d9a45","src/lib.rs":"b003e085344277d2987ef492dc513048e8ec83217850a22ba7ca06ac01bc9b5c","src/opcode.rs":"a1f9f9eb5398c53d9ee46369341fc4838fd0f66458d8dfbcebff4523d479e14f","src/opcode_info.rs":"a27c6d5602f5ecdcc882a0167614bc7a7754d958124941b4c1c0cdc2b0a894f1","src/regexp.rs":"7436cf545b990bec7dcc51ff28d67deaca9d4ce894468fdad0dd44b25c571cf2","src/result.rs":"58a64e0619c4ba4c6b7d8834208698a8f1639ab1771f7ae22272f81fe3611d63","src/scope.rs":"3d2269a06d3e55d24f697338fedde95d9c653faec02d4694d0b63c79979e7c5a","src/scope_notes.rs":"9947ba5aba3097321c76adcb5648a478e4a67e088fdc1e01511e51c4ad41a9f3","src/script.rs":"2921d7f445b20a95eac3c30abab7d99adb2bc31e7dcbc786a2da96db3f40c58c"},"package":null}
{"files":{"Cargo.toml":"f5439990185662ab31de12c07ef0c842438e3207bdfecc4fa6a9e4d4bea8a0d3","src/bytecode_offset.rs":"2aa7ba8c3cfbbd832092e65b599ab1c5a28d784ccc65d9e351bba656421b9a69","src/copy/AsyncFunctionResolveKind.h":"3851ecbb4728257595dd6e900749d1d8e02558574c00424a7ff0e3ca007fa6ec","src/copy/BytecodeFormatFlags.h":"a805958bfb8c97c87122722eb6343eacdf7bd5558ad8c79b324c7d55c1bda60e","src/copy/CheckIsObjectKind.h":"8f0e112396d966c9221a743d353f62671e04cdace7dd49a59898d94ba0f621b7","src/copy/FunctionFlags.h":"e2578c5747f298d03d81fa2b248e4b36800ac8d42d9d6ef801ebb1bc13bc3960","src/copy/FunctionPrefixKind.h":"f540a5c646a519b2d61aa27e4be865e08a31438def00ad5ba4ba2982ad1f2275","src/copy/GeneratorAndAsyncKind.h":"301668ce705970a51abfa94f89fd5db29ef5f129525110860e9e9bf7586ef187","src/copy/GeneratorResumeKind.h":"9e3cd9dc9c7f50937c6c45d73ec092dbfd92c4b56818ae6d1504bcd77078d0a6","src/copy/Opcodes.h":"e77bf04fcc272c9c7e2d842da3d3e6427b4d43c4244863d92435d7f74e7571a8","src/copy/SourceNotes.h":"1e467f4e63d6f40a428e257fecd210bd14664516adf75a45cb17ab02ccd65fd8","src/copy/StencilEnums.h":"e5a1db4af868fd65591ed97594f7aa9a4cde79194da0cabd62b34e950b3b10b4","src/copy/Symbol.h":"603985e8c92c94e021baf3a0114dd384035eda60827016d310f1507c8396a45e","src/copy/ThrowMsgKind.h":"5a06fa6cda81638b325af201a21396cfb460d993001a7725c858202b60237d04","src/env_coord.rs":"0be36a1bd307f5586affe0f3046d8b2ab2f5382b41b7b7bfb364b97d16a7c410","src/frame_slot.rs":"b20c81d67c572f20d06d493b211cd3eaa0432a8294541583643b82df3af2f813","src/function.rs":"b841ba6f7ecee3a38a136ef9902fd1d4a3f6b0aa96d1e8d8340e7f26dead75d9","src/gcthings.rs":"baadc7284c01961a4aa44d464a6f5a0d0be427b6d099c949d4411846738d9a45","src/lib.rs":"b003e085344277d2987ef492dc513048e8ec83217850a22ba7ca06ac01bc9b5c","src/opcode.rs":"8787623779252b6c1d0bc6b5beae105f22d3863077e17f24ebb06e7f3d4aa439","src/opcode_info.rs":"a27c6d5602f5ecdcc882a0167614bc7a7754d958124941b4c1c0cdc2b0a894f1","src/regexp.rs":"7436cf545b990bec7dcc51ff28d67deaca9d4ce894468fdad0dd44b25c571cf2","src/result.rs":"58a64e0619c4ba4c6b7d8834208698a8f1639ab1771f7ae22272f81fe3611d63","src/scope.rs":"3d2269a06d3e55d24f697338fedde95d9c653faec02d4694d0b63c79979e7c5a","src/scope_notes.rs":"9947ba5aba3097321c76adcb5648a478e4a67e088fdc1e01511e51c4ad41a9f3","src/script.rs":"2ae25be232f56702b726b1bac243bf297365b3ef6e44efc6821a564ac9e68a6e"},"package":null}

Просмотреть файл

@ -225,6 +225,7 @@
* SetPrototype
* Array literals
* RegExp literals
* Built-in objects
* [Functions]
* Creating functions
* Creating constructors
@ -1700,17 +1701,17 @@
*/ \
MACRO(DerivedConstructor, derived_constructor, NULL, 13, 1, 1, JOF_CLASS_CTOR) \
/*
* Pushes the current global's FunctionPrototype.
* Pushes the current global's %BuiltinObject%.
*
* `kind` must be in range for `JSProtoKey` (and must not be
* `JSProto_LIMIT`).
* `kind` must be a valid `BuiltinObjectKind` (and must not be
* `BuiltinObjectKind::None`).
*
* Category: Functions
* Type: Creating constructors
* Operands:
* Stack: => %FunctionPrototype%
* Category: Objects
* Type: Built-in objects
* Operands: uint8_t kind
* Stack: => %BuiltinObject%
*/ \
MACRO(FunctionProto, function_proto, NULL, 1, 0, 1, JOF_BYTE) \
MACRO(BuiltinObject, builtin_object, NULL, 2, 0, 1, JOF_UINT8) \
/*
* Invoke `callee` with `this` and `args`, and push the return value. Throw
* a TypeError if `callee` isn't a function.

Просмотреть файл

@ -124,7 +124,7 @@ macro_rules! using_opcode_database {
(FunWithProto, fun_with_proto, NULL, 5, 1, 1, JOF_OBJECT),
(ClassConstructor, class_constructor, NULL, 13, 0, 1, JOF_CLASS_CTOR),
(DerivedConstructor, derived_constructor, NULL, 13, 1, 1, JOF_CLASS_CTOR),
(FunctionProto, function_proto, NULL, 1, 0, 1, JOF_BYTE),
(BuiltinObject, builtin_object, NULL, 2, 0, 1, JOF_UINT8),
(Call, call, NULL, 3, -1, 1, JOF_ARGC|JOF_INVOKE|JOF_TYPESET|JOF_IC),
(CallIter, call_iter, NULL, 3, -1, 1, JOF_ARGC|JOF_INVOKE|JOF_TYPESET|JOF_IC),
(FunApply, fun_apply, NULL, 3, -1, 1, JOF_ARGC|JOF_INVOKE|JOF_TYPESET|JOF_IC),

Просмотреть файл

@ -341,7 +341,7 @@ impl ScriptStencil {
is_generator: bool,
is_async: bool,
fun_flags: FunctionFlags,
lazy_function_enclosing_scope_index: ScopeIndex,
lazy_function_enclosing_scope_index: Option<ScopeIndex>,
) -> Self {
let mut flags = ImmutableScriptFlagsEnum::IsFunction as u32;
if is_generator {
@ -359,7 +359,7 @@ impl ScriptStencil {
fun_name,
fun_nargs: 0,
fun_flags,
lazy_function_enclosing_scope_index: Some(lazy_function_enclosing_scope_index),
lazy_function_enclosing_scope_index,
is_standalone_function: false,
was_function_emitted: false,
is_singleton_function: false,

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -739,7 +739,10 @@ fn bench(args: &SimpleArgs) -> Result<(), Error> {
"Unable to serialize benchmark script path".into(),
))?;
run_mach(&["run", "-f", cmp_parsers, "--", "--", "--dir", realjs_path], args)
run_mach(
&["run", "-f", cmp_parsers, "--", "--", "--dir", realjs_path],
args,
)
}
fn test(args: &SimpleArgs) -> Result<(), Error> {