[Interpreter] Handle various generator intrinsics

We can avoid some runtime calls by implementing intrinsics.

BUG=

Review-Url: https://codereview.chromium.org/2889973002
Cr-Commit-Position: refs/heads/master@{#45418}
This commit is contained in:
mvstanton 2017-05-19 02:27:25 -07:00 committed by Commit bot
parent 2f92e9eb6b
commit 0980d759f5
8 changed files with 289 additions and 246 deletions

View File

@ -405,6 +405,35 @@ Node* IntrinsicsGenerator::CreateJSGeneratorObject(Node* input, Node* arg_count,
Builtins::kCreateGeneratorObject);
}
Node* IntrinsicsGenerator::GeneratorGetContext(Node* args_reg, Node* arg_count,
Node* context) {
Node* generator = __ LoadRegister(args_reg);
Node* const value =
__ LoadObjectField(generator, JSGeneratorObject::kContextOffset);
return value;
}
Node* IntrinsicsGenerator::GeneratorGetInputOrDebugPos(Node* args_reg,
Node* arg_count,
Node* context) {
Node* generator = __ LoadRegister(args_reg);
Node* const value =
__ LoadObjectField(generator, JSGeneratorObject::kInputOrDebugPosOffset);
return value;
}
Node* IntrinsicsGenerator::GeneratorGetResumeMode(Node* args_reg,
Node* arg_count,
Node* context) {
Node* generator = __ LoadRegister(args_reg);
Node* const value =
__ LoadObjectField(generator, JSGeneratorObject::kResumeModeOffset);
return value;
}
Node* IntrinsicsGenerator::AsyncGeneratorReject(Node* input, Node* arg_count,
Node* context) {
return IntrinsicAsBuiltinCall(input, context,

View File

@ -19,6 +19,9 @@ namespace interpreter {
V(AsyncGeneratorReject, async_generator_reject, 2) \
V(AsyncGeneratorResolve, async_generator_resolve, 3) \
V(CreateJSGeneratorObject, create_js_generator_object, 2) \
V(GeneratorGetContext, generator_get_context, 1) \
V(GeneratorGetResumeMode, generator_get_resume_mode, 1) \
V(GeneratorGetInputOrDebugPos, generator_get_input_or_debug_pos, 1) \
V(Call, call, -1) \
V(ClassOf, class_of, 1) \
V(CreateIterResultObject, create_iter_result_object, 2) \

View File

@ -66,6 +66,10 @@ RUNTIME_FUNCTION(Runtime_GeneratorGetContext) {
DCHECK_EQ(1, args.length());
CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0);
// Runtime call is implemented in InterpreterIntrinsics and lowered in
// JSIntrinsicLowering
UNREACHABLE();
return generator->context();
}
@ -74,6 +78,10 @@ RUNTIME_FUNCTION(Runtime_GeneratorGetInputOrDebugPos) {
DCHECK_EQ(1, args.length());
CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0);
// Runtime call is implemented in InterpreterIntrinsics and lowered in
// JSIntrinsicLowering
UNREACHABLE();
return generator->input_or_debug_pos();
}
@ -81,7 +89,6 @@ RUNTIME_FUNCTION(Runtime_AsyncGeneratorGetAwaitInputOrDebugPos) {
HandleScope scope(isolate);
DCHECK_EQ(1, args.length());
CONVERT_ARG_HANDLE_CHECKED(JSAsyncGeneratorObject, generator, 0);
return generator->await_input_or_debug_pos();
}
@ -112,6 +119,10 @@ RUNTIME_FUNCTION(Runtime_GeneratorGetResumeMode) {
DCHECK_EQ(1, args.length());
CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0);
// Runtime call is implemented in InterpreterIntrinsics and lowered in
// JSIntrinsicLowering
UNREACHABLE();
return Smi::FromInt(generator->resume_mode());
}

View File

