tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 2175ceb316818146a667effbe5ce677410792c2a
parent 5de158f01823e0fc2b7bd989115bb71b3aabb171
Author: Jan de Mooij <jdemooij@mozilla.com>
Date:   Fri, 12 Dec 2025 10:35:53 +0000

Bug 2005479 part 1 - Use generate_lir: true for more MIR instructions. r=iain

Differential Revision: https://phabricator.services.mozilla.com/D275979

Diffstat:
Mjs/src/jit/LIROps.yaml | 75---------------------------------------------------------------------------
Mjs/src/jit/MIROps.yaml | 22++++++++++++++++++++++
2 files changed, 22 insertions(+), 75 deletions(-)

diff --git a/js/src/jit/LIROps.yaml b/js/src/jit/LIROps.yaml @@ -267,14 +267,6 @@ num_temps: 1 mir_op: true -- name: InitElemGetterSetter - operands: - object: WordSized - id: BoxedValue - value: WordSized - call_instruction: true - mir_op: true - # Takes in an Object and a Value. - name: MutateProto operands: @@ -282,13 +274,6 @@ value: BoxedValue call_instruction: true -- name: InitPropGetterSetter - operands: - object: WordSized - value: WordSized - call_instruction: true - mir_op: true - - name: WasmRefAsNonNull operands: ref: WordSized @@ -1999,19 +1984,6 @@ num_temps: 2 mir_op: BinaryCache -- name: ModuleMetadata - result_type: WordSized - call_instruction: true - mir_op: true - -- name: DynamicImport - result_type: WordSized - operands: - specifier: BoxedValue - options: BoxedValue - call_instruction: true - mir_op: true - - name: Lambda result_type: WordSized operands: @@ -2796,13 +2768,6 @@ num_temps: 3 mir_op: true -- name: ValueToIterator - result_type: WordSized - operands: - value: BoxedValue - call_instruction: true - mir_op: ValueToIterator - - name: IteratorHasIndicesAndBranch successors: [ifTrue, ifFalse] operands: @@ -3050,10 +3015,6 @@ object: WordSized num_temps: 1 -- name: GuardGlobalGeneration - mir_op: true - num_temps: 1 - - name: GuardIsProxy operands: object: WordSized @@ -3724,10 +3685,6 @@ input: BoxedValue mir_op: true -- name: ThrowRuntimeLexicalError - call_instruction: true - mir_op: true - - name: ThrowMsg call_instruction: true mir_op: true @@ -3773,38 +3730,6 @@ call_instruction: true mir_op: true -- name: AsyncResolve - result_type: WordSized - operands: - generator: WordSized - value: BoxedValue - call_instruction: true - mir_op: true - -- name: AsyncReject - result_type: WordSized - operands: - generator: WordSized - reason: BoxedValue - stack: BoxedValue - call_instruction: true - mir_op: true - -- name: AsyncAwait - result_type: WordSized - operands: - value: BoxedValue - generator: WordSized - call_instruction: true - mir_op: true - -- name: CanSkipAwait - result_type: WordSized - operands: - value: BoxedValue - call_instruction: true - mir_op: true - - name: MaybeExtractAwaitValue result_type: BoxedValue operands: diff --git a/js/src/jit/MIROps.yaml b/js/src/jit/MIROps.yaml @@ -418,12 +418,16 @@ value: Object arguments: name: PropertyName* + possibly_calls: true + generate_lir: true - name: InitElemGetterSetter operands: object: Object id: Value value: Object + possibly_calls: true + generate_lir: true - name: Call gen_boilerplate: false @@ -1528,6 +1532,8 @@ result_type: None guard: true alias_set: custom + possibly_calls: true + generate_lir: true - name: ThrowMsg gen_boilerplate: false @@ -1620,12 +1626,16 @@ arguments: module: JSObject* result_type: Object + possibly_calls: true + generate_lir: true - name: DynamicImport operands: specifier: Value options: Value result_type: Object + possibly_calls: true + generate_lir: true - name: Lambda gen_boilerplate: false @@ -2263,6 +2273,8 @@ movable: true alias_set: custom congruent_to: custom + generate_lir: true + lir_temps: 1 - name: GuardIsProxy operands: @@ -2818,6 +2830,8 @@ operands: value: Value result_type: Object + possibly_calls: true + generate_lir: true - name: IteratorHasIndices operands: @@ -3216,6 +3230,8 @@ generator: Object value: Value result_type: Object + possibly_calls: true + generate_lir: true - name: AsyncReject operands: @@ -3223,6 +3239,8 @@ reason: Value stack: Value result_type: Object + possibly_calls: true + generate_lir: true # Returns from this function to the previous caller; this looks like a regular # Unary instruction and is used to lie to the MIR generator about suspending @@ -3239,6 +3257,8 @@ value: Value generator: Object result_type: Object + possibly_calls: true + generate_lir: true - name: CheckThisReinit operands: @@ -3255,6 +3275,8 @@ operands: value: Value result_type: Boolean + possibly_calls: true + generate_lir: true - name: MaybeExtractAwaitValue gen_boilerplate: false