[interpreter] Make FunctionEntry StackCheck bytecodes implicit

FunctionEntry StackChecks is one of the two cases where we generate a
StackCheck bytecode. In these cases, we do stack check against the js
limit (not to be confused with the real js limit). Their purpose is to
be able to interrupt the running code.

We can omit the FunctionEntry StackCheck by embedding its code into
the InterpreterEntryTrampoline builtin. We save one bytecode per
interpreted function.

This change has rippling effects for optimized code, as well as the
deoptimizer.

Bug: v8:10149, v8:9977, v8:9960
Change-Id: I6156de48b3bc0b519dd21190a8e6214fbe96c78d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914218
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66206}
This commit is contained in:
Santiago Aboy Solanes 2020-02-10 16:09:27 +00:00 committed by Commit Bot
parent 0920f17628
commit 9d3dc6f219
112 changed files with 1140 additions and 1293 deletions

View File

@ -66,10 +66,16 @@ static void GenerateTailCallToReturnedCode(MacroAssembler* masm,
namespace {
void LoadRealStackLimit(MacroAssembler* masm, Register destination) {
enum StackLimitKind { kInterruptStackLimit, kRealStackLimit };
void LoadStackLimit(MacroAssembler* masm, Register destination,
StackLimitKind kind) {
DCHECK(masm->root_array_available());
Isolate* isolate = masm->isolate();
ExternalReference limit = ExternalReference::address_of_real_jslimit(isolate);
ExternalReference limit =
kind == StackLimitKind::kRealStackLimit
? ExternalReference::address_of_real_jslimit(isolate)
: ExternalReference::address_of_jslimit(isolate);
DCHECK(TurboAssembler::IsAddressableThroughRootRegister(isolate, limit));
intptr_t offset =
@ -83,7 +89,7 @@ void Generate_StackOverflowCheck(MacroAssembler* masm, Register num_args,
// Check the stack for overflow. We are not trying to catch
// interruptions (e.g. debug break and preemption) here, so the "real stack
// limit" is checked.
LoadRealStackLimit(masm, scratch);
LoadStackLimit(masm, scratch, StackLimitKind::kRealStackLimit);
// Make scratch the space we have left. The stack might already be overflowed
// here which will cause scratch to become negative.
__ sub(scratch, sp, scratch);
@ -414,7 +420,7 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
// Check the stack for overflow. We are not trying to catch interruptions
// (i.e. debug break and preemption) here, so check the "real stack limit".
Label stack_overflow;
LoadRealStackLimit(masm, scratch);
LoadStackLimit(masm, scratch, StackLimitKind::kRealStackLimit);
__ cmp(sp, scratch);
__ b(lo, &stack_overflow);
@ -1086,7 +1092,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
// Do a stack check to ensure we don't go over the limit.
__ sub(r9, sp, Operand(r4));
LoadRealStackLimit(masm, r2);
LoadStackLimit(masm, r2, StackLimitKind::kRealStackLimit);
__ cmp(r9, Operand(r2));
__ b(lo, &stack_overflow);
@ -1112,6 +1118,14 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
__ cmp(r9, Operand::Zero());
__ str(r3, MemOperand(fp, r9, LSL, kPointerSizeLog2), ne);
// Perform interrupt stack check.
// TODO(solanes): Merge with the real stack limit check above.
Label stack_check_interrupt, after_stack_check_interrupt;
LoadStackLimit(masm, r4, StackLimitKind::kInterruptStackLimit);
__ cmp(sp, r4);
__ b(lo, &stack_check_interrupt);
__ bind(&after_stack_check_interrupt);
// The accumulator is already loaded with undefined.
// Load the dispatch table into a register and dispatch to the bytecode
@ -1153,6 +1167,30 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
LeaveInterpreterFrame(masm, r2);
__ Jump(lr);
__ bind(&stack_check_interrupt);
// Modify the bytecode offset in the stack to be kFunctionEntryBytecodeOffset
// for the call to the StackGuard.
__ mov(kInterpreterBytecodeOffsetRegister,
Operand(Smi::FromInt(BytecodeArray::kHeaderSize - kHeapObjectTag +
kFunctionEntryBytecodeOffset)));
__ str(kInterpreterBytecodeOffsetRegister,
MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
__ CallRuntime(Runtime::kStackGuard);
// After the call, restore the bytecode array, bytecode offset and accumulator
// registers again. Also, restore the bytecode offset in the stack to its
// previous value.
__ ldr(kInterpreterBytecodeArrayRegister,
MemOperand(fp, InterpreterFrameConstants::kBytecodeArrayFromFp));
__ mov(kInterpreterBytecodeOffsetRegister,
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ LoadRoot(kInterpreterAccumulatorRegister, RootIndex::kUndefinedValue);
__ SmiTag(r4, kInterpreterBytecodeOffsetRegister);
__ str(r4, MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
__ jmp(&after_stack_check_interrupt);
__ bind(&optimized_code_slot_not_empty);
Label maybe_has_optimized_code;
// Check if optimized code marker is actually a weak reference to the
@ -1355,6 +1393,15 @@ static void Generate_InterpreterEnterBytecode(MacroAssembler* masm) {
MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
__ SmiUntag(kInterpreterBytecodeOffsetRegister);
if (FLAG_debug_code) {
Label okay;
__ cmp(kInterpreterBytecodeOffsetRegister,
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ b(ge, &okay);
__ bkpt(0);
__ bind(&okay);
}
// Dispatch to the target bytecode.
UseScratchRegisterScope temps(masm);
Register scratch = temps.Acquire();
@ -1374,6 +1421,12 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
__ SmiUntag(kInterpreterBytecodeOffsetRegister);
Label enter_bytecode, function_entry_bytecode;
__ cmp(kInterpreterBytecodeOffsetRegister,
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag +
kFunctionEntryBytecodeOffset));
__ b(eq, &function_entry_bytecode);
// Load the current bytecode.
__ ldrb(r1, MemOperand(kInterpreterBytecodeArrayRegister,
kInterpreterBytecodeOffsetRegister));
@ -1384,12 +1437,22 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
kInterpreterBytecodeOffsetRegister, r1, r2,
&if_return);
__ bind(&enter_bytecode);
// Convert new bytecode offset to a Smi and save in the stackframe.
__ SmiTag(r2, kInterpreterBytecodeOffsetRegister);
__ str(r2, MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
Generate_InterpreterEnterBytecode(masm);
__ bind(&function_entry_bytecode);
// If the code deoptimizes during the implicit function entry stack interrupt
// check, it will have a bailout ID of kFunctionEntryBytecodeOffset, which is
// not a valid bytecode offset. Detect this case and advance to the first
// actual bytecode.
__ mov(kInterpreterBytecodeOffsetRegister,
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ b(&enter_bytecode);
// We should never take the if_return path.
__ bind(&if_return);
__ Abort(AbortReason::kInvalidBytecodeAdvance);
@ -1995,7 +2058,8 @@ void Generate_PushBoundArguments(MacroAssembler* masm) {
// Compute the space we have left. The stack might already be overflowed
// here which will cause remaining_stack_size to become negative.
LoadRealStackLimit(masm, remaining_stack_size);
LoadStackLimit(masm, remaining_stack_size,
StackLimitKind::kRealStackLimit);
__ sub(remaining_stack_size, sp, remaining_stack_size);
// Check if the arguments will overflow the stack.

View File

@ -66,10 +66,16 @@ static void GenerateTailCallToReturnedCode(MacroAssembler* masm,
namespace {
void LoadRealStackLimit(MacroAssembler* masm, Register destination) {
enum StackLimitKind { kInterruptStackLimit, kRealStackLimit };
void LoadStackLimit(MacroAssembler* masm, Register destination,
StackLimitKind kind) {
DCHECK(masm->root_array_available());
Isolate* isolate = masm->isolate();
ExternalReference limit = ExternalReference::address_of_real_jslimit(isolate);
ExternalReference limit =
kind == StackLimitKind::kRealStackLimit
? ExternalReference::address_of_real_jslimit(isolate)
: ExternalReference::address_of_jslimit(isolate);
DCHECK(TurboAssembler::IsAddressableThroughRootRegister(isolate, limit));
intptr_t offset =
@ -86,7 +92,7 @@ void Generate_StackOverflowCheck(MacroAssembler* masm, Register num_args,
// We are not trying to catch interruptions (e.g. debug break and
// preemption) here, so the "real stack limit" is checked.
LoadRealStackLimit(masm, scratch);
LoadStackLimit(masm, scratch, StackLimitKind::kRealStackLimit);
// Make scratch the space we have left. The stack might already be overflowed
// here which will cause scratch to become negative.
__ Sub(scratch, sp, scratch);
@ -466,7 +472,7 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
// Check the stack for overflow. We are not trying to catch interruptions
// (i.e. debug break and preemption) here, so check the "real stack limit".
Label stack_overflow;
LoadRealStackLimit(masm, x10);
LoadStackLimit(masm, x10, StackLimitKind::kRealStackLimit);
__ Cmp(sp, x10);
__ B(lo, &stack_overflow);
@ -1214,7 +1220,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
{
UseScratchRegisterScope temps(masm);
Register scratch = temps.AcquireX();
LoadRealStackLimit(masm, scratch);
LoadStackLimit(masm, scratch, StackLimitKind::kRealStackLimit);
__ Cmp(x10, scratch);
}
__ B(lo, &stack_overflow);
@ -1244,6 +1250,14 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
__ Str(x3, MemOperand(fp, x10, LSL, kSystemPointerSizeLog2));
__ Bind(&no_incoming_new_target_or_generator_register);
// Perform interrupt stack check.
// TODO(solanes): Merge with the real stack limit check above.
Label stack_check_interrupt, after_stack_check_interrupt;
LoadStackLimit(masm, x10, StackLimitKind::kInterruptStackLimit);
__ Cmp(sp, x10);
__ B(lo, &stack_check_interrupt);
__ Bind(&after_stack_check_interrupt);
// The accumulator is already loaded with undefined.
// Load the dispatch table into a register and dispatch to the bytecode
@ -1284,6 +1298,30 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
LeaveInterpreterFrame(masm, x2);
__ Ret();
__ bind(&stack_check_interrupt);
// Modify the bytecode offset in the stack to be kFunctionEntryBytecodeOffset
// for the call to the StackGuard.
__ Mov(kInterpreterBytecodeOffsetRegister,
Operand(Smi::FromInt(BytecodeArray::kHeaderSize - kHeapObjectTag +
kFunctionEntryBytecodeOffset)));
__ Str(kInterpreterBytecodeOffsetRegister,
MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
__ CallRuntime(Runtime::kStackGuard);
// After the call, restore the bytecode array, bytecode offset and accumulator
// registers again. Also, restore the bytecode offset in the stack to its
// previous value.
__ Ldr(kInterpreterBytecodeArrayRegister,
MemOperand(fp, InterpreterFrameConstants::kBytecodeArrayFromFp));
__ Mov(kInterpreterBytecodeOffsetRegister,
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ LoadRoot(kInterpreterAccumulatorRegister, RootIndex::kUndefinedValue);
__ SmiTag(x10, kInterpreterBytecodeOffsetRegister);
__ Str(x10, MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
__ jmp(&after_stack_check_interrupt);
__ bind(&optimized_code_slot_not_empty);
Label maybe_has_optimized_code;
// Check if optimized code marker is actually a weak reference to the
@ -1516,6 +1554,15 @@ static void Generate_InterpreterEnterBytecode(MacroAssembler* masm) {
__ SmiUntag(kInterpreterBytecodeOffsetRegister,
MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
if (FLAG_debug_code) {
Label okay;
__ cmp(kInterpreterBytecodeOffsetRegister,
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ B(ge, &okay);
__ Unreachable();
__ bind(&okay);
}
// Dispatch to the target bytecode.
__ Ldrb(x23, MemOperand(kInterpreterBytecodeArrayRegister,
kInterpreterBytecodeOffsetRegister));
@ -1532,6 +1579,12 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
__ SmiUntag(kInterpreterBytecodeOffsetRegister,
MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
Label enter_bytecode, function_entry_bytecode;
__ cmp(kInterpreterBytecodeOffsetRegister,
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag +
kFunctionEntryBytecodeOffset));
__ B(eq, &function_entry_bytecode);
// Load the current bytecode.
__ Ldrb(x1, MemOperand(kInterpreterBytecodeArrayRegister,
kInterpreterBytecodeOffsetRegister));
@ -1542,12 +1595,22 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
kInterpreterBytecodeOffsetRegister, x1, x2,
&if_return);
__ bind(&enter_bytecode);
// Convert new bytecode offset to a Smi and save in the stackframe.
__ SmiTag(x2, kInterpreterBytecodeOffsetRegister);
__ Str(x2, MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
Generate_InterpreterEnterBytecode(masm);
__ bind(&function_entry_bytecode);
// If the code deoptimizes during the implicit function entry stack interrupt
// check, it will have a bailout ID of kFunctionEntryBytecodeOffset, which is
// not a valid bytecode offset. Detect this case and advance to the first
// actual bytecode.
__ Mov(kInterpreterBytecodeOffsetRegister,
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ B(&enter_bytecode);
// We should never take the if_return path.
__ bind(&if_return);
__ Abort(AbortReason::kInvalidBytecodeAdvance);
@ -2376,7 +2439,7 @@ void Generate_PushBoundArguments(MacroAssembler* masm) {
// (i.e. debug break and preemption) here, so check the "real stack
// limit".
Label done;
LoadRealStackLimit(masm, x10);
LoadStackLimit(masm, x10, StackLimitKind::kRealStackLimit);
// Make x10 the space we have left. The stack might already be overflowed
// here which will cause x10 to become negative.
__ Sub(x10, sp, x10);

View File

@ -65,6 +65,24 @@ static void GenerateTailCallToReturnedCode(MacroAssembler* masm,
namespace {
enum StackLimitKind { kInterruptStackLimit, kRealStackLimit };
void CompareStackLimit(MacroAssembler* masm, Register with,
StackLimitKind kind) {
DCHECK(masm->root_array_available());
Isolate* isolate = masm->isolate();
// Address through the root register. No load is needed.
ExternalReference limit =
kind == StackLimitKind::kRealStackLimit
? ExternalReference::address_of_real_jslimit(isolate)
: ExternalReference::address_of_jslimit(isolate);
DCHECK(TurboAssembler::IsAddressableThroughRootRegister(isolate, limit));
intptr_t offset =
TurboAssembler::RootRegisterOffsetForExternalReference(isolate, limit);
__ cmp(with, Operand(kRootRegister, offset));
}
void Generate_StackOverflowCheck(MacroAssembler* masm, Register num_args,
Register scratch, Label* stack_overflow,
bool include_receiver = false) {
@ -637,7 +655,7 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
// Check the stack for overflow. We are not trying to catch interruptions
// (i.e. debug break and preemption) here, so check the "real stack limit".
Label stack_overflow;
__ CompareRealStackLimit(esp);
CompareStackLimit(masm, esp, StackLimitKind::kRealStackLimit);
__ j(below, &stack_overflow);
// Pop return address.
@ -1028,7 +1046,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
// Do a stack check to ensure we don't go over the limit.
__ mov(eax, esp);
__ sub(eax, frame_size);
__ CompareRealStackLimit(eax);
CompareStackLimit(masm, eax, StackLimitKind::kRealStackLimit);
__ j(below, &stack_overflow);
// If ok, push undefined as the initial value for all register file entries.
@ -1056,8 +1074,15 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
__ mov(Operand(ebp, ecx, times_system_pointer_size, 0), edx);
__ bind(&no_incoming_new_target_or_generator_register);
// Load accumulator and bytecode offset into registers.
__ LoadRoot(kInterpreterAccumulatorRegister, RootIndex::kUndefinedValue);
// Perform interrupt stack check.
// TODO(solanes): Merge with the real stack limit check above.
Label stack_check_interrupt, after_stack_check_interrupt;
CompareStackLimit(masm, esp, StackLimitKind::kInterruptStackLimit);
__ j(below, &stack_check_interrupt, Label::kNear);
__ bind(&after_stack_check_interrupt);
// The accumulator is already loaded with undefined.
__ mov(kInterpreterBytecodeOffsetRegister,
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag));
@ -1098,6 +1123,31 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
LeaveInterpreterFrame(masm, edx, ecx);
__ ret(0);
__ bind(&stack_check_interrupt);
// Modify the bytecode offset in the stack to be kFunctionEntryBytecodeOffset
// for the call to the StackGuard.
__ mov(Operand(ebp, InterpreterFrameConstants::kBytecodeOffsetFromFp),
Immediate(Smi::FromInt(BytecodeArray::kHeaderSize - kHeapObjectTag +
kFunctionEntryBytecodeOffset)));
__ CallRuntime(Runtime::kStackGuard);
// After the call, restore the bytecode array, bytecode offset and accumulator
// registers again. Also, restore the bytecode offset in the stack to its
// previous value.
__ mov(kInterpreterBytecodeArrayRegister,
Operand(ebp, InterpreterFrameConstants::kBytecodeArrayFromFp));
__ mov(kInterpreterBytecodeOffsetRegister,
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ LoadRoot(kInterpreterAccumulatorRegister, RootIndex::kUndefinedValue);
// It's ok to clobber kInterpreterBytecodeOffsetRegister since we are setting
// it again after continuing.
__ SmiTag(kInterpreterBytecodeOffsetRegister);
__ mov(Operand(ebp, InterpreterFrameConstants::kBytecodeOffsetFromFp),
kInterpreterBytecodeOffsetRegister);
__ jmp(&after_stack_check_interrupt);
__ bind(&optimized_code_slot_not_empty);
Label maybe_has_optimized_code;
// Check if optimized code marker is actually a weak reference to the
@ -1408,6 +1458,15 @@ static void Generate_InterpreterEnterBytecode(MacroAssembler* masm) {
Operand(ebp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
__ SmiUntag(kInterpreterBytecodeOffsetRegister);
if (FLAG_debug_code) {
Label okay;
__ cmp(kInterpreterBytecodeOffsetRegister,
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ j(greater_equal, &okay, Label::kNear);
__ int3();
__ bind(&okay);
}
// Dispatch to the target bytecode.
__ movzx_b(scratch, Operand(kInterpreterBytecodeArrayRegister,
kInterpreterBytecodeOffsetRegister, times_1, 0));
@ -1425,12 +1484,19 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
Operand(ebp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
__ SmiUntag(kInterpreterBytecodeOffsetRegister);
Label enter_bytecode, function_entry_bytecode;
__ cmp(kInterpreterBytecodeOffsetRegister,
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag +
kFunctionEntryBytecodeOffset));
__ j(equal, &function_entry_bytecode);
// Advance to the next bytecode.
Label if_return;
AdvanceBytecodeOffsetOrReturn(masm, kInterpreterBytecodeArrayRegister,
kInterpreterBytecodeOffsetRegister, ecx, esi,
&if_return);
__ bind(&enter_bytecode);
// Convert new bytecode offset to a Smi and save in the stackframe.
__ mov(ecx, kInterpreterBytecodeOffsetRegister);
__ SmiTag(ecx);
@ -1438,6 +1504,15 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
Generate_InterpreterEnterBytecode(masm);
__ bind(&function_entry_bytecode);
// If the code deoptimizes during the implicit function entry stack interrupt
// check, it will have a bailout ID of kFunctionEntryBytecodeOffset, which is
// not a valid bytecode offset. Detect this case and advance to the first
// actual bytecode.
__ mov(kInterpreterBytecodeOffsetRegister,
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ jmp(&enter_bytecode);
// We should never take the if_return path.
__ bind(&if_return);
__ Abort(AbortReason::kInvalidBytecodeAdvance);
@ -2125,7 +2200,7 @@ void Generate_PushBoundArguments(MacroAssembler* masm) {
// Check the stack for overflow. We are not trying to catch interruptions
// (i.e. debug break and preemption) here, so check the "real stack
// limit".
__ CompareRealStackLimit(esp);
CompareStackLimit(masm, esp, StackLimitKind::kRealStackLimit);
__ j(above_equal, &done, Label::kNear);
// Restore the stack pointer.
__ lea(esp, Operand(esp, edx, times_system_pointer_size, 0));

View File

@ -66,10 +66,15 @@ static void GenerateTailCallToReturnedCode(MacroAssembler* masm,
namespace {
Operand RealStackLimitAsOperand(MacroAssembler* masm) {
enum StackLimitKind { kInterruptStackLimit, kRealStackLimit };
Operand StackLimitAsOperand(MacroAssembler* masm, StackLimitKind kind) {
DCHECK(masm->root_array_available());
Isolate* isolate = masm->isolate();
ExternalReference limit = ExternalReference::address_of_real_jslimit(isolate);
ExternalReference limit =
kind == StackLimitKind::kRealStackLimit
? ExternalReference::address_of_real_jslimit(isolate)
: ExternalReference::address_of_jslimit(isolate);
DCHECK(TurboAssembler::IsAddressableThroughRootRegister(isolate, limit));
intptr_t offset =
@ -85,7 +90,8 @@ void Generate_StackOverflowCheck(
// Check the stack for overflow. We are not trying to catch
// interruptions (e.g. debug break and preemption) here, so the "real stack
// limit" is checked.
__ movq(kScratchRegister, RealStackLimitAsOperand(masm));
__ movq(kScratchRegister,
StackLimitAsOperand(masm, StackLimitKind::kRealStackLimit));
__ movq(scratch, rsp);
// Make scratch the space we have left. The stack might already be overflowed
// here which will cause scratch to become negative.
@ -746,7 +752,7 @@ void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
// Check the stack for overflow. We are not trying to catch interruptions
// (i.e. debug break and preemption) here, so check the "real stack limit".
Label stack_overflow;
__ cmpq(rsp, RealStackLimitAsOperand(masm));
__ cmpq(rsp, StackLimitAsOperand(masm, StackLimitKind::kRealStackLimit));
__ j(below, &stack_overflow);
// Pop return address.
@ -1128,7 +1134,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
// Do a stack check to ensure we don't go over the limit.
__ movq(rax, rsp);
__ subq(rax, rcx);
__ cmpq(rax, RealStackLimitAsOperand(masm));
__ cmpq(rax, StackLimitAsOperand(masm, StackLimitKind::kRealStackLimit));
__ j(below, &stack_overflow);
// If ok, push undefined as the initial value for all register file entries.
@ -1157,6 +1163,13 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
__ movq(Operand(rbp, rcx, times_system_pointer_size, 0), rdx);
__ bind(&no_incoming_new_target_or_generator_register);
// Perform interrupt stack check.
// TODO(solanes): Merge with the real stack limit check above.
Label stack_check_interrupt, after_stack_check_interrupt;
__ cmpq(rsp, StackLimitAsOperand(masm, StackLimitKind::kInterruptStackLimit));
__ j(below, &stack_check_interrupt, Label::kNear);
__ bind(&after_stack_check_interrupt);
// The accumulator is already loaded with undefined.
// Load the dispatch table into a register and dispatch to the bytecode
@ -1197,6 +1210,28 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
LeaveInterpreterFrame(masm, rbx, rcx);
__ ret(0);
__ bind(&stack_check_interrupt);
// Modify the bytecode offset in the stack to be kFunctionEntryBytecodeOffset
// for the call to the StackGuard.
__ movq(Operand(rbp, InterpreterFrameConstants::kBytecodeOffsetFromFp),
Immediate(Smi::FromInt(BytecodeArray::kHeaderSize - kHeapObjectTag +
kFunctionEntryBytecodeOffset)));
__ CallRuntime(Runtime::kStackGuard);
// After the call, restore the bytecode array, bytecode offset and accumulator
// registers again. Also, restore the bytecode offset in the stack to its
// previous value.
__ movq(kInterpreterBytecodeArrayRegister,
Operand(rbp, InterpreterFrameConstants::kBytecodeArrayFromFp));
__ movq(kInterpreterBytecodeOffsetRegister,
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ LoadRoot(kInterpreterAccumulatorRegister, RootIndex::kUndefinedValue);
__ SmiTag(rcx, kInterpreterBytecodeArrayRegister);
__ movq(Operand(rbp, InterpreterFrameConstants::kBytecodeOffsetFromFp), rcx);
__ jmp(&after_stack_check_interrupt);
__ bind(&compile_lazy);
GenerateTailCallToReturnedCode(masm, Runtime::kCompileLazy);
__ int3(); // Should not return.
@ -1424,6 +1459,15 @@ static void Generate_InterpreterEnterBytecode(MacroAssembler* masm) {
__ SmiUntag(kInterpreterBytecodeOffsetRegister,
Operand(rbp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
if (FLAG_debug_code) {
Label okay;
__ cmpq(kInterpreterBytecodeOffsetRegister,
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ j(greater_equal, &okay, Label::kNear);
__ int3();
__ bind(&okay);
}
// Dispatch to the target bytecode.
__ movzxbq(r11, Operand(kInterpreterBytecodeArrayRegister,
kInterpreterBytecodeOffsetRegister, times_1, 0));
@ -1440,6 +1484,12 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
__ SmiUntag(kInterpreterBytecodeOffsetRegister,
Operand(rbp, InterpreterFrameConstants::kBytecodeOffsetFromFp));
Label enter_bytecode, function_entry_bytecode;
__ cmpq(kInterpreterBytecodeOffsetRegister,
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag +
kFunctionEntryBytecodeOffset));
__ j(equal, &function_entry_bytecode);
// Load the current bytecode.
__ movzxbq(rbx, Operand(kInterpreterBytecodeArrayRegister,
kInterpreterBytecodeOffsetRegister, times_1, 0));
@ -1450,6 +1500,7 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
kInterpreterBytecodeOffsetRegister, rbx, rcx,
&if_return);
__ bind(&enter_bytecode);
// Convert new bytecode offset to a Smi and save in the stackframe.
__ SmiTag(kInterpreterBytecodeOffsetRegister);
__ movq(Operand(rbp, InterpreterFrameConstants::kBytecodeOffsetFromFp),
@ -1457,6 +1508,15 @@ void Builtins::Generate_InterpreterEnterBytecodeAdvance(MacroAssembler* masm) {
Generate_InterpreterEnterBytecode(masm);
__ bind(&function_entry_bytecode);
// If the code deoptimizes during the implicit function entry stack interrupt
// check, it will have a bailout ID of kFunctionEntryBytecodeOffset, which is
// not a valid bytecode offset. Detect this case and advance to the first
// actual bytecode.
__ movq(kInterpreterBytecodeOffsetRegister,
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag));
__ jmp(&enter_bytecode);
// We should never take the if_return path.
__ bind(&if_return);
__ Abort(AbortReason::kInvalidBytecodeAdvance);
@ -2243,7 +2303,8 @@ void Generate_PushBoundArguments(MacroAssembler* masm) {
// We are not trying to catch interruptions (i.e. debug break and
// preemption) here, so check the "real stack limit".
__ cmpq(kScratchRegister, RealStackLimitAsOperand(masm));
__ cmpq(kScratchRegister,
StackLimitAsOperand(masm, StackLimitKind::kRealStackLimit));
__ j(above_equal, &done, Label::kNear);
{
FrameScope scope(masm, StackFrame::MANUAL);

View File

@ -91,18 +91,6 @@ void TurboAssembler::CompareRoot(Register with, RootIndex index) {
}
}
void TurboAssembler::CompareRealStackLimit(Register with) {
CHECK(root_array_available()); // Only used by builtins.
// Address through the root register. No load is needed.
ExternalReference limit =
ExternalReference::address_of_real_jslimit(isolate());
DCHECK(IsAddressableThroughRootRegister(isolate(), limit));
intptr_t offset = RootRegisterOffsetForExternalReference(isolate(), limit);
cmp(with, Operand(kRootRegister, offset));
}
void MacroAssembler::PushRoot(RootIndex index) {
if (root_array_available()) {
DCHECK(RootsTable::IsImmortalImmovable(index));

View File

@ -216,7 +216,6 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
void LoadAddress(Register destination, ExternalReference source);
void CompareRealStackLimit(Register with);
void CompareRoot(Register with, RootIndex index);
void CompareRoot(Register with, Register scratch, RootIndex index);

View File

@ -165,7 +165,9 @@ Handle<ByteArray> SourcePositionTableBuilder::ToSourcePositionTable(
#ifdef ENABLE_SLOW_DCHECKS
// Brute force testing: Record all positions and decode
// the entire table to verify they are identical.
SourcePositionTableIterator it(*table, SourcePositionTableIterator::kAll);
SourcePositionTableIterator it(
*table, SourcePositionTableIterator::kAll,
SourcePositionTableIterator::kDontSkipFunctionEntry);
CheckTableEquals(raw_entries_, &it);
// No additional source positions after creating the table.
mode_ = OMIT_SOURCE_POSITIONS;
@ -182,8 +184,9 @@ OwnedVector<byte> SourcePositionTableBuilder::ToSourcePositionTableVector() {
#ifdef ENABLE_SLOW_DCHECKS
// Brute force testing: Record all positions and decode
// the entire table to verify they are identical.
SourcePositionTableIterator it(table.as_vector(),
SourcePositionTableIterator::kAll);
SourcePositionTableIterator it(
table.as_vector(), SourcePositionTableIterator::kAll,
SourcePositionTableIterator::kDontSkipFunctionEntry);
CheckTableEquals(raw_entries_, &it);
// No additional source positions after creating the table.
mode_ = OMIT_SOURCE_POSITIONS;
@ -191,16 +194,30 @@ OwnedVector<byte> SourcePositionTableBuilder::ToSourcePositionTableVector() {
return table;
}
SourcePositionTableIterator::SourcePositionTableIterator(ByteArray byte_array,
IterationFilter filter)
: raw_table_(VectorFromByteArray(byte_array)), filter_(filter) {
void SourcePositionTableIterator::Initialize() {
Advance();
if (function_entry_filter_ == kSkipFunctionEntry &&
current_.code_offset == kFunctionEntryBytecodeOffset && !done()) {
Advance();
}
}
SourcePositionTableIterator::SourcePositionTableIterator(
Handle<ByteArray> byte_array, IterationFilter filter)
: table_(byte_array), filter_(filter) {
Advance();
ByteArray byte_array, IterationFilter iteration_filter,
FunctionEntryFilter function_entry_filter)
: raw_table_(VectorFromByteArray(byte_array)),
iteration_filter_(iteration_filter),
function_entry_filter_(function_entry_filter) {
Initialize();
}
SourcePositionTableIterator::SourcePositionTableIterator(
Handle<ByteArray> byte_array, IterationFilter iteration_filter,
FunctionEntryFilter function_entry_filter)
: table_(byte_array),
iteration_filter_(iteration_filter),
function_entry_filter_(function_entry_filter) {
Initialize();
#ifdef DEBUG
// We can enable allocation because we keep the table in a handle.
no_gc.Release();
@ -208,9 +225,12 @@ SourcePositionTableIterator::SourcePositionTableIterator(
}
SourcePositionTableIterator::SourcePositionTableIterator(
Vector<const byte> bytes, IterationFilter filter)
: raw_table_(bytes), filter_(filter) {
Advance();
Vector<const byte> bytes, IterationFilter iteration_filter,
FunctionEntryFilter function_entry_filter)
: raw_table_(bytes),
iteration_filter_(iteration_filter),
function_entry_filter_(function_entry_filter) {
Initialize();
#ifdef DEBUG
// We can enable allocation because the underlying vector does not move.
no_gc.Release();
@ -231,9 +251,10 @@ void SourcePositionTableIterator::Advance() {
DecodeEntry(bytes, &index_, &tmp);
AddAndSetEntry(&current_, tmp);
SourcePosition p = source_position();
filter_satisfied = (filter_ == kAll) ||
(filter_ == kJavaScriptOnly && p.IsJavaScript()) ||
(filter_ == kExternalOnly && p.IsExternal());
filter_satisfied =
(iteration_filter_ == kAll) ||
(iteration_filter_ == kJavaScriptOnly && p.IsJavaScript()) ||
(iteration_filter_ == kExternalOnly && p.IsExternal());
}
}
}

View File

@ -23,7 +23,9 @@ class Zone;
struct PositionTableEntry {
PositionTableEntry()
: code_offset(0), source_position(0), is_statement(false) {}
: code_offset(kFunctionEntryBytecodeOffset),
source_position(0),
is_statement(false) {}
PositionTableEntry(int offset, int64_t source, bool statement)
: code_offset(offset), source_position(source), is_statement(statement) {}
@ -70,13 +72,23 @@ class V8_EXPORT_PRIVATE SourcePositionTableBuilder {
class V8_EXPORT_PRIVATE SourcePositionTableIterator {
public:
// Filter that applies when advancing the iterator. If the filter isn't
// satisfied, we advance the iterator again.
enum IterationFilter { kJavaScriptOnly = 0, kExternalOnly = 1, kAll = 2 };
// Filter that applies only to the first entry of the source position table.
// If it is kSkipFunctionEntry, it will skip the FunctionEntry entry if it
// exists.
enum FunctionEntryFilter {
kSkipFunctionEntry = 0,
kDontSkipFunctionEntry = 1
};
// Used for saving/restoring the iterator.
struct IndexAndPositionState {
int index_;
PositionTableEntry position_;
IterationFilter filter_;
IterationFilter iteration_filter_;
FunctionEntryFilter function_entry_filter_;
};
// We expose three flavours of the iterator, depending on the argument passed
@ -85,18 +97,23 @@ class V8_EXPORT_PRIVATE SourcePositionTableIterator {
// Handlified iterator allows allocation, but it needs a handle (and thus
// a handle scope). This is the preferred version.
explicit SourcePositionTableIterator(
Handle<ByteArray> byte_array, IterationFilter filter = kJavaScriptOnly);
Handle<ByteArray> byte_array,
IterationFilter iteration_filter = kJavaScriptOnly,
FunctionEntryFilter function_entry_filter = kSkipFunctionEntry);
// Non-handlified iterator does not need a handle scope, but it disallows
// allocation during its lifetime. This is useful if there is no handle
// scope around.
explicit SourcePositionTableIterator(
ByteArray byte_array, IterationFilter filter = kJavaScriptOnly);
ByteArray byte_array, IterationFilter iteration_filter = kJavaScriptOnly,
FunctionEntryFilter function_entry_filter = kSkipFunctionEntry);
// Handle-safe iterator based on an a vector located outside the garbage
// collected heap, allows allocation during its lifetime.
explicit SourcePositionTableIterator(
Vector<const byte> bytes, IterationFilter filter = kJavaScriptOnly);
Vector<const byte> bytes,
IterationFilter iteration_filter = kJavaScriptOnly,
FunctionEntryFilter function_entry_filter = kSkipFunctionEntry);
void Advance();
@ -114,22 +131,30 @@ class V8_EXPORT_PRIVATE SourcePositionTableIterator {
}
bool done() const { return index_ == kDone; }
IndexAndPositionState GetState() const { return {index_, current_, filter_}; }
IndexAndPositionState GetState() const {
return {index_, current_, iteration_filter_, function_entry_filter_};
}
void RestoreState(const IndexAndPositionState& saved_state) {
index_ = saved_state.index_;
current_ = saved_state.position_;
filter_ = saved_state.filter_;
iteration_filter_ = saved_state.iteration_filter_;
function_entry_filter_ = saved_state.function_entry_filter_;
}
private:
// Initializes the source position interator with the first valid bytecode.
// Also sets the FunctionEntry SourcePosition if it exists.
void Initialize();
static const int kDone = -1;
Vector<const byte> raw_table_;
Handle<ByteArray> table_;
int index_ = 0;
PositionTableEntry current_;
IterationFilter filter_;
IterationFilter iteration_filter_;
FunctionEntryFilter function_entry_filter_;
DISALLOW_HEAP_ALLOCATION(no_gc)
};

View File

@ -418,6 +418,10 @@ enum ArgvMode { kArgvOnStack, kArgvInRegister };
// This constant is used as an undefined value when passing source positions.
constexpr int kNoSourcePosition = -1;
// This constant is used to signal the function entry implicit stack check
// bytecode offset.
constexpr int kFunctionEntryBytecodeOffset = -1;
// This constant is used to indicate missing deoptimization information.
constexpr int kNoDeoptimizationId = -1;

View File

@ -164,6 +164,8 @@ class BytecodeGraphBuilder {
// to the given node and the output value produced by the node is combined.
// Conceptually this frame state is "after" a given operation.
void PrepareFrameState(Node* node, OutputFrameStateCombine combine);
void PrepareFrameState(Node* node, OutputFrameStateCombine combine,
BailoutId bailout_id);
void BuildCreateArguments(CreateArgumentsType type);
Node* BuildLoadGlobal(NameRef name, uint32_t feedback_slot_index,
@ -261,6 +263,9 @@ class BytecodeGraphBuilder {
// feedback. Returns kDisallowSpeculation if feedback is insufficient.
SpeculationMode GetSpeculationMode(int slot_id) const;
// Helper for building the implicit FunctionEntry StackCheck.
void BuildFunctionEntryStackCheck();
// Control flow plumbing.
void BuildJump();
void BuildJumpIf(Node* condition);
@ -1085,17 +1090,31 @@ void BytecodeGraphBuilder::PrepareEagerCheckpoint() {
void BytecodeGraphBuilder::PrepareFrameState(Node* node,
OutputFrameStateCombine combine) {
if (OperatorProperties::HasFrameStateInput(node->op())) {
PrepareFrameState(node, combine,
BailoutId(bytecode_iterator().current_offset()));
}
}
void BytecodeGraphBuilder::PrepareFrameState(Node* node,
OutputFrameStateCombine combine,
BailoutId bailout_id) {
if (OperatorProperties::HasFrameStateInput(node->op())) {
// Add the frame state for after the operation. The node in question has
// already been created and had a {Dead} frame state input up until now.
DCHECK_EQ(1, OperatorProperties::GetFrameStateInputCount(node->op()));
DCHECK_EQ(IrOpcode::kDead,
NodeProperties::GetFrameStateInput(node)->opcode());
BailoutId bailout_id(bytecode_iterator().current_offset());
DCHECK_IMPLIES(bailout_id.ToInt() == kFunctionEntryBytecodeOffset,
bytecode_iterator().current_offset() == 0);
// If we have kFunctionEntryBytecodeOffset as the bailout_id, we want to get
// the liveness at the moment of function entry. This is the same as the IN
// liveness of the first actual bytecode.
const BytecodeLivenessState* liveness_after =
bytecode_analysis().GetOutLivenessFor(
bytecode_iterator().current_offset());
bailout_id.ToInt() == kFunctionEntryBytecodeOffset
? bytecode_analysis().GetInLivenessFor(0)
: bytecode_analysis().GetOutLivenessFor(bailout_id.ToInt());
Node* frame_state_after =
environment()->Checkpoint(bailout_id, combine, liveness_after);
@ -1204,6 +1223,17 @@ void BytecodeGraphBuilder::RemoveMergeEnvironmentsBeforeOffset(
}
}
void BytecodeGraphBuilder::BuildFunctionEntryStackCheck() {
DCHECK(!visited_first_stack_check());
set_visited_first_stack_check();
if (!skip_first_stack_check()) {
Node* node =
NewNode(javascript()->StackCheck(StackCheckKind::kJSFunctionEntry));
PrepareFrameState(node, OutputFrameStateCombine::Ignore(),
BailoutId(kFunctionEntryBytecodeOffset));
}
}
// We will iterate through the OSR loop, then its parent, and so on
// until we have reached the outmost loop containing the OSR loop. We do
// not generate nodes for anything before the outermost loop.
@ -1307,6 +1337,8 @@ void BytecodeGraphBuilder::VisitBytecodes() {
// the last copies of the loops it contains) to be generated by the normal
// bytecode iteration below.
AdvanceToOsrEntryAndPeelLoops();
} else {
BuildFunctionEntryStackCheck();
}
bool has_one_shot_bytecode = false;
@ -3253,20 +3285,15 @@ void BytecodeGraphBuilder::VisitSwitchOnSmiNoFeedback() {
}
void BytecodeGraphBuilder::VisitStackCheck() {
// Note: The stack check kind is determined heuristically: we simply assume
// that the first seen stack check is at function-entry, and all other stack
// checks are at iteration-body. An alternative precise solution would be to
// parameterize the StackCheck bytecode; but this has the caveat of increased
// code size.
StackCheckKind kind = StackCheckKind::kJSIterationBody;
if (!visited_first_stack_check()) {
set_visited_first_stack_check();
kind = StackCheckKind::kJSFunctionEntry;
if (skip_first_stack_check()) return;
}
// TODO(v8:9977): In OSR we don't generate a FunctionEntry. However, we visit
// the OSR bytecodes. These bytecodes will contain a JumpLoop which will have
// an IterationBody stack check. In Non-Osr we guarantee that we have visited
// the FunctionEntry StackCheck before visiting the IterationBody ones.
DCHECK(osr_ || visited_first_stack_check());
PrepareEagerCheckpoint();
Node* node = NewNode(javascript()->StackCheck(kind));
Node* node =
NewNode(javascript()->StackCheck(StackCheckKind::kJSIterationBody));
environment()->RecordAfterState(node, Environment::kAttachFrameState);
}

View File

@ -1779,7 +1779,7 @@ void InterpretedFrame::PatchBytecodeOffset(int new_offset) {
DCHECK_EQ(InterpreterFrameConstants::kBytecodeOffsetFromFp,
InterpreterFrameConstants::kExpressionsOffset -
index * kSystemPointerSize);
int raw_offset = new_offset + BytecodeArray::kHeaderSize - kHeapObjectTag;
int raw_offset = BytecodeArray::kHeaderSize - kHeapObjectTag + new_offset;
SetExpression(index, Smi::FromInt(raw_offset));
}

View File

@ -3031,7 +3031,7 @@ Handle<JSMessageObject> Factory::NewJSMessageObject(
DCHECK_EQ(bytecode_offset, -1);
} else {
message_obj->set_shared_info(*shared_info);
DCHECK_GE(bytecode_offset, 0);
DCHECK_GE(bytecode_offset, kFunctionEntryBytecodeOffset);
}
}

View File

@ -1619,6 +1619,14 @@ uint32_t BytecodeArrayBuilder::GetOutputRegisterListOperand(
return static_cast<uint32_t>(reg_list.first_register().ToOperand());
}
void BytecodeArrayBuilder::EmitFunctionStartSourcePosition(int position) {
bytecode_array_writer_.SetFunctionEntrySourcePosition(position);
// Force an expression position to make sure we have one. If the next bytecode
// overwrites it, its fine since it would mean we have a source position
// anyway.
latest_source_info_.ForceExpressionPosition(position);
}
std::ostream& operator<<(std::ostream& os,
const BytecodeArrayBuilder::ToBooleanMode& mode) {
switch (mode) {

View File

@ -549,6 +549,8 @@ class V8_EXPORT_PRIVATE BytecodeArrayBuilder final {
void OutputStarRaw(Register reg);
void OutputMovRaw(Register src, Register dest);
void EmitFunctionStartSourcePosition(int position);
// Accessors
BytecodeRegisterAllocator* register_allocator() {
return &register_allocator_;

View File

@ -187,6 +187,12 @@ void BytecodeArrayWriter::BindTryRegionEnd(
handler_table_builder->SetTryRegionEnd(handler_id, current_offset);
}
void BytecodeArrayWriter::SetFunctionEntrySourcePosition(int position) {
bool is_statement = false;
source_position_table_builder_.AddPosition(
kFunctionEntryBytecodeOffset, SourcePosition(position), is_statement);
}
void BytecodeArrayWriter::StartBasicBlock() {
InvalidateLastBytecode();
exit_seen_in_block_ = false;

View File

@ -51,6 +51,8 @@ class V8_EXPORT_PRIVATE BytecodeArrayWriter final {
void BindTryRegionEnd(HandlerTableBuilder* handler_table_builder,
int handler_id);
void SetFunctionEntrySourcePosition(int position);
Handle<BytecodeArray> ToBytecodeArray(Isolate* isolate, int register_count,
int parameter_count,
Handle<ByteArray> handler_table);

View File

@ -1206,8 +1206,8 @@ void BytecodeGenerator::GenerateBytecode(uintptr_t stack_limit) {
AllocateTopLevelRegisters();
// Perform a stack-check before the body.
builder()->StackCheck(info()->literal()->start_position());
builder()->EmitFunctionStartSourcePosition(
info()->literal()->start_position());
if (info()->literal()->CanSuspend()) {
BuildGeneratorPrologue();

View File

@ -159,10 +159,12 @@ int AbstractCode::SourcePosition(int offset) {
if (maybe_table.IsException()) return kNoSourcePosition;
ByteArray source_position_table = ByteArray::cast(maybe_table);
int position = 0;
// Subtract one because the current PC is one instruction after the call site.
if (IsCode()) offset--;
for (SourcePositionTableIterator iterator(source_position_table);
int position = 0;
for (SourcePositionTableIterator iterator(
source_position_table, SourcePositionTableIterator::kJavaScriptOnly,
SourcePositionTableIterator::kDontSkipFunctionEntry);
!iterator.done() && iterator.code_offset() <= offset;
iterator.Advance()) {
position = iterator.source_position().ScriptOffset();

View File

@ -5891,7 +5891,7 @@ void JSMessageObject::EnsureSourcePositionsAvailable(
Isolate* isolate, Handle<JSMessageObject> message) {
if (!message->DidEnsureSourcePositionsAvailable()) {
DCHECK_EQ(message->start_position(), -1);
DCHECK_GE(message->bytecode_offset().value(), 0);
DCHECK_GE(message->bytecode_offset().value(), kFunctionEntryBytecodeOffset);
Handle<SharedFunctionInfo> shared_info(
SharedFunctionInfo::cast(message->shared_info()), isolate);
SharedFunctionInfo::EnsureSourcePositionsAvailable(isolate, shared_info);

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
/* 50 S> */ B(Return),
]
@ -29,9 +28,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 36
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
@ -60,9 +58,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(4),
/* 61 S> */ B(Return),
]
@ -78,9 +75,8 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 66
bytecode array length: 65
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(4),
@ -123,9 +119,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(0),
/* 52 S> */ B(CreateArrayFromIterable),
@ -143,9 +138,8 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 75
bytecode array length: 74
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(0),
/* 52 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(37),
@ -190,9 +184,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 25
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(0),
/* 52 S> */ B(CreateArrayFromIterable),

View File

@ -12,9 +12,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 25
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 49 S> */ B(LdaSmi), I8(1),
@ -42,9 +41,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55),
B(Star), R(0),
/* 54 S> */ B(LdaSmi), I8(100),
@ -65,9 +63,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 27
bytecode array length: 26
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), I8(100),
@ -95,9 +92,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 28
bytecode array length: 27
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), I8(56),
@ -125,9 +121,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 36
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55),
B(Star), R(0),
/* 54 S> */ B(LdaSmi), I8(1),
@ -158,9 +153,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 36
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55),
B(Star), R(0),
/* 54 S> */ B(LdaSmi), I8(1),
@ -190,9 +184,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 73
bytecode array length: 72
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 50 S> */ B(LdaSmi), I8(20),
@ -238,9 +231,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 43
bytecode array length: 42
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(17),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), I8(1),

View File

@ -14,13 +14,12 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 148
bytecode array length: 147
bytecodes: [
/* 17 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(1),
B(Mov), R(this), R(2),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
/* 17 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
B(Star), R(0),
B(Mov), R(context), R(3),
B(Mov), R(context), R(4),
@ -93,8 +92,8 @@ constant pool: [
Smi [23],
]
handlers: [
[20, 94, 102],
[23, 56, 60],
[19, 93, 101],
[22, 55, 59],
]
---
@ -104,13 +103,12 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 193
bytecode array length: 192
bytecodes: [
/* 17 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(1),
B(Mov), R(this), R(2),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
/* 17 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
B(Star), R(0),
B(Mov), R(context), R(3),
B(Mov), R(context), R(4),
@ -203,8 +201,8 @@ constant pool: [
Smi [23],
]
handlers: [
[20, 139, 147],
[23, 101, 105],
[19, 138, 146],
[22, 100, 104],
]
---
@ -214,13 +212,12 @@ snippet: "
"
frame size: 19
parameter count: 1
bytecode array length: 364
bytecode array length: 363
bytecodes: [
/* 17 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
/* 17 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(0),
B(Mov), R(context), R(6),
B(Mov), R(context), R(7),
@ -394,10 +391,10 @@ constant pool: [
Smi [23],
]
handlers: [
[20, 310, 318],
[23, 274, 276],
[87, 174, 182],
[206, 239, 241],
[19, 309, 317],
[22, 273, 275],
[86, 173, 181],
[205, 238, 240],
]
---
@ -408,13 +405,12 @@ snippet: "
"
frame size: 17
parameter count: 1
bytecode array length: 467
bytecode array length: 466
bytecodes: [
/* 44 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(5),
B(Mov), R(closure), R(1),
B(Mov), R(this), R(2),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
/* 44 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
B(Star), R(0),
B(Mov), R(context), R(3),
B(Mov), R(context), R(4),
@ -618,7 +614,7 @@ constant pool: [
Smi [23],
]
handlers: [
[20, 413, 421],
[23, 375, 379],
[19, 412, 420],
[22, 374, 378],
]

View File

@ -14,13 +14,12 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 128
bytecode array length: 127
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
B(Star), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(2), U8(0),
B(ResumeGenerator), R(0), R(0), U8(2),
@ -78,7 +77,7 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[50, 100, 100],
[49, 99, 99],
]
---
@ -87,13 +86,12 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 138
bytecode array length: 137
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
B(Star), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(2), U8(0),
B(ResumeGenerator), R(0), R(0), U8(2),
@ -155,7 +153,7 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[50, 110, 110],
[49, 109, 109],
]
---
@ -168,13 +166,12 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 139
bytecode array length: 138
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(3),
B(Mov), R(this), R(4),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(3), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(3), U8(2),
B(Star), R(0),
B(CreateClosure), U8(2), U8(0), U8(0),
B(Star), R(1),
@ -237,7 +234,7 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[58, 111, 111],
[57, 110, 110],
]
---
@ -247,13 +244,12 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 150
bytecode array length: 149
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(3),
B(Mov), R(this), R(4),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(3), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(3), U8(2),
B(Star), R(0),
B(LdaZero),
B(Star), R(3),
@ -320,6 +316,6 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[62, 122, 122],
[61, 121, 121],
]

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 18
bytecode array length: 17
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(8),
@ -36,9 +35,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 18
bytecode array length: 17
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanFalse), U8(11),
@ -61,9 +59,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(8),

View File

@ -13,9 +13,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 97 S> */ B(Return),
@ -35,9 +34,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 86 S> */ B(Return),
@ -61,9 +59,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 54
bytecode array length: 53
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(1),
@ -110,9 +107,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 62
bytecode array length: 61
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 E> */ B(StackCheck),
@ -163,9 +159,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 44
bytecode array length: 43
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 E> */ B(StackCheck),
@ -205,9 +200,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 34
bytecode array length: 33
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 54 S> */ B(LdaSmi), I8(1),
@ -243,9 +237,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 54
bytecode array length: 53
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(1),
@ -289,9 +282,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 32
bytecode array length: 31
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 54 S> */ B(LdaSmi), I8(1),
@ -326,9 +318,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 42
bytecode array length: 41
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(1),
@ -368,9 +359,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 47
bytecode array length: 46
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(1),
@ -410,9 +400,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 35
bytecode array length: 34
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 E> */ B(StackCheck),
@ -446,9 +435,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 35
bytecode array length: 34
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 47 S> */ B(LdaZero),
B(Star), R(0),
/* 34 E> */ B(StackCheck),
@ -482,9 +470,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 35
bytecode array length: 34
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 E> */ B(StackCheck),
@ -517,9 +504,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 35
bytecode array length: 34
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 47 S> */ B(LdaZero),
B(Star), R(0),
/* 34 E> */ B(StackCheck),
@ -553,9 +539,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 36
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 58 S> */ B(LdaZero),
@ -590,9 +575,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 33
bytecode array length: 32
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 58 S> */ B(LdaSmi), I8(10),
@ -625,9 +609,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 58 S> */ B(LdaZero),
@ -651,9 +634,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 36
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 58 S> */ B(LdaZero),
@ -692,9 +674,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 50
bytecode array length: 49
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 52 S> */ B(Ldar), R(0),

View File

@ -17,9 +17,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 14
bytecode array length: 13
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 62 S> */ B(AddSmi), I8(1), U8(0),
@ -48,9 +47,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 69
bytecode array length: 68
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 44 S> */ B(LdaZero),
B(Star), R(0),
/* 71 S> */ B(LdaZero),
@ -101,10 +99,9 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 29
bytecode array length: 28
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(2),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -141,10 +138,9 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 53
bytecode array length: 52
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(2),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 25
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(1),
/* 39 E> */ B(LdaNamedProperty), R(1), U8(1), U8(2),
@ -38,9 +37,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 28
bytecode array length: 27
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(1),
/* 39 E> */ B(LdaNamedProperty), R(1), U8(1), U8(2),
@ -67,9 +65,8 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 101
bytecode array length: 100
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(0),
B(LdaNamedProperty), R(0), U8(1), U8(2),

View File

@ -14,9 +14,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 27 E> */ B(StackCheck),
/* 32 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(0),
/* 39 E> */ B(CallUndefinedReceiver0), R(0), U8(2),
@ -36,9 +35,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 24
bytecode array length: 23
bytecodes: [
/* 34 E> */ B(StackCheck),
/* 39 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(0),
B(LdaSmi), I8(1),

View File

@ -11,10 +11,9 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 75
bytecode array length: 74
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(4),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(4),
B(PushContext), R(1),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(3),

View File

@ -14,9 +14,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 45 E> */ B(StackCheck),
/* 50 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(0),
/* 57 E> */ B(Construct), R(0), R(0), U8(0), U8(2),
@ -36,9 +35,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 18
bytecode array length: 17
bytecodes: [
/* 58 E> */ B(StackCheck),
/* 63 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(0),
B(LdaSmi), I8(3),
@ -66,9 +64,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 26
bytecode array length: 25
bytecodes: [
/* 100 E> */ B(StackCheck),
/* 105 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(0),
B(LdaSmi), I8(3),

View File

@ -13,9 +13,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(CallRuntime), U16(Runtime::kTheHole), R(0), U8(0),
B(LdaUndefined),
/* 26 S> */ B(Return),
@ -32,9 +31,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(CallRuntime), U16(Runtime::kIsArray), R(arg0), U8(1),
/* 34 S> */ B(Return),
]
@ -50,9 +48,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
B(LdaSmi), I8(2),

View File

@ -22,9 +22,8 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 34
bytecode array length: 33
bytecodes: [
/* 99 E> */ B(StackCheck),
B(Mov), R(closure), R(0),
/* 104 S> */ B(LdaConstant), U8(0),
/* 111 E> */ B(LdaKeyedProperty), R(closure), U8(1),
@ -62,9 +61,8 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 47
bytecode array length: 46
bytecodes: [
/* 125 E> */ B(StackCheck),
B(Mov), R(closure), R(0),
/* 130 S> */ B(LdaConstant), U8(0),
/* 130 E> */ B(LdaKeyedProperty), R(closure), U8(0),
@ -106,9 +104,8 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 40
bytecode array length: 39
bytecodes: [
/* 113 E> */ B(StackCheck),
B(Mov), R(closure), R(1),
/* 118 S> */ B(Ldar), R(1),
B(GetSuperConstructor), R(3),
@ -149,9 +146,8 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 36
bytecode array length: 35
bytecodes: [
/* 112 E> */ B(StackCheck),
B(Mov), R(closure), R(1),
/* 117 S> */ B(Ldar), R(1),
B(GetSuperConstructor), R(3),

View File

@ -14,10 +14,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 41
bytecode array length: 40
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),
B(Star), R(5),
@ -53,10 +52,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 41
bytecode array length: 40
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),
B(Star), R(5),
@ -94,10 +92,9 @@ snippet: "
"
frame size: 11
parameter count: 1
bytecode array length: 84
bytecode array length: 83
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(2),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(2),
B(PushContext), R(1),
/* 43 S> */ B(LdaConstant), U8(1),
/* 43 E> */ B(StaCurrentContextSlot), U8(2),
@ -153,10 +150,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 49
bytecode array length: 48
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(1),
/* 46 S> */ B(LdaZero),
/* 46 E> */ B(StaCurrentContextSlot), U8(2),
@ -193,9 +189,8 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 70
bytecode array length: 69
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),

View File

@ -12,9 +12,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(TestNull),
@ -32,9 +31,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaUndefined),
B(Star), R(0),
/* 53 S> */ B(TestUndefined),
@ -52,9 +50,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaUndefined),
B(Star), R(0),
/* 53 S> */ B(TestUndefined),
@ -73,9 +70,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(2),
B(Star), R(0),
/* 45 S> */ B(TestUndetectable),
@ -94,9 +90,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaUndefined),
B(Star), R(0),
/* 53 S> */ B(TestUndetectable),
@ -114,9 +109,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaUndefined),
B(Star), R(0),
/* 53 S> */ B(JumpIfNotUndefined), U8(6),
@ -137,9 +131,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 14
bytecode array length: 13
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(TestUndetectable),
@ -161,9 +154,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(JumpIfUndefined), U8(6),
@ -184,9 +176,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(JumpIfNotNull), U8(6),
@ -211,9 +202,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(JumpIfNotNull), U8(5),
@ -236,9 +226,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(TestUndetectable),
@ -263,9 +252,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaUndefined),
B(Star), R(0),
/* 61 S> */ B(LdaZero),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(1),
B(TestTypeOf), U8(0),
/* 64 S> */ B(Return),
@ -29,9 +28,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaConstant), U8(0),
B(TestTypeOf), U8(1),
/* 68 S> */ B(Return),
@ -48,9 +46,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaTrue),
B(TestTypeOf), U8(3),
/* 67 S> */ B(Return),
@ -66,9 +63,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaUndefined),
B(TestTypeOf), U8(1),
/* 72 S> */ B(Return),
@ -84,9 +80,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaFalse),
/* 73 S> */ B(Return),
]

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(AddSmi), I8(2), U8(0),
@ -32,9 +31,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(DivSmi), I8(2), U8(0),
@ -53,9 +51,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 20
bytecode array length: 19
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 54 S> */ B(LdaNamedProperty), R(0), U8(1), U8(1),
@ -77,9 +74,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 52 S> */ B(LdaSmi), I8(1),
@ -102,10 +98,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
/* 42 S> */ B(LdaSmi), I8(1),
/* 42 E> */ B(StaCurrentContextSlot), U8(2),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(2),
/* 51 S> */ B(Return),
]
@ -28,9 +27,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(3),
/* 59 S> */ B(Return),
]
@ -45,9 +43,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 18
bytecode array length: 17
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaZero),
B(Star), R(0),
B(LdaSmi), I8(1),
@ -70,9 +67,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanFalse), U8(6),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 44 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
B(LdaUndefined),
@ -30,9 +29,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 44 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 57 S> */ B(Return),
@ -48,9 +46,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 21
bytecode array length: 20
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdaTheHole),
B(Star), R(0),
/* 44 S> */ B(LdaSmi), I8(20),
@ -74,9 +71,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 14
bytecode array length: 13
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 44 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 48 S> */ B(LdaSmi), I8(20),

View File

@ -11,10 +11,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -35,10 +34,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 16
bytecode array length: 15
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -59,10 +57,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 26
bytecode array length: 25
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -88,10 +85,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 22
bytecode array length: 21
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),

View File

@ -13,10 +13,9 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(Ldar), R(arg0),
B(StaCurrentContextSlot), U8(2),
@ -37,10 +36,9 @@ snippet: "
"
frame size: 2
parameter count: 2
bytecode array length: 19
bytecode array length: 18
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaCurrentContextSlot), U8(2),
@ -63,10 +61,9 @@ snippet: "
"
frame size: 1
parameter count: 5
bytecode array length: 19
bytecode array length: 18
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(2),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(2),
B(PushContext), R(0),
B(Ldar), R(arg0),
B(StaCurrentContextSlot), U8(3),
@ -89,10 +86,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
/* 26 S> */ B(Ldar), R(this),
/* 26 E> */ B(StaCurrentContextSlot), U8(2),

View File

@ -11,10 +11,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
/* 41 S> */ B(CreateClosure), U8(1), U8(0), U8(2),
/* 70 S> */ B(Return),
@ -32,10 +31,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
/* 42 S> */ B(LdaSmi), I8(1),
/* 42 E> */ B(StaCurrentContextSlot), U8(2),
@ -55,10 +53,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 19
bytecode array length: 18
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(2),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(2),
B(PushContext), R(0),
/* 42 S> */ B(LdaSmi), I8(1),
/* 42 E> */ B(StaCurrentContextSlot), U8(2),
@ -80,10 +77,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 18
bytecode array length: 17
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
/* 41 S> */ B(CreateClosure), U8(1), U8(0), U8(2),
B(Star), R(1),
@ -106,10 +102,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 29
bytecode array length: 28
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -393,10 +388,9 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 797
bytecode array length: 796
bytecodes: [
/* 30 E> */ B(StackCheck),
B(Wide), B(CreateFunctionContext), U16(0), U16(256),
/* 30 E> */ B(Wide), B(CreateFunctionContext), U16(0), U16(256),
B(PushContext), R(1),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(2),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(Inc), U8(0),
@ -31,9 +30,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecode array length: 15
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(ToNumeric), U8(0),
@ -54,9 +52,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(Dec), U8(0),
@ -74,9 +71,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecode array length: 15
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(ToNumeric), U8(0),
@ -97,9 +93,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 26
bytecode array length: 25
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 54 S> */ B(LdaNamedProperty), R(0), U8(1), U8(1),
@ -124,9 +119,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 22
bytecode array length: 21
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 54 S> */ B(LdaNamedProperty), R(0), U8(1), U8(1),
@ -149,9 +143,8 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 31
bytecode array length: 30
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 60 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(41),
@ -179,9 +172,8 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 27
bytecode array length: 26
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 60 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(41),
@ -207,10 +199,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(1),
/* 42 S> */ B(LdaSmi), I8(1),
/* 42 E> */ B(StaCurrentContextSlot), U8(2),
@ -234,10 +225,9 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 29
bytecode array length: 28
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(1),
/* 42 S> */ B(LdaSmi), I8(1),
/* 42 E> */ B(StaCurrentContextSlot), U8(2),
@ -264,9 +254,8 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 32
bytecode array length: 31
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 44 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 55 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),

View File

@ -13,10 +13,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 10 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 32 S> */ B(Return),
]
@ -32,10 +31,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 10 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 15 S> */ B(LdaZero),
/* 31 E> */ B(LdaKeyedProperty), R(0), U8(0),
@ -53,10 +51,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateUnmappedArguments),
/* 10 E> */ B(CreateUnmappedArguments),
B(Star), R(0),
/* 46 S> */ B(Return),
]
@ -72,10 +69,9 @@ snippet: "
"
frame size: 2
parameter count: 2
bytecode array length: 18
bytecode array length: 17
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaCurrentContextSlot), U8(2),
@ -98,10 +94,9 @@ snippet: "
"
frame size: 2
parameter count: 4
bytecode array length: 22
bytecode array length: 21
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(3),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(3),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaCurrentContextSlot), U8(4),
@ -126,10 +121,9 @@ snippet: "
"
frame size: 1
parameter count: 4
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateUnmappedArguments),
/* 10 E> */ B(CreateUnmappedArguments),
B(Star), R(0),
/* 53 S> */ B(Return),
]

View File

@ -13,10 +13,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateRestParameter),
/* 10 E> */ B(CreateRestParameter),
B(Star), R(1),
B(Star), R(0),
/* 42 S> */ B(Return),
@ -33,10 +32,9 @@ snippet: "
"
frame size: 3
parameter count: 2
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateRestParameter),
/* 10 E> */ B(CreateRestParameter),
B(Star), R(2),
B(Mov), R(arg0), R(0),
B(Mov), R(2), R(1),
@ -55,10 +53,9 @@ snippet: "
"
frame size: 3
parameter count: 2
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateRestParameter),
/* 10 E> */ B(CreateRestParameter),
B(Star), R(2),
B(Mov), R(arg0), R(0),
B(Mov), R(2), R(1),
@ -78,10 +75,9 @@ snippet: "
"
frame size: 5
parameter count: 2
bytecode array length: 27
bytecode array length: 26
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateUnmappedArguments),
/* 10 E> */ B(CreateUnmappedArguments),
B(Star), R(3),
B(CreateRestParameter),
B(Star), R(2),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaUndefined),
/* 41 S> */ B(Return),
]
@ -28,9 +27,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 66 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
B(LdaUndefined),
@ -47,9 +45,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(LdaSmi), I8(1),
/* 55 S> */ B(Return),
]
@ -64,9 +61,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanFalse), U8(5),

View File

@ -12,13 +12,12 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 20
bytecode array length: 19
bytecodes: [
/* 0 E> */ B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(1),
B(Mov), R(closure), R(2),
B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
/* 0 E> */ B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
/* 8 S> */ B(LdaSmi), I8(1),
/* 8 E> */ B(StaGlobal), U8(1), U8(0),
B(LdaUndefined),
@ -37,13 +36,12 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 0 E> */ B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(Mov), R(closure), R(1),
B(CallRuntime), U16(Runtime::kDeclareGlobals), R(0), U8(2),
/* 0 E> */ B(CallRuntime), U16(Runtime::kDeclareGlobals), R(0), U8(2),
B(LdaUndefined),
/* 16 S> */ B(Return),
]
@ -60,13 +58,12 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 26
bytecode array length: 25
bytecodes: [
/* 0 E> */ B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(1),
B(Mov), R(closure), R(2),
B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
/* 0 E> */ B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
/* 8 S> */ B(LdaSmi), I8(1),
/* 8 E> */ B(StaGlobal), U8(1), U8(0),
/* 11 S> */ B(LdaSmi), I8(2),
@ -88,13 +85,12 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 24
bytecode array length: 23
bytecodes: [
/* 0 E> */ B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(1),
B(Mov), R(closure), R(2),
B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
/* 0 E> */ B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
/* 16 S> */ B(LdaGlobal), U8(1), U8(0),
B(Star), R(1),
/* 16 E> */ B(CallUndefinedReceiver0), R(1), U8(2),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 56 S> */ B(LdaConstant), U8(1),
@ -33,9 +32,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 56 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 70 S> */ B(LdaConstant), U8(1),
@ -55,9 +53,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 56 S> */ B(LdaSmi), I8(2),
@ -76,9 +73,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 46 S> */ B(LdaFalse),
@ -98,10 +94,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 25
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
/* 56 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(41),
/* 56 E> */ B(StaCurrentContextSlot), U8(2),
@ -126,9 +121,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaTrue),
/* 55 S> */ B(Return),
]
@ -143,9 +137,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaTrue),
/* 53 S> */ B(Return),
]

View File

@ -19,9 +19,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kDeleteLookupSlot), R(0), U8(1),
@ -47,9 +46,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaFalse),
/* 31 S> */ B(Return),
]
@ -71,9 +69,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kDeleteLookupSlot), R(0), U8(1),

View File

@ -12,9 +12,8 @@ snippet: "
"
frame size: 14
parameter count: 1
bytecode array length: 167
bytecode array length: 166
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(1),
/* 60 S> */ B(GetIterator), R(1), U8(1), U8(3),
@ -99,8 +98,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[35, 77, 85],
[109, 142, 144],
[34, 76, 84],
[108, 141, 143],
]
---
@ -110,9 +109,8 @@ snippet: "
"
frame size: 15
parameter count: 1
bytecode array length: 253
bytecode array length: 252
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(2),
/* 69 S> */ B(GetIterator), R(2), U8(1), U8(3),
@ -231,8 +229,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[35, 163, 171],
[195, 228, 230],
[34, 162, 170],
[194, 227, 229],
]
---
@ -242,9 +240,8 @@ snippet: "
"
frame size: 16
parameter count: 1
bytecode array length: 218
bytecode array length: 217
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 40 S> */ B(CreateEmptyObjectLiteral),
B(Star), R(0),
/* 51 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
@ -351,8 +348,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[38, 128, 136],
[160, 193, 195],
[37, 127, 135],
[159, 192, 194],
]
---
@ -362,9 +359,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(1),
/* 54 S> */ B(LdaNamedProperty), R(1), U8(1), U8(1),
@ -386,9 +382,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 20
bytecode array length: 19
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 40 S> */ B(CreateEmptyObjectLiteral),
B(Star), R(0),
/* 48 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
@ -413,9 +408,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 33
bytecode array length: 32
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(1),
/* 64 S> */ B(LdaConstant), U8(1),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(Debugger),
B(LdaUndefined),
/* 44 S> */ B(Return),

View File

@ -11,10 +11,9 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 59
bytecode array length: 58
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(4),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(4),
B(PushContext), R(1),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(3),

View File

@ -16,13 +16,12 @@ snippet: "
"
frame size: 19
parameter count: 1
bytecode array length: 321
bytecode array length: 320
bytecodes: [
/* 16 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
/* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
B(Star), R(0),
B(Mov), R(context), R(4),
/* 43 S> */ B(CreateArrayLiteral), U8(2), U8(0), U8(37),
@ -167,9 +166,9 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[20, 293, 293],
[75, 155, 163],
[187, 256, 258],
[19, 292, 292],
[74, 154, 162],
[186, 255, 257],
]
---
@ -181,13 +180,12 @@ snippet: "
"
frame size: 19
parameter count: 1
bytecode array length: 342
bytecode array length: 341
bytecodes: [
/* 16 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
/* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
B(Star), R(0),
B(Mov), R(context), R(4),
/* 43 S> */ B(CreateArrayLiteral), U8(2), U8(0), U8(37),
@ -342,9 +340,9 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[20, 314, 314],
[75, 159, 167],
[191, 260, 262],
[19, 313, 313],
[74, 158, 166],
[190, 259, 261],
]
---
@ -359,13 +357,12 @@ snippet: "
"
frame size: 19
parameter count: 1
bytecode array length: 337
bytecode array length: 336
bytecodes: [
/* 16 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
/* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
B(Star), R(0),
B(Mov), R(context), R(4),
/* 43 S> */ B(CreateArrayLiteral), U8(2), U8(0), U8(37),
@ -517,9 +514,9 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[20, 309, 309],
[75, 171, 179],
[203, 272, 274],
[19, 308, 308],
[74, 170, 178],
[202, 271, 273],
]
---
@ -532,12 +529,11 @@ snippet: "
"
frame size: 15
parameter count: 1
bytecode array length: 253
bytecode array length: 252
bytecodes: [
/* 16 E> */ B(StackCheck),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
/* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
B(Star), R(0),
B(Mov), R(context), R(2),
/* 31 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
@ -658,8 +654,8 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[16, 225, 225],
[53, 106, 114],
[138, 171, 173],
[15, 224, 224],
[52, 105, 113],
[137, 170, 172],
]

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdaUndefined),
/* 57 S> */ B(Return),
]
@ -28,9 +27,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdaUndefined),
/* 62 S> */ B(Return),
]
@ -45,9 +43,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdaUndefined),
/* 62 S> */ B(Return),
]
@ -63,9 +60,8 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 44
bytecode array length: 43
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 68 S> */ B(JumpIfUndefinedOrNull), U8(37),
@ -101,9 +97,8 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 56
bytecode array length: 55
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 59 S> */ B(CreateArrayLiteral), U8(0), U8(1), U8(37),
@ -146,9 +141,8 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 83
bytecode array length: 82
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 77 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(37),
@ -199,9 +193,8 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 62
bytecode array length: 61
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(0),
/* 72 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(37),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 13
parameter count: 1
bytecode array length: 165
bytecode array length: 164
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(4),
B(GetIterator), R(4), U8(1), U8(3),
@ -96,8 +95,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[32, 75, 83],
[107, 140, 142],
[31, 74, 82],
[106, 139, 141],
]
---
@ -107,9 +106,8 @@ snippet: "
"
frame size: 14
parameter count: 1
bytecode array length: 173
bytecode array length: 172
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 68 S> */ B(GetIterator), R(0), U8(0), U8(2),
@ -198,8 +196,8 @@ constant pool: [
Smi [9],
]
handlers: [
[30, 77, 85],
[109, 142, 144],
[29, 76, 84],
[108, 141, 143],
]
---
@ -211,9 +209,8 @@ snippet: "
"
frame size: 13
parameter count: 1
bytecode array length: 181
bytecode array length: 180
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(4),
B(GetIterator), R(4), U8(1), U8(3),
@ -303,8 +300,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[32, 91, 99],
[123, 156, 158],
[31, 90, 98],
[122, 155, 157],
]
---
@ -314,9 +311,8 @@ snippet: "
"
frame size: 13
parameter count: 1
bytecode array length: 187
bytecode array length: 186
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(37),
@ -411,7 +407,7 @@ constant pool: [
Smi [9],
]
handlers: [
[38, 91, 99],
[123, 156, 158],
[37, 90, 98],
[122, 155, 157],
]

View File

@ -15,9 +15,8 @@ snippet: "
"
frame size: 15
parameter count: 2
bytecode array length: 162
bytecode array length: 161
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 34 S> */ B(GetIterator), R(arg0), U8(0), U8(2),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
@ -98,8 +97,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[26, 72, 80],
[104, 137, 139],
[25, 71, 79],
[103, 136, 138],
]
---
@ -111,10 +110,9 @@ snippet: "
"
frame size: 20
parameter count: 2
bytecode array length: 246
bytecode array length: 245
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(5),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(5),
B(PushContext), R(2),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(4),
@ -237,8 +235,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[59, 154, 162],
[186, 219, 221],
[58, 153, 161],
[185, 218, 220],
]
---
@ -250,9 +248,8 @@ snippet: "
"
frame size: 14
parameter count: 2
bytecode array length: 179
bytecode array length: 178
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 34 S> */ B(GetIterator), R(arg0), U8(0), U8(2),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
@ -343,8 +340,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[26, 89, 97],
[121, 154, 156],
[25, 88, 96],
[120, 153, 155],
]
---
@ -356,9 +353,8 @@ snippet: "
"
frame size: 17
parameter count: 2
bytecode array length: 173
bytecode array length: 172
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 41 S> */ B(GetIterator), R(arg0), U8(0), U8(2),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
@ -445,8 +441,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[26, 83, 91],
[115, 148, 150],
[25, 82, 90],
[114, 147, 149],
]
---
@ -458,13 +454,12 @@ snippet: "
"
frame size: 16
parameter count: 2
bytecode array length: 203
bytecode array length: 202
bytecodes: [
/* 11 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(5),
B(Mov), R(this), R(6),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
B(Star), R(0),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(5), U8(0),
B(ResumeGenerator), R(0), R(0), U8(5),
@ -558,8 +553,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
[67, 113, 121],
[145, 178, 180],
[66, 112, 120],
[144, 177, 179],
]
---
@ -571,13 +566,12 @@ snippet: "
"
frame size: 15
parameter count: 2
bytecode array length: 247
bytecode array length: 246
bytecodes: [
/* 11 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(0),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(0), R(0), U8(4),
@ -692,8 +686,8 @@ constant pool: [
Smi [9],
]
handlers: [
[67, 151, 159],
[183, 216, 218],
[66, 150, 158],
[182, 215, 217],
]
---
@ -705,12 +699,11 @@ snippet: "
"
frame size: 17
parameter count: 2
bytecode array length: 217
bytecode array length: 216
bytecodes: [
/* 16 E> */ B(StackCheck),
B(Mov), R(closure), R(5),
B(Mov), R(this), R(6),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(5), U8(2),
/* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(5), U8(2),
B(Star), R(0),
B(Mov), R(context), R(5),
/* 40 S> */ B(GetIterator), R(arg0), U8(0), U8(2),
@ -813,9 +806,9 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[16, 189, 189],
[41, 87, 95],
[119, 152, 154],
[15, 188, 188],
[40, 86, 94],
[118, 151, 153],
]
---
@ -827,13 +820,12 @@ snippet: "
"
frame size: 16
parameter count: 2
bytecode array length: 253
bytecode array length: 252
bytecodes: [
/* 16 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
/* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
B(Star), R(0),
B(Mov), R(context), R(4),
/* 40 S> */ B(GetIterator), R(arg0), U8(0), U8(2),
@ -949,8 +941,8 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[20, 225, 225],
[45, 123, 131],
[155, 188, 190],
[19, 224, 224],
[44, 122, 130],
[154, 187, 189],
]

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateClosure), U8(0), U8(0), U8(2),
/* 54 S> */ B(Return),
]
@ -29,9 +28,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateClosure), U8(0), U8(0), U8(2),
B(Star), R(0),
/* 56 E> */ B(CallUndefinedReceiver0), R(0), U8(0),
@ -49,9 +47,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecode array length: 15
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateClosure), U8(0), U8(0), U8(2),
B(Star), R(0),
B(LdaSmi), I8(1),

View File

@ -14,9 +14,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 63 S> */ B(LdaSmi), I8(10),
@ -44,9 +43,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 63 S> */ B(LdaSmi), I8(10),
@ -74,9 +72,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 63 S> */ B(LdaSmi), I8(10),
@ -104,9 +101,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 63 S> */ B(LdaSmi), I8(10),
@ -134,9 +130,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 22
bytecode array length: 21
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 63 S> */ B(LdaSmi), I8(10),
@ -163,9 +158,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 22
bytecode array length: 21
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 63 S> */ B(LdaSmi), I8(10),
@ -192,9 +186,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 22
bytecode array length: 21
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 63 S> */ B(LdaSmi), I8(10),
@ -221,9 +214,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 22
bytecode array length: 21
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 63 S> */ B(LdaSmi), I8(10),

View File

@ -13,13 +13,12 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 44
bytecode array length: 43
bytecodes: [
/* 11 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(1),
B(Mov), R(this), R(2),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
B(Star), R(0),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(1), U8(0),
B(ResumeGenerator), R(0), R(0), U8(1),
@ -48,13 +47,12 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 80
bytecode array length: 79
bytecodes: [
/* 11 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(1),
B(Mov), R(this), R(2),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
B(Star), R(0),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(1), U8(0),
B(ResumeGenerator), R(0), R(0), U8(1),
@ -100,13 +98,12 @@ snippet: "
"
frame size: 15
parameter count: 1
bytecode array length: 253
bytecode array length: 252
bytecodes: [
/* 11 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(0),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(0), R(0), U8(4),
@ -224,8 +221,8 @@ constant pool: [
Smi [9],
]
handlers: [
[73, 157, 165],
[189, 222, 224],
[72, 156, 164],
[188, 221, 223],
]
---
@ -236,13 +233,12 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 205
bytecode array length: 204
bytecodes: [
/* 38 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(1),
B(Mov), R(this), R(2),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
/* 38 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(1), U8(2),
B(Star), R(0),
/* 38 E> */ B(SuspendGenerator), R(0), R(0), U8(1), U8(0),
B(ResumeGenerator), R(0), R(0), U8(1),

View File

@ -14,9 +14,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 26 E> */ B(StackCheck),
/* 31 S> */ B(LdaGlobal), U8(0), U8(0),
B(BitwiseAndSmi), I8(1), U8(2),
/* 45 E> */ B(StaGlobal), U8(0), U8(3),
@ -36,9 +35,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 27 E> */ B(StackCheck),
/* 32 S> */ B(LdaGlobal), U8(0), U8(0),
B(AddSmi), I8(1), U8(2),
/* 51 E> */ B(StaGlobal), U8(0), U8(3),

View File

@ -14,9 +14,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 26 E> */ B(StackCheck),
/* 31 S> */ B(LdaGlobal), U8(0), U8(0),
B(Inc), U8(2),
/* 40 E> */ B(StaGlobal), U8(0), U8(3),
@ -36,9 +35,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 16
bytecode array length: 15
bytecodes: [
/* 26 E> */ B(StackCheck),
/* 31 S> */ B(LdaGlobal), U8(0), U8(0),
B(ToNumeric), U8(2),
B(Star), R(0),
@ -61,9 +59,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 27 E> */ B(StackCheck),
/* 46 S> */ B(LdaGlobal), U8(0), U8(0),
B(Dec), U8(2),
/* 55 E> */ B(StaGlobal), U8(0), U8(3),
@ -83,9 +80,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 16
bytecode array length: 15
bytecodes: [
/* 27 E> */ B(StackCheck),
/* 32 S> */ B(LdaGlobal), U8(0), U8(0),
B(ToNumeric), U8(2),
B(Star), R(0),

View File

@ -16,9 +16,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 32 E> */ B(StackCheck),
/* 39 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(0),
B(LdaConstant), U8(1),
@ -43,9 +42,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 28 E> */ B(StackCheck),
/* 51 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(0),
B(LdaSmi), I8(1),
@ -68,9 +66,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 32 E> */ B(StackCheck),
/* 39 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kDeleteLookupSlot), R(0), U8(1),
@ -92,9 +89,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 18 E> */ B(StackCheck),
/* 25 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kDeleteLookupSlot), R(0), U8(1),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaConstant), U8(0),
/* 45 S> */ B(Return),
]
@ -29,9 +28,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 47 S> */ B(LdaConstant), U8(1),
@ -50,9 +48,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 48 S> */ B(LdaConstant), U8(0),

View File

@ -21,10 +21,9 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 40
bytecode array length: 39
bytecodes: [
/* 16 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 16 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 29 S> */ B(CreateEmptyObjectLiteral),
/* 31 E> */ B(StaGlobal), U8(0), U8(0),
@ -65,10 +64,9 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 69
bytecode array length: 68
bytecodes: [
/* 16 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 16 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 29 S> */ B(CreateEmptyObjectLiteral),
/* 31 E> */ B(StaGlobal), U8(0), U8(0),
@ -124,10 +122,9 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 70
bytecode array length: 69
bytecodes: [
/* 16 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 16 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 29 S> */ B(CreateEmptyObjectLiteral),
/* 31 E> */ B(StaGlobal), U8(0), U8(0),
@ -183,10 +180,9 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 70
bytecode array length: 69
bytecodes: [
/* 16 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 16 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 29 S> */ B(CreateEmptyObjectLiteral),
/* 31 E> */ B(StaGlobal), U8(0), U8(0),
@ -244,10 +240,9 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 71
bytecode array length: 70
bytecodes: [
/* 16 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 16 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 29 S> */ B(LdaConstant), U8(0),
B(Star), R(2),
@ -297,10 +292,9 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 24
bytecode array length: 23
bytecodes: [
/* 16 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 16 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 29 S> */ B(LdaConstant), U8(0),
B(Star), R(3),
@ -330,10 +324,9 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 24
bytecode array length: 23
bytecodes: [
/* 16 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 16 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 29 S> */ B(LdaConstant), U8(0),
B(Star), R(3),
@ -374,10 +367,9 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 137
bytecode array length: 136
bytecodes: [
/* 237 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 237 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 255 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(0),
B(Star), R(1),
@ -469,10 +461,9 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 140
bytecode array length: 139
bytecodes: [
/* 189 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 189 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 202 S> */ B(LdaUndefined),
B(Star), R(2),
@ -567,10 +558,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 43
bytecode array length: 42
bytecodes: [
/* 79 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 79 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 93 S> */ B(CreateEmptyObjectLiteral),
/* 95 E> */ B(StaGlobal), U8(0), U8(0),
@ -616,10 +606,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 43
bytecode array length: 42
bytecodes: [
/* 76 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 76 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 92 S> */ B(CreateEmptyObjectLiteral),
/* 94 E> */ B(StaGlobal), U8(0), U8(0),
@ -657,9 +646,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 25 E> */ B(StackCheck),
/* 32 S> */ B(LdaSmi), I8(3),
/* 36 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 41 S> */ B(Ldar), R(arg0),
@ -680,9 +668,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 26 E> */ B(StackCheck),
/* 33 S> */ B(LdaSmi), I8(3),
/* 37 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 42 S> */ B(Ldar), R(arg0),
@ -703,9 +690,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 37 S> */ B(LdaSmi), I8(3),
/* 41 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 46 S> */ B(Ldar), R(arg0),
@ -727,9 +713,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 10
bytecode array length: 9
bytecodes: [
/* 29 E> */ B(StackCheck),
/* 36 S> */ B(LdaSmi), I8(3),
/* 40 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 45 S> */ B(Ldar), R(arg0),
@ -751,10 +736,9 @@ snippet: "
"
frame size: 3
parameter count: 2
bytecode array length: 27
bytecode array length: 26
bytecodes: [
/* 46 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 46 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaCurrentContextSlot), U8(2),
@ -784,10 +768,9 @@ snippet: "
"
frame size: 3
parameter count: 2
bytecode array length: 27
bytecode array length: 26
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaCurrentContextSlot), U8(2),

View File

@ -20,10 +20,9 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 42
bytecode array length: 41
bytecodes: [
/* 16 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 16 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 29 S> */ B(CreateEmptyObjectLiteral),
/* 31 E> */ B(StaGlobal), U8(0), U8(0),
@ -68,10 +67,9 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 65
bytecode array length: 64
bytecodes: [
/* 16 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 16 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 29 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
/* 31 E> */ B(StaGlobal), U8(1), U8(1),
@ -128,10 +126,9 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 144
bytecode array length: 143
bytecodes: [
/* 237 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 237 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 255 S> */ B(LdaNamedProperty), R(this), U8(0), U8(0),
B(Star), R(1),
@ -221,10 +218,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 126
bytecode array length: 125
bytecodes: [
/* 189 E> */ B(StackCheck),
B(CreateMappedArguments),
/* 189 E> */ B(CreateMappedArguments),
B(Star), R(0),
/* 202 S> */ B(LdaGlobal), U8(0), U8(0),
B(Star), R(1),

View File

@ -19,9 +19,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 55 S> */ B(LdaSmi), I8(-1),
/* 65 S> */ B(Return),
]
@ -43,9 +42,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 36 S> */ B(LdaSmi), I8(1),
/* 45 S> */ B(Return),
]
@ -67,9 +65,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 59 S> */ B(LdaSmi), I8(-1),
/* 69 S> */ B(Return),
]
@ -89,9 +86,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 17 S> */ B(LdaUndefined),
/* 48 S> */ B(Return),
]
@ -114,9 +110,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 21
bytecode array length: 20
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 30 S> */ B(JumpIfToBooleanFalse), U8(11),
@ -147,9 +142,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 17
bytecode array length: 16
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 18 S> */ B(LdaZero),
/* 24 E> */ B(TestLessThanOrEqual), R(arg0), U8(0),
B(JumpIfFalse), U8(7),
@ -169,9 +163,8 @@ snippet: "
"
frame size: 0
parameter count: 3
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(arg1),
/* 25 E> */ B(TestIn), R(arg0), U8(0),
B(JumpIfFalse), U8(7),
@ -256,9 +249,8 @@ snippet: "
"
frame size: 2
parameter count: 2
bytecode array length: 27
bytecode array length: 26
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 24 S> */ B(LdaZero),
B(Star), R(0),
/* 35 S> */ B(LdaZero),
@ -353,9 +345,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 24
bytecode array length: 23
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaZero),
B(Star), R(0),
/* 36 S> */ B(LdaZero),
@ -390,9 +381,8 @@ snippet: "
"
frame size: 0
parameter count: 3
bytecode array length: 83
bytecode array length: 82
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 21 S> */ B(Ldar), R(arg1),
/* 27 E> */ B(TestEqual), R(arg0), U8(0),
B(JumpIfFalse), U8(5),
@ -455,9 +445,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaZero),
B(Star), R(0),
/* 30 S> */ B(JumpIfToBooleanFalse), U8(5),
@ -486,9 +475,8 @@ snippet: "
"
frame size: 0
parameter count: 3
bytecode array length: 34
bytecode array length: 33
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 21 S> */ B(Ldar), R(arg1),
/* 27 E> */ B(TestEqual), R(arg0), U8(0),
B(JumpIfTrue), U8(8),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(ExtraWide), B(LdaSmi), I32(12345678),
/* 50 S> */ B(Return),
]
@ -28,9 +27,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(Wide), B(LdaSmi), I16(1234),
B(Star), R(0),
/* 48 S> */ B(Wide), B(LdaSmi), I16(5678),
@ -47,9 +45,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(Wide), B(LdaSmi), I16(1234),
B(Star), R(0),
/* 48 S> */ B(Wide), B(LdaSmi), I16(1234),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
B(LdaUndefined),
@ -30,9 +29,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 55 S> */ B(Return),
@ -48,9 +46,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 17
bytecode array length: 16
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdaTheHole),
B(Star), R(0),
/* 42 S> */ B(LdaSmi), I8(20),
@ -73,9 +70,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), I8(20),

View File

@ -11,10 +11,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -35,10 +34,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 16
bytecode array length: 15
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -59,10 +57,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 25
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -89,10 +86,9 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 19
bytecode array length: 18
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),

View File

@ -14,9 +14,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 21 E> */ B(StackCheck),
/* 26 S> */ B(LdaGlobal), U8(0), U8(0),
/* 35 S> */ B(Return),
]
@ -34,9 +33,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 27 E> */ B(StackCheck),
/* 32 S> */ B(LdaGlobal), U8(0), U8(0),
/* 41 S> */ B(Return),
]
@ -54,9 +52,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 17 E> */ B(StackCheck),
/* 22 S> */ B(LdaGlobal), U8(0), U8(0),
/* 31 S> */ B(Return),
]
@ -205,9 +202,8 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 523
bytecode array length: 522
bytecodes: [
/* 17 E> */ B(StackCheck),
/* 33 S> */ B(CreateEmptyObjectLiteral),
B(Star), R(0),
/* 41 S> */ B(LdaNamedProperty), R(0), U8(0), U8(0),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(4),
@ -31,9 +30,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 14
bytecode array length: 13
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), I8(1),
@ -53,9 +51,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanFalse), U8(4),
@ -73,9 +70,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(LdaZero),
@ -95,9 +91,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(4),
@ -115,9 +110,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 24
bytecode array length: 23
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(2),
B(Star), R(0),
/* 49 S> */ B(LdaSmi), I8(3),
@ -174,9 +168,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 276
bytecode array length: 275
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(2),
@ -360,9 +353,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 275
bytecode array length: 274
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(2),
@ -546,9 +538,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 279
bytecode array length: 278
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(2),
@ -733,9 +724,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 278
bytecode array length: 277
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(2),
@ -888,9 +878,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaZero),
/* 48 S> */ B(Return),
]
@ -905,9 +894,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(1),
/* 48 S> */ B(Return),
]
@ -922,9 +910,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanFalse), U8(4),

View File

@ -12,10 +12,9 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 63
bytecode array length: 62
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(4),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(4),
B(PushContext), R(1),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(3),
@ -57,10 +56,9 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 64
bytecode array length: 63
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(4),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(4),
B(PushContext), R(1),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(3),
@ -103,10 +101,9 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 64
bytecode array length: 63
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(4),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(4),
B(PushContext), R(1),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(3),
@ -154,10 +151,9 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 63
bytecode array length: 62
bytecodes: [
/* 38 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(4),
/* 38 E> */ B(CreateFunctionContext), U8(0), U8(4),
B(PushContext), R(1),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(3),
@ -204,10 +200,9 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 63
bytecode array length: 62
bytecodes: [
/* 34 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(4),
/* 34 E> */ B(CreateFunctionContext), U8(0), U8(4),
B(PushContext), R(1),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(3),

View File

@ -17,9 +17,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaLookupGlobalSlot), U8(0), U8(0), U8(1),
/* 24 S> */ B(Return),
]
@ -40,9 +39,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaSmi), I8(10),
/* 17 E> */ B(StaLookupSlot), U8(0), U8(0),
B(LdaUndefined),
@ -65,9 +63,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 29 S> */ B(LdaSmi), I8(10),
/* 31 E> */ B(StaLookupSlot), U8(0), U8(1),
B(LdaUndefined),
@ -90,9 +87,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaLookupGlobalSlotInsideTypeof), U8(0), U8(0), U8(1),
B(TypeOf),
/* 31 S> */ B(Return),

View File

@ -13,13 +13,12 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 48
bytecode array length: 47
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
B(Star), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(2), U8(0),
B(ResumeGenerator), R(0), R(0), U8(2),
@ -48,13 +47,12 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 48
bytecode array length: 47
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
B(Star), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(2), U8(0),
B(ResumeGenerator), R(0), R(0), U8(2),
@ -85,13 +83,12 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 78
bytecode array length: 77
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(3),
B(Mov), R(this), R(4),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
B(Star), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), U8(0),
B(ResumeGenerator), R(0), R(0), U8(3),
@ -136,13 +133,12 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 76
bytecode array length: 75
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(3),
B(Mov), R(this), R(4),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
B(Star), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), U8(0),
B(ResumeGenerator), R(0), R(0), U8(3),
@ -185,13 +181,12 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 90
bytecode array length: 89
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(3),
B(Mov), R(this), R(4),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
B(Star), R(0),
B(LdaConstant), U8(1),
B(Star), R(3),
@ -240,13 +235,12 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 94
bytecode array length: 93
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(3),
B(Mov), R(this), R(4),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
B(Star), R(0),
B(LdaConstant), U8(1),
B(Star), R(3),
@ -293,13 +287,12 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 69
bytecode array length: 68
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
B(Star), R(0),
B(LdaConstant), U8(1),
B(Star), R(2),
@ -337,13 +330,12 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 90
bytecode array length: 89
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
B(Star), R(0),
B(LdaConstant), U8(1),
B(Star), R(2),
@ -391,13 +383,12 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 48
bytecode array length: 47
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
B(Star), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(2), U8(0),
B(ResumeGenerator), R(0), R(0), U8(2),
@ -426,13 +417,12 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 48
bytecode array length: 47
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
B(Star), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(2), U8(0),
B(ResumeGenerator), R(0), R(0), U8(2),
@ -462,13 +452,12 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 75
bytecode array length: 74
bytecodes: [
/* 0 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(3),
B(Mov), R(this), R(4),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
B(Star), R(0),
B(LdaZero),
B(Star), R(3),

View File

@ -12,10 +12,9 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 48
bytecode array length: 47
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),
B(Star), R(5),
@ -51,10 +50,9 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 51
bytecode array length: 50
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),
B(Star), R(5),
@ -92,10 +90,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 122
bytecode array length: 121
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),
B(Star), R(5),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(Ldar), R(0),
/* 52 S> */ B(Return),
]
@ -28,9 +27,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaUndefined),
/* 46 S> */ B(Return),
]

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateEmptyObjectLiteral),
/* 45 S> */ B(Return),
]
@ -28,9 +27,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
/* 70 S> */ B(Return),
]
@ -46,9 +44,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 20
bytecode array length: 19
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
@ -71,9 +68,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
@ -97,9 +93,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 18
bytecode array length: 17
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 49 E> */ B(CreateClosure), U8(1), U8(0), U8(2),
@ -121,9 +116,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 18
bytecode array length: 17
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 43 E> */ B(CreateClosure), U8(1), U8(0), U8(2),
@ -145,9 +139,8 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 34
bytecode array length: 33
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
B(LdaConstant), U8(1),
@ -177,9 +170,8 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 37
bytecode array length: 36
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
B(LdaConstant), U8(1),
@ -210,9 +202,8 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 34
bytecode array length: 33
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
B(LdaConstant), U8(1),
@ -242,9 +233,8 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 29
bytecode array length: 28
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
@ -269,9 +259,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(57),
/* 61 S> */ B(Return),
]
@ -287,9 +276,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 25
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(41),
@ -314,9 +302,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 31
bytecode array length: 30
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(41),
@ -344,9 +331,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 36
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(41),
@ -375,9 +361,8 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 64
bytecode array length: 63
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(41),