@ -16,11 +16,11 @@ snippet: "
"
frame size: 18
parameter count: 1
bytecode array length: 953
bytecode array length: 946
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(4),
B(ResumeGenerator), R(new_target),
B(Star), R(3),
@ -100,9 +100,9 @@ bytecodes: [
/* 57 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(Star), R(14),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(Star), R(15),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(15),
@ -151,7 +151,7 @@ bytecodes: [
B(PopContext), R(2),
B(LdaZero),
B(StaContextSlot), R(1), U8(8), U8(0),
B(JumpLoop), U8(221), I8(0),
B(JumpLoop), U8(219), I8(0),
B(Jump), U8(48),
B(Star), R(13),
B(Ldar), R(closure),
@ -198,7 +198,7 @@ bytecodes: [
B(Star), R(12),
B(LdaSmi), I8(1),
B(TestEqualStrict), R(12), U8(25),
B(JumpIfFalse), U8(177),
B(JumpIfFalse), U8(175),
B(LdaContextSlot), R(1), U8(12), U8(0),
B(TestTypeOf), U8(5),
B(JumpIfFalse), U8(4),
@ -235,9 +235,9 @@ bytecodes: [
/* 57 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(Star), R(14),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(Star), R(15),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(15),
@ -270,7 +270,7 @@ bytecodes: [
B(Ldar), R(12),
B(PushContext), R(2),
B(PopContext), R(2),
B(Jump), U8(155),
B(Jump), U8(153),
B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
B(Star), R(12),
B(LdaContextSlot), R(1), U8(12), U8(0),
@ -296,9 +296,9 @@ bytecodes: [
/* 57 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(Star), R(13),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(Star), R(14),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(14),
@ -413,8 +413,8 @@ bytecodes: [
]
constant pool: [
Smi [116],
Smi [546],
Smi [692],
Smi [544],
Smi [688],
FIXED_ARRAY_TYPE,
TUPLE2_TYPE,
SYMBOL_TYPE,
@ -429,21 +429,21 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
FIXED_ARRAY_TYPE,
Smi [343],
Smi [366],
Smi [339],
Smi [362],
Smi [6],
Smi [22],
FIXED_ARRAY_TYPE,
Smi [306],
Smi [304],
Smi [6],
Smi [9],
]
handlers: [
[61, 907, 913],
[64, 854, 856],
[81, 403, 409],
[84, 355, 357],
[496, 620, 622],
[60, 900, 906],
[63, 847, 849],
[80, 400, 406],
[83, 352, 354],
[493, 615, 617],
]
---
@ -455,11 +455,11 @@ snippet: "
"
frame size: 18
parameter count: 1
bytecode array length: 999
bytecode array length: 992
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(4),
B(ResumeGenerator), R(new_target),
B(Star), R(3),
@ -539,9 +539,9 @@ bytecodes: [
/* 68 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(Star), R(14),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(Star), R(15),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(15),
@ -644,7 +644,7 @@ bytecodes: [
B(Star), R(12),
B(LdaSmi), I8(1),
B(TestEqualStrict), R(12), U8(25),
B(JumpIfFalse), U8(177),
B(JumpIfFalse), U8(175),
B(LdaContextSlot), R(1), U8(12), U8(0),
B(TestTypeOf), U8(5),
B(JumpIfFalse), U8(4),
@ -681,9 +681,9 @@ bytecodes: [
/* 68 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(Star), R(14),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(Star), R(15),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(15),
@ -716,7 +716,7 @@ bytecodes: [
B(Ldar), R(12),
B(PushContext), R(2),
B(PopContext), R(2),
B(Jump), U8(155),
B(Jump), U8(153),
B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
B(Star), R(12),
B(LdaContextSlot), R(1), U8(12), U8(0),
@ -742,9 +742,9 @@ bytecodes: [
/* 68 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(Star), R(13),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(Star), R(14),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(14),
@ -875,8 +875,8 @@ bytecodes: [
]
constant pool: [
Smi [116],
Smi [558],
Smi [704],
Smi [556],
Smi [700],
FIXED_ARRAY_TYPE,
TUPLE2_TYPE,
SYMBOL_TYPE,
@ -891,23 +891,23 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
FIXED_ARRAY_TYPE,
Smi [343],
Smi [366],
Smi [339],
Smi [362],
Smi [6],
Smi [22],
Smi [39],
FIXED_ARRAY_TYPE,
Smi [323],
Smi [321],
Smi [6],
Smi [9],
Smi [26],
]
handlers: [
[61, 936, 942],
[64, 883, 885],
[81, 415, 421],
[84, 367, 369],
[508, 632, 634],
[60, 929, 935],
[63, 876, 878],
[80, 412, 418],
[83, 364, 366],
[505, 627, 629],
]
---
@ -922,11 +922,11 @@ snippet: "
"
frame size: 18
parameter count: 1
bytecode array length: 987
bytecode array length: 980
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(4),
B(ResumeGenerator), R(new_target),
B(Star), R(3),
@ -1006,9 +1006,9 @@ bytecodes: [
/* 114 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(Star), R(14),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(Star), R(15),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(15),
@ -1073,7 +1073,7 @@ bytecodes: [
B(PopContext), R(2),
B(LdaZero),
B(StaContextSlot), R(1), U8(8), U8(0),
B(JumpLoop), U8(255), I8(0),
B(JumpLoop), U8(253), I8(0),
B(Jump), U8(48),
B(Star), R(13),
B(Ldar), R(closure),
@ -1120,7 +1120,7 @@ bytecodes: [
B(Star), R(12),
B(LdaSmi), I8(1),
B(TestEqualStrict), R(12), U8(27),
B(JumpIfFalse), U8(177),
B(JumpIfFalse), U8(175),
B(LdaContextSlot), R(1), U8(12), U8(0),
B(TestTypeOf), U8(5),
B(JumpIfFalse), U8(4),
@ -1157,9 +1157,9 @@ bytecodes: [
/* 114 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(Star), R(14),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(Star), R(15),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(15),
@ -1192,7 +1192,7 @@ bytecodes: [
B(Ldar), R(12),
B(PushContext), R(2),
B(PopContext), R(2),
B(Jump), U8(155),
B(Jump), U8(153),
B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
B(Star), R(12),
B(LdaContextSlot), R(1), U8(12), U8(0),
@ -1218,9 +1218,9 @@ bytecodes: [
/* 114 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(Star), R(13),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(Star), R(14),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(14),
@ -1335,8 +1335,8 @@ bytecodes: [
]
constant pool: [
Smi [116],
Smi [580],
Smi [726],
Smi [578],
Smi [722],
FIXED_ARRAY_TYPE,
TUPLE2_TYPE,
SYMBOL_TYPE,
@ -1351,21 +1351,21 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
FIXED_ARRAY_TYPE,
Smi [343],
Smi [366],
Smi [339],
Smi [362],
Smi [6],
Smi [22],
FIXED_ARRAY_TYPE,
Smi [306],
Smi [304],
Smi [6],
Smi [9],
]
handlers: [
[61, 941, 947],
[64, 888, 890],
[81, 437, 443],
[84, 389, 391],
[530, 654, 656],
[60, 934, 940],
[63, 881, 883],
[80, 434, 440],
[83, 386, 388],
[527, 649, 651],
]
---

View File

@ -644,11 +644,11 @@ snippet: "
"
frame size: 15
parameter count: 2
bytecode array length: 593
bytecode array length: 590
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(5),
B(ResumeGenerator), R(new_target),
B(Star), R(4),
@ -678,9 +678,9 @@ bytecodes: [
/* 55 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1),
B(Star), R(10),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(9), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1),
B(Star), R(11),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(11),
@ -909,10 +909,10 @@ constant pool: [
Smi [9],
]
handlers: [
[56, 549, 555],
[137, 334, 340],
[140, 290, 292],
[426, 442, 444],
[55, 546, 552],
[134, 331, 337],
[137, 287, 289],
[423, 439, 441],
]
---
@ -924,11 +924,11 @@ snippet: "
"
frame size: 17
parameter count: 2
bytecode array length: 701
bytecode array length: 696
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(4),
B(ResumeGenerator), R(new_target),
B(Star), R(3),
@ -958,9 +958,9 @@ bytecodes: [
/* 49 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
B(Star), R(9),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
B(Star), R(10),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(10),
@ -1019,7 +1019,7 @@ bytecodes: [
B(LdaContextSlot), R(1), U8(8), U8(0),
B(Star), R(12),
B(LdaNamedProperty), R(12), U8(6), U8(11),
B(JumpIfToBooleanTrue), U8(144),
B(JumpIfToBooleanTrue), U8(142),
B(LdaContextSlot), R(1), U8(8), U8(0),
B(Star), R(12),
B(LdaNamedProperty), R(12), U8(7), U8(13),
@ -1050,9 +1050,9 @@ bytecodes: [
/* 49 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(Star), R(13),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(Star), R(14),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(14),
@ -1079,7 +1079,7 @@ bytecodes: [
B(PopContext), R(2),
B(LdaZero),
B(StaContextSlot), R(1), U8(9), U8(0),
B(JumpLoop), U8(212), I8(0),
B(JumpLoop), U8(210), I8(0),
B(Jump), U8(44),
B(Star), R(12),
B(Ldar), R(closure),
@ -1218,7 +1218,7 @@ bytecodes: [
]
constant pool: [
Smi [56],
Smi [152],
Smi [150],
FIXED_ARRAY_TYPE,
SYMBOL_TYPE,
Smi [142],
@ -1233,15 +1233,15 @@ constant pool: [
FIXED_ARRAY_TYPE,
Smi [6],
Smi [18],
Smi [554],
Smi [552],
Smi [6],
Smi [9],
]
handlers: [
[56, 657, 663],
[137, 426, 432],
[140, 382, 384],
[519, 535, 537],
[55, 652, 658],
[134, 421, 427],
[137, 377, 379],
[514, 530, 532],
]
---
@ -1523,11 +1523,11 @@ snippet: "
"
frame size: 18
parameter count: 2
bytecode array length: 735
bytecode array length: 732
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(4),
B(ResumeGenerator), R(new_target),
B(Star), R(3),
@ -1593,7 +1593,7 @@ bytecodes: [
B(LdaContextSlot), R(1), U8(10), U8(0),
B(Star), R(13),
B(LdaNamedProperty), R(13), U8(5), U8(11),
B(JumpIfToBooleanTrue), U8(167),
B(JumpIfToBooleanTrue), U8(165),
B(LdaContextSlot), R(1), U8(10), U8(0),
B(Star), R(13),
B(LdaNamedProperty), R(13), U8(6), U8(13),
@ -1631,9 +1631,9 @@ bytecodes: [
/* 54 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
B(Star), R(14),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
B(Star), R(15),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(15),
@ -1660,7 +1660,7 @@ bytecodes: [
B(PopContext), R(2),
B(LdaZero),
B(StaContextSlot), R(1), U8(11), U8(0),
B(JumpLoop), U8(235), I8(0),
B(JumpLoop), U8(233), I8(0),
B(Jump), U8(48),
B(Star), R(13),
B(Ldar), R(closure),
@ -1851,10 +1851,10 @@ constant pool: [
Smi [9],
]
handlers: [
[65, 689, 695],
[68, 636, 638],
[85, 401, 407],
[88, 353, 355],
[494, 510, 512],
[64, 686, 692],
[67, 633, 635],
[84, 398, 404],
[87, 350, 352],
[491, 507, 509],
]

View File

@ -13,11 +13,11 @@ snippet: "
"
frame size: 11
parameter count: 1
bytecode array length: 177
bytecode array length: 174
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(2),
B(ResumeGenerator), R(new_target),
B(Star), R(1),
@ -45,9 +45,9 @@ bytecodes: [
/* 16 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1),
B(Star), R(7),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(6), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1),
B(Star), R(8),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(8),
@ -104,7 +104,7 @@ constant pool: [
Smi [9],
]
handlers: [
[52, 133, 139],
[51, 130, 136],
]
---
@ -114,11 +114,11 @@ snippet: "
"
frame size: 11
parameter count: 1
bytecode array length: 251
bytecode array length: 246
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(2),
B(ResumeGenerator), R(new_target),
B(Star), R(1),
@ -146,9 +146,9 @@ bytecodes: [
/* 25 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1),
B(Star), R(7),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(6), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1),
B(Star), R(8),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(8),
@ -163,7 +163,7 @@ bytecodes: [
B(Star), R(4),
B(LdaZero),
B(Star), R(3),
B(Jump), U8(108),
B(Jump), U8(106),
B(Ldar), R(7),
/* 11 E> */ B(Throw),
/* 16 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
@ -180,9 +180,9 @@ bytecodes: [
/* 25 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1),
B(Star), R(7),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(6), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1),
B(Star), R(8),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(8),
@ -235,12 +235,12 @@ bytecodes: [
]
constant pool: [
Smi [52],
Smi [126],
Smi [124],
Smi [6],
Smi [9],
]
handlers: [
[52, 207, 213],
[51, 202, 208],
]
---
@ -250,11 +250,11 @@ snippet: "
"
frame size: 17
parameter count: 1
bytecode array length: 697
bytecode array length: 692
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(4),
B(ResumeGenerator), R(new_target),
B(Star), R(3),
@ -282,9 +282,9 @@ bytecodes: [
/* 44 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
B(Star), R(9),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
B(Star), R(10),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(10),
@ -343,7 +343,7 @@ bytecodes: [
B(LdaContextSlot), R(1), U8(7), U8(0),
B(Star), R(12),
B(LdaNamedProperty), R(12), U8(7), U8(12),
B(JumpIfToBooleanTrue), U8(144),
B(JumpIfToBooleanTrue), U8(142),
B(LdaContextSlot), R(1), U8(7), U8(0),
B(Star), R(12),
B(LdaNamedProperty), R(12), U8(8), U8(14),
@ -374,9 +374,9 @@ bytecodes: [
/* 44 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
B(Star), R(13),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
B(Star), R(14),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(14),
@ -403,7 +403,7 @@ bytecodes: [
B(PopContext), R(2),
B(LdaZero),
B(StaContextSlot), R(1), U8(8), U8(0),
B(JumpLoop), U8(212), I8(0),
B(JumpLoop), U8(210), I8(0),
B(Jump), U8(44),
B(Star), R(12),
B(Ldar), R(closure),
@ -542,7 +542,7 @@ bytecodes: [
]
constant pool: [
Smi [52],
Smi [148],
Smi [146],
FIXED_ARRAY_TYPE,
TUPLE2_TYPE,
SYMBOL_TYPE,
@ -558,14 +558,14 @@ constant pool: [
FIXED_ARRAY_TYPE,
Smi [6],
Smi [18],
Smi [554],
Smi [552],
Smi [6],
Smi [9],
]
handlers: [
[52, 653, 659],
[133, 422, 428],
[136, 378, 380],
[515, 531, 533],
[51, 648, 654],
[130, 417, 423],
[133, 373, 375],
[510, 526, 528],
]

View File

@ -13,11 +13,11 @@ snippet: "
"
frame size: 8
parameter count: 2
bytecode array length: 136
bytecode array length: 133
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(2),
B(ResumeGenerator), R(new_target),
B(Star), R(1),
@ -48,9 +48,9 @@ bytecodes: [
/* 13 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(Star), R(5),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(5),
@ -87,11 +87,11 @@ snippet: "
"
frame size: 8
parameter count: 2
bytecode array length: 136
bytecode array length: 133
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(2),
B(ResumeGenerator), R(new_target),
B(Star), R(1),
@ -122,9 +122,9 @@ bytecodes: [
/* 24 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(Star), R(5),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(5),
@ -163,11 +163,11 @@ snippet: "
"
frame size: 9
parameter count: 2
bytecode array length: 198
bytecode array length: 195
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(3),
B(ResumeGenerator), R(new_target),
B(Star), R(2),
@ -198,9 +198,9 @@ bytecodes: [
/* 64 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(2),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
B(Star), R(5),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
B(Star), R(6),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(6),
@ -266,11 +266,11 @@ snippet: "
"
frame size: 9
parameter count: 2
bytecode array length: 178
bytecode array length: 175
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(3),
B(ResumeGenerator), R(new_target),
B(Star), R(2),
@ -301,9 +301,9 @@ bytecodes: [
/* 49 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(2),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
B(Star), R(5),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
B(Star), R(6),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(6),
@ -361,11 +361,11 @@ snippet: "
"
frame size: 9
parameter count: 2
bytecode array length: 182
bytecode array length: 179
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(3),
B(ResumeGenerator), R(new_target),
B(Star), R(2),
@ -398,9 +398,9 @@ bytecodes: [
/* 49 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(2),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
B(Star), R(5),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
B(Star), R(6),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(6),
@ -458,11 +458,11 @@ snippet: "
"
frame size: 9
parameter count: 2
bytecode array length: 186
bytecode array length: 183
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(3),
B(ResumeGenerator), R(new_target),
B(Star), R(2),
@ -495,9 +495,9 @@ bytecodes: [
/* 51 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(2),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
B(Star), R(5),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
B(Star), R(6),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(6),
@ -553,11 +553,11 @@ snippet: "
"
frame size: 8
parameter count: 2
bytecode array length: 147
bytecode array length: 144
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(2),
B(ResumeGenerator), R(new_target),
B(Star), R(1),
@ -590,9 +590,9 @@ bytecodes: [
/* 32 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(Star), R(5),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(5),
@ -632,11 +632,11 @@ snippet: "
"
frame size: 8
parameter count: 2
bytecode array length: 180
bytecode array length: 177
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(2),
B(ResumeGenerator), R(new_target),
B(Star), R(1),
@ -669,9 +669,9 @@ bytecodes: [
/* 26 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(Star), R(5),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(5),
@ -723,11 +723,11 @@ snippet: "
"
frame size: 8
parameter count: 2
bytecode array length: 136
bytecode array length: 133
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(2),
B(ResumeGenerator), R(new_target),
B(Star), R(1),
@ -758,9 +758,9 @@ bytecodes: [
/* 30 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(Star), R(5),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(5),
@ -797,11 +797,11 @@ snippet: "
"
frame size: 8
parameter count: 2
bytecode array length: 136
bytecode array length: 133
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(2),
B(ResumeGenerator), R(new_target),
B(Star), R(1),
@ -832,9 +832,9 @@ bytecodes: [
/* 19 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(Star), R(5),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(5),
@ -872,11 +872,11 @@ snippet: "
"
frame size: 8
parameter count: 2
bytecode array length: 174
bytecode array length: 171
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(2),
B(ResumeGenerator), R(new_target),
B(Star), R(1),
@ -911,9 +911,9 @@ bytecodes: [
/* 45 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(Star), R(5),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(5),

View File

@ -273,11 +273,11 @@ snippet: "
"
frame size: 14
parameter count: 1
bytecode array length: 335
bytecode array length: 332
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(5),
B(ResumeGenerator), R(new_target),
B(Star), R(4),
@ -305,9 +305,9 @@ bytecodes: [
/* 62 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1),
B(Star), R(10),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(9), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1),
B(Star), R(11),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(11),
@ -436,7 +436,7 @@ constant pool: [
Smi [9],
]
handlers: [
[52, 291, 297],
[51, 288, 294],
]
---
@ -448,11 +448,11 @@ snippet: "
"
frame size: 13
parameter count: 1
bytecode array length: 444
bytecode array length: 439
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(4),
B(ResumeGenerator), R(new_target),
B(Star), R(3),
@ -480,9 +480,9 @@ bytecodes: [
/* 56 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
B(Star), R(9),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
B(Star), R(10),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(10),
@ -547,7 +547,7 @@ bytecodes: [
B(JumpIfFalse), U8(4),
B(Jump), U8(6),
B(PopContext), R(2),
B(Jump), U8(157),
B(Jump), U8(155),
B(Ldar), R(3),
B(SwitchOnSmiNoFeedback), U8(5), U8(1), I8(1),
B(LdaSmi), I8(-2),
@ -560,7 +560,7 @@ bytecodes: [
B(Star), R(8),
B(LdaSmi), I8(1),
B(TestEqual), R(8), U8(6),
B(JumpIfFalse), U8(101),
B(JumpIfFalse), U8(99),
/* 18 E> */ B(StackCheck),
/* 47 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
B(Star), R(8),
@ -576,9 +576,9 @@ bytecodes: [
/* 56 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
B(Star), R(9),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
B(Star), R(10),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(10),
@ -604,7 +604,7 @@ bytecodes: [
B(StaContextSlot), R(1), U8(7), U8(0),
B(LdaCurrentContextSlot), U8(4),
/* 54 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
B(JumpLoop), U8(130), I8(1),
B(JumpLoop), U8(128), I8(1),
B(LdaContextSlot), R(1), U8(7), U8(0),
B(Star), R(8),
B(LdaSmi), I8(1),
@ -613,7 +613,7 @@ bytecodes: [
B(PopContext), R(2),
B(Jump), U8(7),
B(PopContext), R(2),
B(JumpLoop), U8(238), I8(0),
B(JumpLoop), U8(236), I8(0),
B(PopContext), R(1),
B(LdaUndefined),
B(Star), R(8),
@ -650,17 +650,17 @@ bytecodes: [
]
constant pool: [
Smi [52],
Smi [125],
Smi [123],
FIXED_ARRAY_TYPE,
Smi [84],
FIXED_ARRAY_TYPE,
Smi [60],
Smi [301],
Smi [299],
Smi [6],
Smi [9],
]
handlers: [
[52, 400, 406],
[51, 395, 401],
]
---
@ -838,11 +838,11 @@ snippet: "
"
frame size: 14
parameter count: 1
bytecode array length: 483
bytecode array length: 480
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
B(PushContext), R(4),
B(ResumeGenerator), R(new_target),
B(Star), R(3),
@ -912,7 +912,7 @@ bytecodes: [
B(JumpIfFalse), U8(4),
B(Jump), U8(6),
B(PopContext), R(2),
B(Jump), U8(187),
B(Jump), U8(185),
B(Ldar), R(3),
B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(0),
B(LdaSmi), I8(-2),
@ -925,7 +925,7 @@ bytecodes: [
B(Star), R(9),
B(LdaSmi), I8(1),
B(TestEqual), R(9), U8(6),
B(JumpIfFalse), U8(128),
B(JumpIfFalse), U8(126),
/* 23 E> */ B(StackCheck),
/* 52 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
B(Star), R(9),
@ -948,9 +948,9 @@ bytecodes: [
/* 61 S> */ B(Return),
B(LdaSmi), I8(-2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1),
B(Star), R(10),
B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(9), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1),
B(Star), R(11),
B(LdaZero),
B(TestEqualStrictNoFeedback), R(11),
@ -978,7 +978,7 @@ bytecodes: [
B(StaContextSlot), R(1), U8(9), U8(0),
B(LdaCurrentContextSlot), U8(4),
/* 59 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
B(JumpLoop), U8(157), I8(1),
B(JumpLoop), U8(155), I8(1),
B(LdaContextSlot), R(1), U8(9), U8(0),
B(Star), R(9),
B(LdaSmi), I8(1),
@ -987,7 +987,7 @@ bytecodes: [
B(PopContext), R(2),
B(Jump), U8(10),
B(PopContext), R(2),
B(Wide), B(JumpLoop), U16(266), I16(0),
B(Wide), B(JumpLoop), U16(264), I16(0),
B(PopContext), R(1),
B(LdaUndefined),
B(Star), R(9),
@ -1064,7 +1064,7 @@ constant pool: [
Smi [9],
]
handlers: [
[61, 437, 443],
[64, 384, 386],
[60, 434, 440],
[63, 381, 383],
]