Index: test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden |
diff --git a/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden b/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden |
index afc009f7d80f577cdfb0a9a1fdd4008a865cb8fb..7635cd44fa08a09a3fc861a7e96e34e3c651dcce 100644 |
--- a/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden |
+++ b/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden |
@@ -10,26 +10,40 @@ snippet: " |
var x = 0, y = 1; |
return (x = 2, y = 3, x = 4, y = 5); |
" |
-frame size: 2 |
+frame size: 3 |
parameter count: 1 |
-bytecode array length: 25 |
+bytecode array length: 49 |
bytecodes: [ |
/* 30 E> */ B(StackCheck), |
- /* 42 S> */ B(LdaZero), |
+ /* 42 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(2), |
+ B(LdaZero), |
B(Star), R(0), |
- /* 49 S> */ B(LdaSmi), I8(1), |
+ /* 49 S> */ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(LdaSmi), I8(1), |
B(Star), R(1), |
- /* 52 S> */ B(LdaSmi), I8(2), |
+ /* 52 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(2), |
+ B(LdaSmi), I8(2), |
B(Star), R(0), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
B(LdaSmi), I8(3), |
B(Star), R(1), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(2), |
B(LdaSmi), I8(4), |
B(Star), R(0), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
B(LdaSmi), I8(5), |
B(Star), R(1), |
/* 89 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"], |
] |
handlers: [ |
] |
@@ -40,20 +54,28 @@ snippet: " |
var y = (x = 100); |
return y; |
" |
-frame size: 2 |
+frame size: 4 |
parameter count: 1 |
-bytecode array length: 13 |
+bytecode array length: 25 |
bytecodes: [ |
/* 30 E> */ B(StackCheck), |
- /* 42 S> */ B(LdaSmi), I8(55), |
+ /* 42 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(2), |
+ B(LdaSmi), I8(55), |
B(Star), R(0), |
- /* 57 S> */ B(LdaSmi), I8(100), |
+ /* 57 S> */ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
+ B(LdaSmi), I8(100), |
B(Star), R(0), |
B(Star), R(1), |
/* 65 S> */ B(Nop), |
/* 75 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"], |
] |
handlers: [ |
] |
@@ -64,26 +86,35 @@ snippet: " |
x = x + (x = 100) + (x = 101); |
return x; |
" |
-frame size: 2 |
+frame size: 4 |
parameter count: 1 |
-bytecode array length: 28 |
+bytecode array length: 44 |
bytecodes: [ |
/* 30 E> */ B(StackCheck), |
- /* 42 S> */ B(LdaSmi), I8(55), |
- B(Star), R(0), |
- /* 46 S> */ B(LdaSmi), I8(100), |
- B(Mov), R(0), R(1), |
+ /* 42 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(1), |
+ B(LdaSmi), I8(55), |
B(Star), R(0), |
- /* 52 E> */ B(Add), R(1), U8(2), |
+ /* 46 S> */ B(LdaConstant), U8(0), |
B(Star), R(1), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
+ B(LdaSmi), I8(100), |
+ B(Mov), R(0), R(2), |
+ B(Star), R(0), |
+ /* 52 E> */ B(Add), R(2), U8(6), |
+ B(Star), R(2), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
B(LdaSmi), I8(101), |
B(Star), R(0), |
- /* 64 E> */ B(Add), R(1), U8(3), |
+ /* 64 E> */ B(Add), R(2), U8(9), |
B(Star), R(0), |
/* 77 S> */ B(Nop), |
/* 87 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], |
] |
handlers: [ |
] |
@@ -95,27 +126,36 @@ snippet: " |
x++; |
return x; |
" |
-frame size: 2 |
+frame size: 4 |
parameter count: 1 |
-bytecode array length: 29 |
+bytecode array length: 45 |
bytecodes: [ |
/* 30 E> */ B(StackCheck), |
- /* 42 S> */ B(LdaSmi), I8(55), |
- B(Star), R(0), |
- /* 46 S> */ B(LdaSmi), I8(56), |
+ /* 42 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(1), |
+ B(LdaSmi), I8(55), |
B(Star), R(0), |
- /* 59 E> */ B(Sub), R(0), U8(2), |
+ /* 46 S> */ B(LdaConstant), U8(0), |
B(Star), R(1), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(2), |
+ B(LdaSmi), I8(56), |
+ B(Star), R(0), |
+ /* 59 E> */ B(Sub), R(0), U8(6), |
+ B(Star), R(2), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
B(LdaSmi), I8(57), |
B(Star), R(0), |
- /* 63 E> */ B(Add), R(1), U8(3), |
+ /* 63 E> */ B(Add), R(2), U8(9), |
B(Star), R(0), |
- /* 75 S> */ B(Inc), U8(4), |
+ /* 75 S> */ B(Inc), U8(12), |
B(Star), R(0), |
/* 80 S> */ B(Nop), |
/* 90 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], |
] |
handlers: [ |
] |
@@ -126,30 +166,42 @@ snippet: " |
var y = x + (x = 1) + (x = 2) + (x = 3); |
return y; |
" |
-frame size: 3 |
+frame size: 5 |
parameter count: 1 |
-bytecode array length: 37 |
+bytecode array length: 57 |
bytecodes: [ |
/* 30 E> */ B(StackCheck), |
- /* 42 S> */ B(LdaSmi), I8(55), |
- B(Star), R(0), |
- /* 76 S> */ B(LdaSmi), I8(1), |
- B(Mov), R(0), R(2), |
+ /* 42 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(2), |
+ B(LdaSmi), I8(55), |
B(Star), R(0), |
- /* 56 E> */ B(Add), R(2), U8(2), |
+ /* 76 S> */ B(LdaConstant), U8(1), |
B(Star), R(2), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(4), |
+ B(LdaSmi), I8(1), |
+ B(Mov), R(0), R(3), |
+ B(Star), R(0), |
+ /* 56 E> */ B(Add), R(3), U8(6), |
+ B(Star), R(3), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(4), |
B(LdaSmi), I8(2), |
B(Star), R(0), |
- /* 66 E> */ B(Add), R(2), U8(3), |
- B(Star), R(2), |
+ /* 66 E> */ B(Add), R(3), U8(9), |
+ B(Star), R(3), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(4), |
B(LdaSmi), I8(3), |
B(Star), R(0), |
- /* 76 E> */ B(Add), R(2), U8(4), |
+ /* 76 E> */ B(Add), R(3), U8(12), |
B(Star), R(1), |
/* 87 S> */ B(Nop), |
/* 97 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"], |
] |
handlers: [ |
] |
@@ -160,30 +212,41 @@ snippet: " |
var x = x + (x = 1) + (x = 2) + (x = 3); |
return x; |
" |
-frame size: 2 |
+frame size: 4 |
parameter count: 1 |
-bytecode array length: 37 |
+bytecode array length: 57 |
bytecodes: [ |
/* 30 E> */ B(StackCheck), |
- /* 42 S> */ B(LdaSmi), I8(55), |
- B(Star), R(0), |
- /* 76 S> */ B(LdaSmi), I8(1), |
- B(Mov), R(0), R(1), |
+ /* 42 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(1), |
+ B(LdaSmi), I8(55), |
B(Star), R(0), |
- /* 56 E> */ B(Add), R(1), U8(2), |
+ /* 76 S> */ B(LdaConstant), U8(0), |
B(Star), R(1), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
+ B(LdaSmi), I8(1), |
+ B(Mov), R(0), R(2), |
+ B(Star), R(0), |
+ /* 56 E> */ B(Add), R(2), U8(6), |
+ B(Star), R(2), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
B(LdaSmi), I8(2), |
B(Star), R(0), |
- /* 66 E> */ B(Add), R(1), U8(3), |
- B(Star), R(1), |
+ /* 66 E> */ B(Add), R(2), U8(9), |
+ B(Star), R(2), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
B(LdaSmi), I8(3), |
B(Star), R(0), |
- /* 76 E> */ B(Add), R(1), U8(4), |
+ /* 76 E> */ B(Add), R(2), U8(12), |
B(Star), R(0), |
/* 87 S> */ B(Nop), |
/* 97 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], |
] |
handlers: [ |
] |
@@ -193,44 +256,60 @@ snippet: " |
var x = 10, y = 20; |
return x + (x = 1) + (x + 1) * (y = 2) + (y = 3) + (x = 4) + (y = 5) + y; |
" |
-frame size: 4 |
+frame size: 5 |
parameter count: 1 |
-bytecode array length: 72 |
+bytecode array length: 100 |
bytecodes: [ |
/* 30 E> */ B(StackCheck), |
- /* 42 S> */ B(LdaSmi), I8(10), |
+ /* 42 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(2), |
+ B(LdaSmi), I8(10), |
B(Star), R(0), |
- /* 50 S> */ B(LdaSmi), I8(20), |
+ /* 50 S> */ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(LdaSmi), I8(20), |
B(Star), R(1), |
- /* 54 S> */ B(LdaSmi), I8(1), |
+ /* 54 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
+ B(LdaSmi), I8(1), |
B(Mov), R(0), R(2), |
B(Star), R(0), |
- /* 63 E> */ B(Add), R(2), U8(2), |
+ /* 63 E> */ B(Add), R(2), U8(8), |
B(Star), R(2), |
- /* 78 E> */ B(AddSmi), I8(1), R(0), U8(3), |
+ /* 78 E> */ B(AddSmi), I8(1), R(0), U8(9), |
B(Star), R(3), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(4), |
B(LdaSmi), I8(2), |
B(Star), R(1), |
- /* 83 E> */ B(Mul), R(3), U8(4), |
- /* 73 E> */ B(Add), R(2), U8(5), |
+ /* 83 E> */ B(Mul), R(3), U8(12), |
+ /* 73 E> */ B(Add), R(2), U8(13), |
B(Star), R(2), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
B(LdaSmi), I8(3), |
B(Star), R(1), |
- /* 93 E> */ B(Add), R(2), U8(6), |
+ /* 93 E> */ B(Add), R(2), U8(16), |
B(Star), R(2), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
B(LdaSmi), I8(4), |
B(Star), R(0), |
- /* 103 E> */ B(Add), R(2), U8(7), |
+ /* 103 E> */ B(Add), R(2), U8(19), |
B(Star), R(2), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
B(LdaSmi), I8(5), |
B(Star), R(1), |
- /* 113 E> */ B(Add), R(2), U8(8), |
+ /* 113 E> */ B(Add), R(2), U8(22), |
B(Star), R(2), |
B(Ldar), R(1), |
- /* 123 E> */ B(Add), R(2), U8(9), |
+ /* 123 E> */ B(Add), R(2), U8(23), |
/* 128 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"], |
] |
handlers: [ |
] |
@@ -242,31 +321,34 @@ snippet: " |
" |
frame size: 3 |
parameter count: 1 |
-bytecode array length: 43 |
+bytecode array length: 47 |
bytecodes: [ |
/* 30 E> */ B(StackCheck), |
- /* 42 S> */ B(LdaSmi), I8(17), |
+ /* 42 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(1), |
+ B(LdaSmi), I8(17), |
B(Star), R(0), |
/* 46 S> */ B(LdaSmi), I8(1), |
B(Star), R(1), |
B(Ldar), R(0), |
- /* 55 E> */ B(Add), R(1), U8(2), |
+ /* 55 E> */ B(Add), R(1), U8(4), |
B(Star), R(1), |
B(Ldar), R(0), |
B(ToNumber), R(2), |
B(Ldar), R(2), |
- B(Inc), U8(3), |
+ B(Inc), U8(5), |
B(Star), R(0), |
B(Ldar), R(2), |
- /* 59 E> */ B(Add), R(1), U8(4), |
+ /* 59 E> */ B(Add), R(1), U8(6), |
B(Star), R(1), |
B(Ldar), R(0), |
- B(Inc), U8(5), |
+ B(Inc), U8(7), |
B(Star), R(0), |
- /* 67 E> */ B(Add), R(1), U8(6), |
+ /* 67 E> */ B(Add), R(1), U8(8), |
/* 76 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], |
] |
handlers: [ |
] |