View File

@ -20,9 +20,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 97 E> */ B(StackCheck),
/* 102 S> */ B(LdaImmutableContextSlot), R(context), U8(2), U8(1),
B(Star), R(0),
B(LdaImmutableCurrentContextSlot), U8(2),
@ -48,9 +47,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 97 E> */ B(StackCheck),
/* 102 S> */ B(LdaImmutableCurrentContextSlot), U8(2),
/* 111 E> */ B(StaContextSlot), R(context), U8(2), U8(1),
B(LdaUndefined),

View File

@ -13,9 +13,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(Ldar), R(this),
/* 27 S> */ B(Return),
]
@ -31,9 +30,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(arg0),
/* 31 S> */ B(Return),
]
@ -49,9 +47,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(this),
/* 31 S> */ B(Return),
]
@ -67,9 +64,8 @@ snippet: "
"
frame size: 0
parameter count: 8
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 55 S> */ B(Ldar), R(arg3),
/* 67 S> */ B(Return),
]
@ -85,9 +81,8 @@ snippet: "
"
frame size: 0
parameter count: 8
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 55 S> */ B(Ldar), R(this),
/* 67 S> */ B(Return),
]
@ -103,9 +98,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(LdaSmi), I8(1),
B(Star), R(arg0),
B(LdaUndefined),
@ -123,9 +117,8 @@ snippet: "
"
frame size: 0
parameter count: 5
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 37 S> */ B(LdaSmi), I8(1),
B(Star), R(arg1),
B(LdaUndefined),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 5
bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 54 S> */ B(Return),
@ -29,9 +28,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 54 S> */ B(AddSmi), I8(3), U8(0),
@ -48,9 +46,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 14
bytecode array length: 13
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), I8(3),
@ -70,9 +67,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 54 S> */ B(SubSmi), I8(3), U8(0),
@ -89,9 +85,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 14
bytecode array length: 13
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), I8(3),
@ -111,9 +106,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0),
/* 54 S> */ B(MulSmi), I8(3), U8(0),
@ -130,9 +124,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0),
/* 54 S> */ B(MulSmi), I8(3), U8(0),
@ -149,9 +142,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0),
/* 54 S> */ B(DivSmi), I8(3), U8(0),
@ -168,9 +160,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), I8(3),
@ -190,9 +181,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0),
/* 54 S> */ B(ModSmi), I8(3), U8(0),
@ -209,9 +199,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), I8(3),
@ -231,9 +220,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 54 S> */ B(BitwiseOrSmi), I8(2), U8(0),
@ -250,9 +238,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 54 S> */ B(BitwiseOrSmi), I8(2), U8(0),
@ -269,9 +256,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 54 S> */ B(BitwiseXorSmi), I8(2), U8(0),
@ -288,9 +274,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 54 S> */ B(BitwiseXorSmi), I8(2), U8(0),
@ -307,9 +292,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 54 S> */ B(BitwiseAndSmi), I8(2), U8(0),
@ -326,9 +310,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 54 S> */ B(BitwiseAndSmi), I8(2), U8(0),
@ -345,9 +328,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 55 S> */ B(ShiftLeftSmi), I8(3), U8(0),
@ -364,9 +346,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), I8(3),
@ -386,9 +367,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 55 S> */ B(ShiftRightSmi), I8(3), U8(0),
@ -405,9 +385,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), I8(3),
@ -427,9 +406,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 55 S> */ B(ShiftRightLogicalSmi), I8(3), U8(0),
@ -446,9 +424,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), I8(3),
@ -468,9 +445,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), I8(3),

