Bug 1644117 - Update jsparagus to use JSOp::ToPropertyKey. r=jorendorff

Differential Revision: https://phabricator.services.mozilla.com/D78685
This commit is contained in:
Tooru Fujisawa 2020-06-08 14:43:49 +00:00
Родитель 373bdb9657
Коммит 447cb4a153
12 изменённых файлов: 410 добавлений и 406 удалений

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

@ -30,7 +30,7 @@ rev = "57a07e89e9ac92756b60b67c4a6ee06975b86288"
[source."https://github.com/mozilla-spidermonkey/jsparagus"]
git = "https://github.com/mozilla-spidermonkey/jsparagus"
replace-with = "vendored-sources"
rev = "bc612163f379fa9978571981e860ec34b6ad59bd"
rev = "14e2bb2f1b9ea7c1a65208a252c6dbe279612180"
[source."https://github.com/kvark/spirv_cross"]
branch = "wgpu3"

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

@ -2373,7 +2373,7 @@ dependencies = [
[[package]]
name = "jsparagus"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=bc612163f379fa9978571981e860ec34b6ad59bd#bc612163f379fa9978571981e860ec34b6ad59bd"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=14e2bb2f1b9ea7c1a65208a252c6dbe279612180#14e2bb2f1b9ea7c1a65208a252c6dbe279612180"
dependencies = [
"jsparagus-ast",
"jsparagus-emitter",
@ -2387,7 +2387,7 @@ dependencies = [
[[package]]
name = "jsparagus-ast"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=bc612163f379fa9978571981e860ec34b6ad59bd#bc612163f379fa9978571981e860ec34b6ad59bd"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=14e2bb2f1b9ea7c1a65208a252c6dbe279612180#14e2bb2f1b9ea7c1a65208a252c6dbe279612180"
dependencies = [
"bumpalo",
"indexmap",
@ -2398,7 +2398,7 @@ dependencies = [
[[package]]
name = "jsparagus-emitter"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=bc612163f379fa9978571981e860ec34b6ad59bd#bc612163f379fa9978571981e860ec34b6ad59bd"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=14e2bb2f1b9ea7c1a65208a252c6dbe279612180#14e2bb2f1b9ea7c1a65208a252c6dbe279612180"
dependencies = [
"bumpalo",
"byteorder",
@ -2411,7 +2411,7 @@ dependencies = [
[[package]]
name = "jsparagus-generated-parser"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=bc612163f379fa9978571981e860ec34b6ad59bd#bc612163f379fa9978571981e860ec34b6ad59bd"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=14e2bb2f1b9ea7c1a65208a252c6dbe279612180#14e2bb2f1b9ea7c1a65208a252c6dbe279612180"
dependencies = [
"bumpalo",
"jsparagus-ast",
@ -2421,12 +2421,12 @@ dependencies = [
[[package]]
name = "jsparagus-json-log"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=bc612163f379fa9978571981e860ec34b6ad59bd#bc612163f379fa9978571981e860ec34b6ad59bd"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=14e2bb2f1b9ea7c1a65208a252c6dbe279612180#14e2bb2f1b9ea7c1a65208a252c6dbe279612180"
[[package]]
name = "jsparagus-parser"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=bc612163f379fa9978571981e860ec34b6ad59bd#bc612163f379fa9978571981e860ec34b6ad59bd"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=14e2bb2f1b9ea7c1a65208a252c6dbe279612180#14e2bb2f1b9ea7c1a65208a252c6dbe279612180"
dependencies = [
"bumpalo",
"jsparagus-ast",
@ -2437,7 +2437,7 @@ dependencies = [
[[package]]
name = "jsparagus-scope"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=bc612163f379fa9978571981e860ec34b6ad59bd#bc612163f379fa9978571981e860ec34b6ad59bd"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=14e2bb2f1b9ea7c1a65208a252c6dbe279612180#14e2bb2f1b9ea7c1a65208a252c6dbe279612180"
dependencies = [
"indexmap",
"jsparagus-ast",
@ -2447,7 +2447,7 @@ dependencies = [
[[package]]
name = "jsparagus-stencil"
version = "0.1.0"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=bc612163f379fa9978571981e860ec34b6ad59bd#bc612163f379fa9978571981e860ec34b6ad59bd"
source = "git+https://github.com/mozilla-spidermonkey/jsparagus?rev=14e2bb2f1b9ea7c1a65208a252c6dbe279612180#14e2bb2f1b9ea7c1a65208a252c6dbe279612180"
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 = "bc612163f379fa9978571981e860ec34b6ad59bd" }
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "14e2bb2f1b9ea7c1a65208a252c6dbe279612180" }
# 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 = "bc612163f379fa9978571981e860ec34b6ad59bd" }
jsparagus = { git = "https://github.com/mozilla-spidermonkey/jsparagus", rev = "14e2bb2f1b9ea7c1a65208a252c6dbe279612180" }
# 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":"f781c84197ca49e784733532c8d7155b884299ec3f941fa12e24ea668f0dc057","src/block_emitter.rs":"78965260d87a66c5324d6f3bdfea0f1938f8037f70adde148dbb2db599d1b2c0","src/compilation_info.rs":"8c8abbf777f03c6c9fc8dbf903c4f9f65304f96bc17f04a0868b3dd22cb1d113","src/control_structures.rs":"bdb186e98c14fa4e769b23b3dee4376683e6c6530af0856d55c055aff4398b84","src/dis.rs":"4a335d813fa965482ca0f20a7b9295a55ce7625b577d42bd8b33b156b81c6306","src/emitter.rs":"134f9f38f7f1adecfc43d230e602b7a87a89757af0fc1f6939bf181775ce4164","src/emitter_scope.rs":"07a904b6973bd2dbc1f9395022c15f11f6befc9b0fb4f2f251ccfc3f09aff380","src/expression_emitter.rs":"f8e02785dffb179bbe9fe58e45bbfccc08adc3ad0a071a0073bed0feedc8ed9a","src/function_declaration_emitter.rs":"74610fae178ed14c99e3dd7de01dc611718203adf0a85c7fa5209d27f1520379","src/lib.rs":"7d5c1d2f6fa25a2c18dd08c8361b30e1ceeb207c91542b3cd19f7cd2ab4ef131","src/object_emitter.rs":"998423b3d6ef8797fadef6763803627df72fde292b1b34d6a41b2e66a331a181","src/reference_op_emitter.rs":"4ead96ef4424e3937c3f73e22b4e103f97cee522b9926345caeddcf4643ff843","src/script_emitter.rs":"44a6be5ecdcde3c32d78d100a205d38be2591c7c2cc109967579af7393e09fe8"},"package":null}
{"files":{"Cargo.toml":"00c740f44b5681e3277e519d2e143e6edfbff186ca31a07ddce2eb46b803ddd7","src/array_emitter.rs":"bbc6528321f1d11d7c86c4f2bfdcfc9dced8f0b8b1c30c9f0a5355f300d196b6","src/ast_emitter.rs":"f781c84197ca49e784733532c8d7155b884299ec3f941fa12e24ea668f0dc057","src/block_emitter.rs":"78965260d87a66c5324d6f3bdfea0f1938f8037f70adde148dbb2db599d1b2c0","src/compilation_info.rs":"8c8abbf777f03c6c9fc8dbf903c4f9f65304f96bc17f04a0868b3dd22cb1d113","src/control_structures.rs":"bdb186e98c14fa4e769b23b3dee4376683e6c6530af0856d55c055aff4398b84","src/dis.rs":"4a335d813fa965482ca0f20a7b9295a55ce7625b577d42bd8b33b156b81c6306","src/emitter.rs":"ee33b937fd17edeb8b9180927dfaeeccbef4618a72544685b1b712e8687b91fb","src/emitter_scope.rs":"07a904b6973bd2dbc1f9395022c15f11f6befc9b0fb4f2f251ccfc3f09aff380","src/expression_emitter.rs":"f8e02785dffb179bbe9fe58e45bbfccc08adc3ad0a071a0073bed0feedc8ed9a","src/function_declaration_emitter.rs":"74610fae178ed14c99e3dd7de01dc611718203adf0a85c7fa5209d27f1520379","src/lib.rs":"7d5c1d2f6fa25a2c18dd08c8361b30e1ceeb207c91542b3cd19f7cd2ab4ef131","src/object_emitter.rs":"998423b3d6ef8797fadef6763803627df72fde292b1b34d6a41b2e66a331a181","src/reference_op_emitter.rs":"4ead96ef4424e3937c3f73e22b4e103f97cee522b9926345caeddcf4643ff843","src/script_emitter.rs":"44a6be5ecdcde3c32d78d100a205d38be2591c7c2cc109967579af7393e09fe8"},"package":null}

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

@ -483,8 +483,8 @@ impl InstructionWriter {
self.emit_op(Opcode::Dec);
}
pub fn to_id(&mut self) {
self.emit_op(Opcode::ToId);
pub fn to_property_key(&mut self) {
self.emit_op(Opcode::ToPropertyKey);
}
pub fn to_numeric(&mut self) {

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

@ -1 +1 @@
{"files":{"Cargo.toml":"553be3c198fe555913bbeb7473b24e0e1fff12e48890a2e399b311df8a97c814","src/ast_builder.rs":"8b10743ebbc3390d1158cb44ff5c87fbb653d62521f3e1274565d0061eebe095","src/context_stack.rs":"29331d03cd4c8ee9283cb426ebe893b7ba6ad6d8a69016399c4d92a81cb1363b","src/declaration_kind.rs":"fdfda2fe408cce1c637d17fee0813160619450472c6de9befc36ebeed892cc3c","src/early_error_checker.rs":"150a106a8f0901b72ae40581f0c12f785983514cbc9042404ed6cf4315693d60","src/early_errors.rs":"8674454af7ac5efe51eb6a8e2abe088aad5560e0a0bd88a3eae66c90f1527149","src/error.rs":"507e4dd9c66720f3da2db135c3024392d8aaac5ccdb90c7f7463ccb2eff7efa8","src/lib.rs":"a40b11e1dda1afcccef5fc86a2030c326d38feb31e24596e602930dcad28f1ec","src/parser_tables_generated.rs":"f929ecaa8e8ffdbac8a0ae5ebb96b115f72b21116890952e04af75cca5a37718","src/stack_value_generated.rs":"d8696a671368e2565d589922e3a46d20667ed3e17e29953e69b970470e9639ee","src/token.rs":"479f4cb97d2e6bc654a70634f3809817cc73eaf749c845643beb3556b9ead383","src/traits/mod.rs":"bcc2fa63444ba4c763dc996f410a6871f2cdc3bde54e1924ca8cc25cba92674a"},"package":null}
{"files":{"Cargo.toml":"553be3c198fe555913bbeb7473b24e0e1fff12e48890a2e399b311df8a97c814","src/ast_builder.rs":"8b10743ebbc3390d1158cb44ff5c87fbb653d62521f3e1274565d0061eebe095","src/context_stack.rs":"29331d03cd4c8ee9283cb426ebe893b7ba6ad6d8a69016399c4d92a81cb1363b","src/declaration_kind.rs":"fdfda2fe408cce1c637d17fee0813160619450472c6de9befc36ebeed892cc3c","src/early_error_checker.rs":"150a106a8f0901b72ae40581f0c12f785983514cbc9042404ed6cf4315693d60","src/early_errors.rs":"8674454af7ac5efe51eb6a8e2abe088aad5560e0a0bd88a3eae66c90f1527149","src/error.rs":"507e4dd9c66720f3da2db135c3024392d8aaac5ccdb90c7f7463ccb2eff7efa8","src/lib.rs":"a40b11e1dda1afcccef5fc86a2030c326d38feb31e24596e602930dcad28f1ec","src/parser_tables_generated.rs":"8c015c4d4507dca31d7aba6bd58413ea61a165bd282c95e77126bed31b8a2094","src/stack_value_generated.rs":"d8696a671368e2565d589922e3a46d20667ed3e17e29953e69b970470e9639ee","src/token.rs":"479f4cb97d2e6bc654a70634f3809817cc73eaf749c845643beb3556b9ead383","src/traits/mod.rs":"bcc2fa63444ba4c763dc996f410a6871f2cdc3bde54e1924ca8cc25cba92674a"},"package":null}

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

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

@ -1 +1 @@
{"files":{"Cargo.toml":"f5439990185662ab31de12c07ef0c842438e3207bdfecc4fa6a9e4d4bea8a0d3","src/bytecode_offset.rs":"2aa7ba8c3cfbbd832092e65b599ab1c5a28d784ccc65d9e351bba656421b9a69","src/copy/AsyncFunctionResolveKind.h":"3851ecbb4728257595dd6e900749d1d8e02558574c00424a7ff0e3ca007fa6ec","src/copy/BytecodeFormatFlags.h":"7dc2932321cf7cf874cd92b6d8076ebd4139492730f3ee5a3b6ed7fc57a0c685","src/copy/CheckIsObjectKind.h":"8f0e112396d966c9221a743d353f62671e04cdace7dd49a59898d94ba0f621b7","src/copy/FunctionFlags.h":"4376653f70711d916bc36c2096165f0be9a50c487b9d471821da1cad80daa3a3","src/copy/FunctionPrefixKind.h":"f540a5c646a519b2d61aa27e4be865e08a31438def00ad5ba4ba2982ad1f2275","src/copy/GeneratorAndAsyncKind.h":"301668ce705970a51abfa94f89fd5db29ef5f129525110860e9e9bf7586ef187","src/copy/GeneratorResumeKind.h":"9e3cd9dc9c7f50937c6c45d73ec092dbfd92c4b56818ae6d1504bcd77078d0a6","src/copy/Opcodes.h":"72e0faa4eb0ed4e59ee2205d0ed6734fc4e7383552545d605eef2201e69d4c99","src/copy/SourceNotes.h":"1e467f4e63d6f40a428e257fecd210bd14664516adf75a45cb17ab02ccd65fd8","src/copy/StencilEnums.h":"e5a1db4af868fd65591ed97594f7aa9a4cde79194da0cabd62b34e950b3b10b4","src/copy/Symbol.h":"f68b32e1b7add89931a1fa82a6888ebf6d875d03b05872469de426844532bf33","src/copy/ThrowMsgKind.h":"da805756961d81a2b50aeb391a02fd59a0aa39a9e3eb6aae21b423b15875ab30","src/env_coord.rs":"0be36a1bd307f5586affe0f3046d8b2ab2f5382b41b7b7bfb364b97d16a7c410","src/frame_slot.rs":"b20c81d67c572f20d06d493b211cd3eaa0432a8294541583643b82df3af2f813","src/function.rs":"5547de3c00ea1f8b90845da635a05c10d7a32fce941fcb421a91267feb4998d3","src/gcthings.rs":"6237c13fae9a5cfc67037c6fedf489747db67c38952aad95c322a6b7944211b7","src/lib.rs":"b003e085344277d2987ef492dc513048e8ec83217850a22ba7ca06ac01bc9b5c","src/opcode.rs":"b9ebb9f03cebbc731b27cddb5799e34f4af12854a1e89aa459e153e0f087bbeb","src/opcode_info.rs":"a27c6d5602f5ecdcc882a0167614bc7a7754d958124941b4c1c0cdc2b0a894f1","src/regexp.rs":"7436cf545b990bec7dcc51ff28d67deaca9d4ce894468fdad0dd44b25c571cf2","src/result.rs":"0244b908bca220114e05291cca64c5e78edd48af2f0982d9587b4eaed5980eaa","src/scope.rs":"7727839d8175171ce097a41e1288498b6d7f6b0fda9037f6cf34655baf4bc562","src/scope_notes.rs":"9947ba5aba3097321c76adcb5648a478e4a67e088fdc1e01511e51c4ad41a9f3","src/script.rs":"a150a209be11380ecb7a4a36c21c3693961625293882c0563a2294a211a82b99"},"package":null}
{"files":{"Cargo.toml":"f5439990185662ab31de12c07ef0c842438e3207bdfecc4fa6a9e4d4bea8a0d3","src/bytecode_offset.rs":"2aa7ba8c3cfbbd832092e65b599ab1c5a28d784ccc65d9e351bba656421b9a69","src/copy/AsyncFunctionResolveKind.h":"3851ecbb4728257595dd6e900749d1d8e02558574c00424a7ff0e3ca007fa6ec","src/copy/BytecodeFormatFlags.h":"7dc2932321cf7cf874cd92b6d8076ebd4139492730f3ee5a3b6ed7fc57a0c685","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":"b92c84bddc0ec8826768cfe592a3d6d486b48515d1b50773e3db00a012ec9b57","src/copy/SourceNotes.h":"1e467f4e63d6f40a428e257fecd210bd14664516adf75a45cb17ab02ccd65fd8","src/copy/StencilEnums.h":"e5a1db4af868fd65591ed97594f7aa9a4cde79194da0cabd62b34e950b3b10b4","src/copy/Symbol.h":"603985e8c92c94e021baf3a0114dd384035eda60827016d310f1507c8396a45e","src/copy/ThrowMsgKind.h":"da805756961d81a2b50aeb391a02fd59a0aa39a9e3eb6aae21b423b15875ab30","src/env_coord.rs":"0be36a1bd307f5586affe0f3046d8b2ab2f5382b41b7b7bfb364b97d16a7c410","src/frame_slot.rs":"b20c81d67c572f20d06d493b211cd3eaa0432a8294541583643b82df3af2f813","src/function.rs":"5547de3c00ea1f8b90845da635a05c10d7a32fce941fcb421a91267feb4998d3","src/gcthings.rs":"6237c13fae9a5cfc67037c6fedf489747db67c38952aad95c322a6b7944211b7","src/lib.rs":"b003e085344277d2987ef492dc513048e8ec83217850a22ba7ca06ac01bc9b5c","src/opcode.rs":"6535a2c10e9e57286ece7c84da5d06f3e3abc8fdaa9bb7b60efda2b1f72cfc56","src/opcode_info.rs":"a27c6d5602f5ecdcc882a0167614bc7a7754d958124941b4c1c0cdc2b0a894f1","src/regexp.rs":"7436cf545b990bec7dcc51ff28d67deaca9d4ce894468fdad0dd44b25c571cf2","src/result.rs":"0244b908bca220114e05291cca64c5e78edd48af2f0982d9587b4eaed5980eaa","src/scope.rs":"7727839d8175171ce097a41e1288498b6d7f6b0fda9037f6cf34655baf4bc562","src/scope_notes.rs":"9947ba5aba3097321c76adcb5648a478e4a67e088fdc1e01511e51c4ad41a9f3","src/script.rs":"a150a209be11380ecb7a4a36c21c3693961625293882c0563a2294a211a82b99"},"package":null}

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

@ -186,13 +186,16 @@ class FunctionFlags {
MOZ_ASSERT_IF(hasFlags(WASM_JIT_ENTRY), isWasm());
return hasFlags(WASM_JIT_ENTRY);
}
bool isNativeWithJitEntry() const {
MOZ_ASSERT_IF(isWasmWithJitEntry(), isNative());
return isWasmWithJitEntry();
bool isNativeWithoutJitEntry() const {
MOZ_ASSERT_IF(!hasJitEntry(), isNative());
return !hasJitEntry();
}
bool isBuiltinNative() const {
return isNative() && !isAsmJSNative() && !isWasm();
}
bool hasJitEntry() const {
return hasBaseScript() || hasSelfHostedLazyScript() || isWasmWithJitEntry();
}
/* Possible attributes of an interpreted function: */
bool isBoundFunction() const { return hasFlags(BOUND_FUN); }

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

@ -705,7 +705,7 @@
* Operands:
* Stack: propertyNameValue => propertyKey
*/ \
MACRO(ToId, to_id, NULL, 1, 1, 1, JOF_BYTE) \
MACRO(ToPropertyKey, to_property_key, NULL, 1, 1, 1, JOF_BYTE|JOF_IC) \
/*
* Convert a value to a numeric value (a Number or BigInt).
*

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

@ -75,6 +75,7 @@ enum class SymbolCode : uint32_t {
WellKnownAPILimit =
0x80000000, // matches JS::shadow::Symbol::WellKnownAPILimit for inline
// use
PrivateNameSymbol = 0xfffffffd, // created by the #PrivateName syntax.
InSymbolRegistry =
0xfffffffe, // created by Symbol.for() or JS::GetSymbolFor()
UniqueSymbol = 0xffffffff // created by Symbol() or JS::NewSymbol()

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

@ -54,7 +54,7 @@ macro_rules! using_opcode_database {
(Div, div, "/", 1, 2, 1, JOF_BYTE|JOF_IC),
(Mod, mod, "%", 1, 2, 1, JOF_BYTE|JOF_IC),
(Pow, pow, "**", 1, 2, 1, JOF_BYTE|JOF_IC),
(ToId, to_id, NULL, 1, 1, 1, JOF_BYTE),
(ToPropertyKey, to_property_key, NULL, 1, 1, 1, JOF_BYTE|JOF_IC),
(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),