Merge V8 5.2.361.47 DO NOT MERGE
https://chromium.googlesource.com/v8/v8/+/5.2.361.47
FPIIM-449
Change-Id: Ibec421b85a9b88cb3a432ada642e469fe7e78346
(cherry picked from commit bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8)
diff --git a/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden b/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden
index acec42f..99a78be 100644
--- a/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden
+++ b/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden
@@ -11,36 +11,38 @@
snippet: "
eval('var x = 10;'); return x;
"
-frame size: 9
+frame size: 10
parameter count: 1
-bytecode array length: 67
+bytecode array length: 71
bytecodes: [
- B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
- B(PushContext), R(0),
- B(Ldar), R(this),
- B(StaContextSlot), R(context), U8(4),
- B(CreateMappedArguments),
- B(StaContextSlot), R(context), U8(5),
- B(Ldar), R(new_target),
- B(StaContextSlot), R(context), U8(6),
- B(StackCheck),
- B(LdaConstant), U8(0),
- B(Star), R(3),
- B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
- B(LdaConstant), U8(1),
- B(Star), R(3),
- B(Mov), R(1), R(4),
- B(Mov), R(3), R(5),
- B(Mov), R(closure), R(6),
- B(LdaZero),
- B(Star), R(7),
- B(LdaSmi), U8(30),
- B(Star), R(8),
- B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(5),
- B(Star), R(1),
- B(Call), R(1), R(2), U8(2), U8(0),
- B(LdaLookupSlot), U8(2),
- B(Return),
+ B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
+ B(PushContext), R(0),
+ B(Ldar), R(this),
+ B(StaContextSlot), R(context), U8(4),
+ B(CreateMappedArguments),
+ B(StaContextSlot), R(context), U8(5),
+ B(Ldar), R(new_target),
+ B(StaContextSlot), R(context), U8(6),
+ /* 30 E> */ B(StackCheck),
+ /* 34 S> */ B(LdaConstant), U8(0),
+ B(Star), R(3),
+ B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
+ B(LdaConstant), U8(1),
+ B(Star), R(3),
+ B(Mov), R(1), R(4),
+ B(Mov), R(3), R(5),
+ B(Mov), R(closure), R(6),
+ B(LdaZero),
+ B(Star), R(7),
+ B(LdaSmi), U8(30),
+ B(Star), R(8),
+ B(LdaSmi), U8(34),
+ B(Star), R(9),
+ B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
+ B(Star), R(1),
+ /* 34 E> */ B(Call), R(1), R(2), U8(2), U8(0),
+ /* 55 S> */ B(LdaLookupSlot), U8(2),
+ /* 65 S> */ B(Return),
]
constant pool: [
"eval",
@@ -54,37 +56,39 @@
snippet: "
eval('var x = 10;'); return typeof x;
"
-frame size: 9
+frame size: 10
parameter count: 1
-bytecode array length: 68
+bytecode array length: 72
bytecodes: [
- B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
- B(PushContext), R(0),
- B(Ldar), R(this),
- B(StaContextSlot), R(context), U8(4),
- B(CreateMappedArguments),
- B(StaContextSlot), R(context), U8(5),
- B(Ldar), R(new_target),
- B(StaContextSlot), R(context), U8(6),
- B(StackCheck),
- B(LdaConstant), U8(0),
- B(Star), R(3),
- B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
- B(LdaConstant), U8(1),
- B(Star), R(3),
- B(Mov), R(1), R(4),
- B(Mov), R(3), R(5),
- B(Mov), R(closure), R(6),
- B(LdaZero),
- B(Star), R(7),
- B(LdaSmi), U8(30),
- B(Star), R(8),
- B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(5),
- B(Star), R(1),
- B(Call), R(1), R(2), U8(2), U8(0),
- B(LdaLookupSlotInsideTypeof), U8(2),
- B(TypeOf),
- B(Return),
+ B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
+ B(PushContext), R(0),
+ B(Ldar), R(this),
+ B(StaContextSlot), R(context), U8(4),
+ B(CreateMappedArguments),
+ B(StaContextSlot), R(context), U8(5),
+ B(Ldar), R(new_target),
+ B(StaContextSlot), R(context), U8(6),
+ /* 30 E> */ B(StackCheck),
+ /* 34 S> */ B(LdaConstant), U8(0),
+ B(Star), R(3),
+ B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
+ B(LdaConstant), U8(1),
+ B(Star), R(3),
+ B(Mov), R(1), R(4),
+ B(Mov), R(3), R(5),
+ B(Mov), R(closure), R(6),
+ B(LdaZero),
+ B(Star), R(7),
+ B(LdaSmi), U8(30),
+ B(Star), R(8),
+ B(LdaSmi), U8(34),
+ B(Star), R(9),
+ B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
+ B(Star), R(1),
+ /* 34 E> */ B(Call), R(1), R(2), U8(2), U8(0),
+ /* 55 S> */ B(LdaLookupSlotInsideTypeof), U8(2),
+ B(TypeOf),
+ /* 72 S> */ B(Return),
]
constant pool: [
"eval",
@@ -98,37 +102,39 @@
snippet: "
x = 20; return eval('');
"
-frame size: 9
+frame size: 10
parameter count: 1
-bytecode array length: 69
+bytecode array length: 73
bytecodes: [
- B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
- B(PushContext), R(0),
- B(Ldar), R(this),
- B(StaContextSlot), R(context), U8(4),
- B(CreateMappedArguments),
- B(StaContextSlot), R(context), U8(5),
- B(Ldar), R(new_target),
- B(StaContextSlot), R(context), U8(6),
- B(StackCheck),
- B(LdaSmi), U8(20),
- B(StaLookupSlotSloppy), U8(0),
- B(LdaConstant), U8(1),
- B(Star), R(3),
- B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
- B(LdaConstant), U8(2),
- B(Star), R(3),
- B(Mov), R(1), R(4),
- B(Mov), R(3), R(5),
- B(Mov), R(closure), R(6),
- B(LdaZero),
- B(Star), R(7),
- B(LdaSmi), U8(30),
- B(Star), R(8),
- B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(5),
- B(Star), R(1),
- B(Call), R(1), R(2), U8(2), U8(0),
- B(Return),
+ B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
+ B(PushContext), R(0),
+ B(Ldar), R(this),
+ B(StaContextSlot), R(context), U8(4),
+ B(CreateMappedArguments),
+ B(StaContextSlot), R(context), U8(5),
+ B(Ldar), R(new_target),
+ B(StaContextSlot), R(context), U8(6),
+ /* 30 E> */ B(StackCheck),
+ /* 34 S> */ B(LdaSmi), U8(20),
+ /* 36 E> */ B(StaLookupSlotSloppy), U8(0),
+ /* 42 S> */ B(LdaConstant), U8(1),
+ B(Star), R(3),
+ B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
+ B(LdaConstant), U8(2),
+ B(Star), R(3),
+ B(Mov), R(1), R(4),
+ B(Mov), R(3), R(5),
+ B(Mov), R(closure), R(6),
+ B(LdaZero),
+ B(Star), R(7),
+ B(LdaSmi), U8(30),
+ B(Star), R(8),
+ B(LdaSmi), U8(49),
+ B(Star), R(9),
+ B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
+ B(Star), R(1),
+ /* 49 E> */ B(Call), R(1), R(2), U8(2), U8(0),
+ /* 59 S> */ B(Return),
]
constant pool: [
"x",