View File

@ -10,9 +10,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdaUndefined),
/* 34 S> */ B(Return),
]
@ -27,9 +26,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaUndefined),
/* 41 S> */ B(Return),
]
@ -44,9 +42,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaNull),
/* 46 S> */ B(Return),
]
@ -61,9 +58,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaTrue),
/* 46 S> */ B(Return),
]
@ -78,9 +74,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaFalse),
/* 47 S> */ B(Return),
]
@ -95,9 +90,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecode array length: 2
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaZero),
/* 43 S> */ B(Return),
]
@ -112,9 +106,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(1),
/* 44 S> */ B(Return),
]
@ -129,9 +122,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(-1),
/* 44 S> */ B(Return),
]
@ -146,9 +138,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(127),
/* 46 S> */ B(Return),
]
@ -163,9 +154,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(-128),
/* 46 S> */ B(Return),
]
@ -180,9 +170,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(2),
/* 45 S> */ B(Return),
]

View File

@ -24,14 +24,13 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 98
bytecode array length: 97
bytecodes: [
/* 67 E> */ B(StackCheck),
B(LdaCurrentContextSlot), U8(3),
B(Star), R(1),
B(Mov), R(this), R(0),
B(Mov), R(context), R(2),
B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 67 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 76 S> */ B(LdaCurrentContextSlot), U8(2),
B(Star), R(4),
B(LdaCurrentContextSlot), U8(3),
@ -78,14 +77,13 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 32
bytecode array length: 31
bytecodes: [
/* 48 E> */ B(StackCheck),
B(LdaCurrentContextSlot), U8(3),
B(Star), R(1),
B(Mov), R(this), R(0),
B(Mov), R(context), R(2),
B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 48 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 53 S> */ B(Wide), B(LdaSmi), I16(265),
B(Star), R(3),
B(LdaConstant), U8(0),
@ -110,14 +108,13 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 32
bytecode array length: 31
bytecodes: [
/* 41 E> */ B(StackCheck),
B(LdaCurrentContextSlot), U8(3),
B(Star), R(1),
B(Mov), R(this), R(0),
B(Mov), R(context), R(2),
B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 41 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 46 S> */ B(Wide), B(LdaSmi), I16(264),
B(Star), R(3),
B(LdaConstant), U8(0),
@ -142,14 +139,13 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 32
bytecode array length: 31
bytecodes: [
/* 48 E> */ B(StackCheck),
B(LdaCurrentContextSlot), U8(3),
B(Star), R(1),
B(Mov), R(this), R(0),
B(Mov), R(context), R(2),
B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 48 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 53 S> */ B(Wide), B(LdaSmi), I16(265),
B(Star), R(3),
B(LdaConstant), U8(0),
@ -174,14 +170,13 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 32
bytecode array length: 31
bytecodes: [
/* 41 E> */ B(StackCheck),
B(LdaCurrentContextSlot), U8(3),
B(Star), R(1),
B(Mov), R(this), R(0),
B(Mov), R(context), R(2),
B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 41 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 46 S> */ B(Wide), B(LdaSmi), I16(264),
B(Star), R(4),
B(LdaConstant), U8(0),

View File

@ -17,10 +17,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 65
bytecode array length: 64
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaConstant), U8(2),
B(Star), R(3),
@ -67,10 +66,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 62
bytecode array length: 61
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaConstant), U8(2),
B(Star), R(3),
@ -116,10 +114,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 62
bytecode array length: 61
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaConstant), U8(2),
B(Star), R(3),
@ -171,10 +168,9 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 127
bytecode array length: 126
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(2),
B(LdaConstant), U8(2),
B(Star), R(4),
@ -251,10 +247,9 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 113
bytecode array length: 112
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(2),
B(LdaTheHole),
B(Star), R(6),
@ -325,10 +320,9 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 113
bytecode array length: 112
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(2),
B(LdaTheHole),
B(Star), R(6),

View File

@ -24,10 +24,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 131
bytecode array length: 130
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(2),
B(LdaConstant), U8(2),
B(Star), R(4),
@ -130,10 +129,9 @@ snippet: "
"
frame size: 12
parameter count: 1
bytecode array length: 268
bytecode array length: 267
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(3),
B(LdaConstant), U8(2),
B(Star), R(5),

View File

@ -19,14 +19,13 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 31
bytecode array length: 30
bytecodes: [
/* 44 E> */ B(StackCheck),
B(LdaCurrentContextSlot), U8(3),
B(Star), R(1),
B(Mov), R(this), R(0),
B(Mov), R(context), R(2),
B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 44 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 49 S> */ B(LdaCurrentContextSlot), U8(3),
/* 61 E> */ B(LdaKeyedProperty), R(this), U8(0),
B(LdaCurrentContextSlot), U8(2),
@ -51,14 +50,13 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 32
bytecode array length: 31
bytecodes: [
/* 44 E> */ B(StackCheck),
B(LdaCurrentContextSlot), U8(3),
B(Star), R(1),
B(Mov), R(this), R(0),
B(Mov), R(context), R(2),
B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 44 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 49 S> */ B(Wide), B(LdaSmi), I16(263),
B(Star), R(3),
B(LdaConstant), U8(0),
@ -84,14 +82,13 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 32
bytecode array length: 31
bytecodes: [
/* 44 E> */ B(StackCheck),
B(LdaCurrentContextSlot), U8(3),
B(Star), R(1),
B(Mov), R(this), R(0),
B(Mov), R(context), R(2),
B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 44 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3),
/* 49 S> */ B(Wide), B(LdaSmi), I16(263),
B(Star), R(3),
B(LdaConstant), U8(0),
@ -117,10 +114,9 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 58
bytecode array length: 57
bytecodes: [
/* 44 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(1),
/* 44 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(0),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(2),

View File

@ -16,10 +16,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 52
bytecode array length: 51
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaConstant), U8(2),
B(Star), R(3),
@ -64,10 +63,9 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 101
bytecode array length: 100
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(2),
B(LdaConstant), U8(2),
B(Star), R(4),
@ -133,10 +131,9 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 98
bytecode array length: 97
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(2),
B(LdaTheHole),
B(Star), R(6),

View File

@ -13,9 +13,8 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
B(Star), R(0),
/* 25 E> */ B(CallProperty0), R(0), R(arg0), U8(2),
@ -34,9 +33,8 @@ snippet: "
"
frame size: 1
parameter count: 4
bytecode array length: 14
bytecode array length: 13
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 31 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
B(Star), R(0),
/* 31 E> */ B(CallProperty2), R(0), R(arg0), R(arg1), R(arg2), U8(2),
@ -55,9 +53,8 @@ snippet: "
"
frame size: 3
parameter count: 3
bytecode array length: 21
bytecode array length: 20
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 28 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
B(Star), R(0),
B(Ldar), R(arg1),
@ -210,9 +207,8 @@ snippet: "
"
frame size: 2
parameter count: 2
bytecode array length: 543
bytecode array length: 542
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 26 S> */ B(CreateEmptyObjectLiteral),
B(Star), R(0),
/* 34 S> */ B(LdaNamedProperty), R(0), U8(0), U8(0),
@ -490,9 +486,8 @@ snippet: "
"
frame size: 5
parameter count: 2
bytecode array length: 51
bytecode array length: 50
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
B(Star), R(2),
B(LdaSmi), I8(1),

View File

@ -22,9 +22,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 77
bytecode array length: 76
bytecodes: [
/* 0 E> */ B(StackCheck),
/* 7 S> */ B(LdaConstant), U8(0),
B(Star), R(2),
B(LdaSmi), I8(41),
@ -80,9 +79,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 120
bytecode array length: 119
bytecodes: [
/* 0 E> */ B(StackCheck),
/* 7 S> */ B(LdaConstant), U8(0),
B(Star), R(2),
B(LdaSmi), I8(41),
@ -155,9 +153,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 109
bytecode array length: 108
bytecodes: [
/* 0 E> */ B(StackCheck),
/* 7 S> */ B(LdaConstant), U8(0),
B(Star), R(2),
B(LdaSmi), I8(41),
@ -226,9 +223,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 81
bytecode array length: 80
bytecodes: [
/* 0 E> */ B(StackCheck),
/* 7 S> */ B(LdaConstant), U8(0),
B(Star), R(2),
B(LdaSmi), I8(41),
@ -288,9 +284,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 75
bytecode array length: 74
bytecodes: [
/* 0 E> */ B(StackCheck),
/* 7 S> */ B(LdaConstant), U8(0),
B(Star), R(2),
B(LdaSmi), I8(41),
@ -339,9 +334,8 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 20
bytecode array length: 19
bytecodes: [
/* 0 E> */ B(StackCheck),
/* 7 S> */ B(LdaConstant), U8(0),
B(Star), R(3),
B(LdaSmi), I8(4),
@ -366,9 +360,8 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 20
bytecode array length: 19
bytecodes: [
/* 0 E> */ B(StackCheck),
/* 7 S> */ B(LdaConstant), U8(0),
B(Star), R(3),
B(LdaSmi), I8(37),

View File

@ -21,9 +21,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 71
bytecode array length: 70
bytecodes: [
/* 0 E> */ B(StackCheck),
/* 7 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
/* 9 E> */ B(StaGlobal), U8(1), U8(1),
/* 66 S> */ B(LdaGlobal), U8(1), U8(4),
@ -76,9 +75,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 67
bytecode array length: 66
bytecodes: [
/* 0 E> */ B(StackCheck),
/* 7 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
/* 9 E> */ B(StaGlobal), U8(1), U8(1),
/* 65 S> */ B(LdaGlobal), U8(1), U8(3),

View File

@ -13,9 +13,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
/* 30 S> */ B(Return),
]
@ -32,9 +31,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 24 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
/* 32 S> */ B(Return),
]
@ -51,9 +49,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(LdaSmi), I8(100),
/* 24 E> */ B(LdaKeyedProperty), R(arg0), U8(0),
/* 30 S> */ B(Return),
@ -70,9 +67,8 @@ snippet: "
"
frame size: 0
parameter count: 3
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(arg1),
/* 27 E> */ B(LdaKeyedProperty), R(arg0), U8(0),
/* 31 S> */ B(Return),
@ -89,9 +85,8 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 26 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
B(Star), R(0),
/* 32 S> */ B(LdaSmi), I8(-124),
@ -242,9 +237,8 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 525
bytecode array length: 524
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 26 S> */ B(CreateEmptyObjectLiteral),
B(Star), R(0),
/* 34 S> */ B(LdaNamedProperty), R(0), U8(0), U8(0),
@ -650,9 +644,8 @@ snippet: "
"
frame size: 1
parameter count: 3
bytecode array length: 906
bytecode array length: 905
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 30 S> */ B(Ldar), R(arg1),
/* 35 E> */ B(LdaKeyedProperty), R(arg0), U8(0),
B(Star), R(0),

View File

@ -13,9 +13,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(LdaConstant), U8(0),
/* 23 E> */ B(StaNamedProperty), R(arg0), U8(1), U8(0),
B(LdaUndefined),
@ -35,9 +34,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(LdaConstant), U8(0),
/* 25 E> */ B(StaNamedProperty), R(arg0), U8(1), U8(0),
B(LdaUndefined),
@ -57,9 +55,8 @@ snippet: "
"
frame size: 2
parameter count: 2
bytecode array length: 13
bytecode array length: 12
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(LdaSmi), I8(100),
B(Star), R(1),
B(LdaConstant), U8(0),
@ -80,9 +77,8 @@ snippet: "
"
frame size: 0
parameter count: 3
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(LdaConstant), U8(0),
/* 24 E> */ B(StaKeyedProperty), R(arg0), R(arg1), U8(0),
B(LdaUndefined),
@ -101,9 +97,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 12
bytecode array length: 11
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(LdaSmi), I8(-124),
/* 26 E> */ B(LdaKeyedProperty), R(arg0), U8(0),
/* 23 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(2),
@ -123,9 +118,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 30 S> */ B(LdaConstant), U8(0),
/* 37 E> */ B(StaNamedProperty), R(arg0), U8(1), U8(0),
B(LdaUndefined),
@ -145,9 +139,8 @@ snippet: "
"
frame size: 0
parameter count: 3
bytecode array length: 9
bytecode array length: 8
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 33 S> */ B(LdaConstant), U8(0),
/* 38 E> */ B(StaKeyedProperty), R(arg0), R(arg1), U8(0),
B(LdaUndefined),
@ -298,9 +291,8 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 534
bytecode array length: 533
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 18 S> */ B(LdaSmi), I8(1),
/* 25 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 40 S> */ B(CreateEmptyObjectLiteral),
@ -712,9 +704,8 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 534
bytecode array length: 533
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 33 S> */ B(LdaSmi), I8(1),
/* 40 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 55 S> */ B(CreateEmptyObjectLiteral),
@ -1123,9 +1114,8 @@ snippet: "
"
frame size: 0
parameter count: 3
bytecode array length: 781
bytecode array length: 780
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 21 S> */ B(LdaSmi), I8(1),
/* 26 E> */ B(StaKeyedProperty), R(arg0), R(arg1), U8(0),
/* 33 S> */ B(LdaSmi), I8(1),
@ -1530,9 +1520,8 @@ snippet: "
"
frame size: 0
parameter count: 3
bytecode array length: 781
bytecode array length: 780
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 37 S> */ B(LdaSmi), I8(1),
/* 42 E> */ B(StaKeyedProperty), R(arg0), R(arg1), U8(0),
/* 49 S> */ B(LdaSmi), I8(1),

View File

@ -23,10 +23,9 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 119
bytecode array length: 118
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(2),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -122,10 +121,9 @@ snippet: "
"
frame size: 12
parameter count: 1
bytecode array length: 229
bytecode array length: 228
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(3),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateRegExpLiteral), U8(0), U8(0), U8(0),
/* 48 S> */ B(Return),
]
@ -29,9 +28,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecode array length: 5
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateRegExpLiteral), U8(0), U8(0), U8(2),
/* 57 S> */ B(Return),
]
@ -47,9 +45,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateRegExpLiteral), U8(0), U8(0), U8(0),
B(Star), R(1),
/* 48 E> */ B(LdaNamedProperty), R(1), U8(1), U8(1),

View File

@ -16,9 +16,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 28
bytecode array length: 27
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 48 E> */ B(StackCheck),
@ -49,9 +48,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 23
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 48 E> */ B(StackCheck),
@ -77,9 +75,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 62 S> */ B(Add), R(0), U8(0),

View File

@ -15,9 +15,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 26
bytecode array length: 25
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 30 S> */ B(LdaZero),
B(Star), R(0),
/* 35 S> */ B(LdaSmi), I8(10),
@ -46,10 +45,9 @@ snippet: "
"
frame size: 15
parameter count: 1
bytecode array length: 165
bytecode array length: 164
bytecodes: [
/* 10 E> */ B(StackCheck),
B(CreateFunctionContext), U8(0), U8(4),
/* 10 E> */ B(CreateFunctionContext), U8(0), U8(4),
B(PushContext), R(4),
B(Ldar), R(this),
B(StaCurrentContextSlot), U8(3),
@ -148,9 +146,8 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 106
bytecode array length: 105
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 30 S> */ B(LdaZero),
B(Star), R(3),
B(Star), R(0),
@ -220,9 +217,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 44
bytecode array length: 43
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 37 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(3),
/* 28 S> */ B(LdaNamedProperty), R(3), U8(1), U8(1),
@ -260,13 +256,12 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 67
bytecode array length: 66
bytecodes: [
/* 11 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(3),
B(Mov), R(this), R(4),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
B(Star), R(0),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(3), U8(0),
B(ResumeGenerator), R(0), R(0), U8(3),
@ -308,13 +303,12 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 99
bytecode array length: 98
bytecodes: [
/* 11 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(2), U8(2),
B(Star), R(0),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(2), U8(0),
B(ResumeGenerator), R(0), R(0), U8(2),
@ -371,12 +365,11 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 81
bytecode array length: 80
bytecodes: [
/* 16 E> */ B(StackCheck),
B(Mov), R(closure), R(3),
B(Mov), R(this), R(4),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(3), U8(2),
/* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(3), U8(2),
B(Star), R(0),
B(Mov), R(context), R(3),
/* 36 S> */ B(LdaZero),
@ -416,7 +409,7 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[16, 53, 53],
[15, 52, 52],
]
---
@ -428,13 +421,12 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 117
bytecode array length: 116
bytecodes: [
/* 16 E> */ B(StackCheck),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
/* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
B(Star), R(0),
B(Mov), R(context), R(2),
/* 36 S> */ B(LdaZero),
@ -487,6 +479,6 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
[20, 89, 89],
[19, 88, 88],
]

View File

@ -27,10 +27,9 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 185
bytecode array length: 184
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(2),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),
@ -162,10 +161,9 @@ snippet: "
"
frame size: 12
parameter count: 1
bytecode array length: 334
bytecode array length: 333
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(3),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(2),

View File

@ -19,9 +19,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 36
bytecode array length: 35
bytecodes: [
/* 51 E> */ B(StackCheck),
/* 56 S> */ B(LdaCurrentContextSlot), U8(3),
B(TestReferenceEqual), R(this),
B(Mov), R(this), R(1),
@ -55,9 +54,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 17
bytecode array length: 16
bytecodes: [
/* 51 E> */ B(StackCheck),
/* 56 S> */ B(Wide), B(LdaSmi), I16(263),
B(Star), R(0),
B(LdaConstant), U8(0),
@ -83,9 +81,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 17
bytecode array length: 16
bytecodes: [
/* 51 E> */ B(StackCheck),
/* 56 S> */ B(Wide), B(LdaSmi), I16(263),
B(Star), R(0),
B(LdaConstant), U8(0),
@ -117,9 +114,8 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 143
bytecode array length: 142
bytecodes: [
/* 81 E> */ B(StackCheck),
/* 90 S> */ B(LdaCurrentContextSlot), U8(2),
B(Star), R(1),
B(LdaCurrentContextSlot), U8(3),
@ -191,9 +187,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 17
bytecode array length: 16
bytecodes: [
/* 55 E> */ B(StackCheck),
/* 60 S> */ B(Wide), B(LdaSmi), I16(265),
B(Star), R(0),
B(LdaConstant), U8(0),
@ -218,9 +213,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 17
bytecode array length: 16
bytecodes: [
/* 48 E> */ B(StackCheck),
/* 53 S> */ B(Wide), B(LdaSmi), I16(264),
B(Star), R(0),
B(LdaConstant), U8(0),
@ -245,9 +239,8 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 17
bytecode array length: 16
bytecodes: [
/* 55 E> */ B(StackCheck),
/* 60 S> */ B(Wide), B(LdaSmi), I16(265),
B(Star), R(0),
B(LdaConstant), U8(0),
@ -272,9 +265,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 17
bytecode array length: 16
bytecodes: [
/* 41 E> */ B(StackCheck),
/* 46 S> */ B(Wide), B(LdaSmi), I16(264),
B(Star), R(1),
B(LdaConstant), U8(0),

View File

@ -16,10 +16,9 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 41
bytecode array length: 40
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),
B(Star), R(5),
@ -56,10 +55,9 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 51
bytecode array length: 50
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),
B(Star), R(5),
@ -100,10 +98,9 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 51
bytecode array length: 50
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),
B(Star), R(5),
@ -145,10 +142,9 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 54
bytecode array length: 53
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaTheHole),
B(Star), R(5),
@ -191,10 +187,9 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 58
bytecode array length: 57
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
/* 30 E> */ B(CreateBlockContext), U8(0),
B(PushContext), R(1),
B(LdaConstant), U8(2),
B(Star), R(3),

View File

@ -14,9 +14,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 21 E> */ B(StackCheck),
/* 26 S> */ B(LdaSmi), I8(2),
/* 28 E> */ B(StaGlobal), U8(0), U8(0),
B(LdaUndefined),
@ -35,9 +34,8 @@ snippet: "
"
frame size: 0
parameter count: 2
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 26 E> */ B(StackCheck),
/* 32 S> */ B(Ldar), R(arg0),
/* 34 E> */ B(StaGlobal), U8(0), U8(0),
B(LdaUndefined),
@ -57,9 +55,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 35 E> */ B(StackCheck),
/* 40 S> */ B(LdaSmi), I8(2),
/* 42 E> */ B(StaGlobal), U8(0), U8(0),
B(LdaUndefined),
@ -79,9 +76,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 17 E> */ B(StackCheck),
/* 22 S> */ B(LdaSmi), I8(2),
/* 24 E> */ B(StaGlobal), U8(0), U8(0),
B(LdaUndefined),
@ -232,9 +228,8 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 526
bytecode array length: 525
bytecodes: [
/* 17 E> */ B(StackCheck),
/* 33 S> */ B(CreateEmptyObjectLiteral),
B(Star), R(0),
/* 41 S> */ B(LdaNamedProperty), R(0), U8(0), U8(0),
@ -644,9 +639,8 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 526
bytecode array length: 525
bytecodes: [
/* 17 E> */ B(StackCheck),
/* 49 S> */ B(CreateEmptyObjectLiteral),
B(Star), R(0),
/* 57 S> */ B(LdaNamedProperty), R(0), U8(0), U8(0),

View File

@ -13,9 +13,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 22
bytecode array length: 21
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(2),
@ -41,9 +40,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 26
bytecode array length: 25
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(2),
@ -71,9 +69,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 22
bytecode array length: 21
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(2),
@ -99,9 +96,8 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 43
bytecode array length: 42
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(2),
@ -138,9 +134,8 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 29
bytecode array length: 28
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), I8(2),
@ -170,10 +165,9 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 42
bytecode array length: 41
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateClosure), U8(0), U8(0), U8(2),
/* 30 E> */ B(CreateClosure), U8(0), U8(0), U8(2),
B(Star), R(2),
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),

View File

@ -11,9 +11,8 @@ snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaConstant), U8(0),
/* 60 S> */ B(Return),
]
@ -29,9 +28,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 58 S> */ B(LdaConstant), U8(1),
@ -50,9 +48,8 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecode array length: 7
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 57 S> */ B(LdaConstant), U8(0),

Some files were not shown because too many files have changed in this diff Show More