Commit bfc53f6e authored by rmcilroy's avatar rmcilroy Committed by Commit bot

[Interpreter] Add expression positions to BinaryOps.

BUG=v8:5723

Review-Url: https://codereview.chromium.org/2555263002
Cr-Commit-Position: refs/heads/master@{#41583}
parent fcb75915
......@@ -2844,6 +2844,7 @@ void BytecodeGenerator::VisitArithmeticExpression(BinaryOperation* expr) {
Register lhs = VisitForRegisterValue(expr->left());
VisitForAccumulatorValue(expr->right());
FeedbackVectorSlot slot = expr->BinaryOperationFeedbackSlot();
builder()->SetExpressionPosition(expr);
builder()->BinaryOperation(expr->op(), lhs, feedback_index(slot));
}
......
......@@ -42,7 +42,7 @@ bytecodes: [
/* 54 E> */ B(StaKeyedPropertySloppy), R(2), R(1), U8(3),
B(LdaSmi), U8(1),
B(Star), R(1),
/* 57 E> */ B(AddSmi), U8(1), R(0), U8(2),
/* 59 E> */ B(AddSmi), U8(1), R(0), U8(2),
B(StaKeyedPropertySloppy), R(2), R(1), U8(3),
B(Ldar), R(2),
/* 66 S> */ B(Return),
......@@ -100,7 +100,7 @@ bytecodes: [
B(Star), R(4),
B(LdaZero),
B(Star), R(3),
/* 66 E> */ B(AddSmi), U8(2), R(0), U8(4),
/* 68 E> */ B(AddSmi), U8(2), R(0), U8(4),
B(StaKeyedPropertySloppy), R(4), R(3), U8(5),
B(Ldar), R(4),
B(StaKeyedPropertySloppy), R(2), R(1), U8(7),
......
......@@ -74,11 +74,11 @@ bytecodes: [
/* 46 S> */ B(LdaSmi), U8(100),
B(Mov), R(0), R(1),
B(Star), R(0),
/* 57 E> */ B(Add), R(1), U8(2),
/* 52 E> */ B(Add), R(1), U8(2),
B(Star), R(1),
B(LdaSmi), U8(101),
B(Star), R(0),
/* 69 E> */ B(Add), R(1), U8(3),
/* 64 E> */ B(Add), R(1), U8(3),
B(Star), R(0),
/* 77 S> */ B(Nop),
/* 87 S> */ B(Return),
......@@ -104,11 +104,11 @@ bytecodes: [
B(Star), R(0),
/* 46 S> */ B(LdaSmi), U8(56),
B(Star), R(0),
/* 61 E> */ B(Sub), R(0), U8(2),
/* 59 E> */ B(Sub), R(0), U8(2),
B(Star), R(1),
B(LdaSmi), U8(57),
B(Star), R(0),
/* 68 E> */ B(Add), R(1), U8(3),
/* 63 E> */ B(Add), R(1), U8(3),
B(Star), R(0),
/* 75 S> */ B(Inc), U8(4),
B(Star), R(0),
......@@ -136,15 +136,15 @@ bytecodes: [
/* 76 S> */ B(LdaSmi), U8(1),
B(Mov), R(0), R(2),
B(Star), R(0),
/* 61 E> */ B(Add), R(2), U8(2),
/* 56 E> */ B(Add), R(2), U8(2),
B(Star), R(2),
B(LdaSmi), U8(2),
B(Star), R(0),
/* 71 E> */ B(Add), R(2), U8(3),
/* 66 E> */ B(Add), R(2), U8(3),
B(Star), R(2),
B(LdaSmi), U8(3),
B(Star), R(0),
/* 81 E> */ B(Add), R(2), U8(4),
/* 76 E> */ B(Add), R(2), U8(4),
B(Star), R(1),
/* 87 S> */ B(Nop),
/* 97 S> */ B(Return),
......@@ -170,15 +170,15 @@ bytecodes: [
/* 76 S> */ B(LdaSmi), U8(1),
B(Mov), R(0), R(1),
B(Star), R(0),
/* 61 E> */ B(Add), R(1), U8(2),
/* 56 E> */ B(Add), R(1), U8(2),
B(Star), R(1),
B(LdaSmi), U8(2),
B(Star), R(0),
/* 71 E> */ B(Add), R(1), U8(3),
/* 66 E> */ B(Add), R(1), U8(3),
B(Star), R(1),
B(LdaSmi), U8(3),
B(Star), R(0),
/* 81 E> */ B(Add), R(1), U8(4),
/* 76 E> */ B(Add), R(1), U8(4),
B(Star), R(0),
/* 87 S> */ B(Nop),
/* 97 S> */ B(Return),
......@@ -205,29 +205,29 @@ bytecodes: [
/* 54 S> */ B(LdaSmi), U8(1),
B(Mov), R(0), R(2),
B(Star), R(0),
/* 68 E> */ B(Add), R(2), U8(2),
/* 63 E> */ B(Add), R(2), U8(2),
B(Star), R(2),
/* 76 E> */ B(AddSmi), U8(1), R(0), U8(3),
/* 78 E> */ B(AddSmi), U8(1), R(0), U8(3),
B(Star), R(3),
B(LdaSmi), U8(2),
B(Star), R(1),
/* 88 E> */ B(Mul), R(3), U8(4),
B(Add), R(2), U8(5),
/* 83 E> */ B(Mul), R(3), U8(4),
/* 73 E> */ B(Add), R(2), U8(5),
B(Star), R(2),
B(LdaSmi), U8(3),
B(Star), R(1),
/* 98 E> */ B(Add), R(2), U8(6),
/* 93 E> */ B(Add), R(2), U8(6),
B(Star), R(2),
B(LdaSmi), U8(4),
B(Star), R(0),
/* 108 E> */ B(Add), R(2), U8(7),
/* 103 E> */ B(Add), R(2), U8(7),
B(Star), R(2),
B(LdaSmi), U8(5),
B(Star), R(1),
/* 118 E> */ B(Add), R(2), U8(8),
/* 113 E> */ B(Add), R(2), U8(8),
B(Star), R(2),
B(Ldar), R(1),
/* 125 E> */ B(Add), R(2), U8(9),
/* 123 E> */ B(Add), R(2), U8(9),
/* 128 S> */ B(Return),
]
constant pool: [
......@@ -250,7 +250,7 @@ bytecodes: [
/* 46 S> */ B(LdaSmi), U8(1),
B(Star), R(1),
B(Ldar), R(0),
/* 57 E> */ B(Add), R(1), U8(2),
/* 55 E> */ B(Add), R(1), U8(2),
B(Star), R(1),
B(Ldar), R(0),
B(ToNumber), R(2),
......@@ -258,12 +258,12 @@ bytecodes: [
B(Inc), U8(3),
B(Star), R(0),
B(Ldar), R(2),
/* 63 E> */ B(Add), R(1), U8(4),
/* 59 E> */ B(Add), R(1), U8(4),
B(Star), R(1),
B(Ldar), R(0),
B(Inc), U8(5),
B(Star), R(0),
/* 72 E> */ B(Add), R(1), U8(6),
/* 67 E> */ B(Add), R(1), U8(6),
/* 76 S> */ B(Return),
]
constant pool: [
......
......@@ -63,7 +63,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 53
bytecode array length: 54
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -72,12 +72,13 @@ bytecodes: [
B(Star), R(1),
/* 65 S> */ B(LdaSmi), U8(10),
/* 65 E> */ B(TestLessThan), R(0), U8(2),
B(JumpIfFalse), U8(37),
B(JumpIfFalse), U8(38),
/* 56 E> */ B(StackCheck),
/* 75 S> */ B(LdaSmi), U8(12),
B(Mul), R(1), U8(3),
/* 81 E> */ B(Mul), R(1), U8(3),
B(Star), R(1),
/* 89 S> */ B(AddSmi), U8(1), R(0), U8(4),
/* 89 S> */ B(LdaSmi), U8(1),
/* 95 E> */ B(Add), R(0), U8(4),
B(Star), R(0),
/* 102 S> */ B(LdaSmi), U8(3),
/* 108 E> */ B(TestEqual), R(0), U8(5),
......@@ -87,7 +88,7 @@ bytecodes: [
/* 132 E> */ B(TestEqual), R(0), U8(6),
B(JumpIfFalse), U8(4),
/* 138 S> */ B(Jump), U8(5),
B(JumpLoop), U8(-39), U8(0),
B(JumpLoop), U8(-40), U8(0),
/* 147 S> */ B(Ldar), R(1),
/* 157 S> */ B(Return),
]
......@@ -111,7 +112,7 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 61
bytecode array length: 62
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -120,26 +121,27 @@ bytecodes: [
/* 62 S> */ B(LdaZero),
/* 68 E> */ B(TestLessThan), R(0), U8(2),
B(JumpIfFalse), U8(4),
/* 73 S> */ B(Jump), U8(44),
/* 73 S> */ B(Jump), U8(45),
/* 85 S> */ B(LdaSmi), U8(3),
/* 91 E> */ B(TestEqual), R(0), U8(3),
B(JumpIfFalse), U8(4),
/* 97 S> */ B(Jump), U8(38),
/* 97 S> */ B(Jump), U8(39),
/* 106 S> */ B(LdaSmi), U8(4),
/* 112 E> */ B(TestEqual), R(0), U8(4),
B(JumpIfFalse), U8(4),
/* 118 S> */ B(Jump), U8(29),
/* 118 S> */ B(Jump), U8(30),
/* 127 S> */ B(LdaSmi), U8(10),
/* 133 E> */ B(TestEqual), R(0), U8(5),
B(JumpIfFalse), U8(4),
/* 140 S> */ B(Jump), U8(17),
/* 140 S> */ B(Jump), U8(18),
/* 152 S> */ B(LdaSmi), U8(5),
/* 158 E> */ B(TestEqual), R(0), U8(6),
B(JumpIfFalse), U8(4),
/* 164 S> */ B(Jump), U8(11),
/* 173 S> */ B(AddSmi), U8(1), R(0), U8(7),
/* 164 S> */ B(Jump), U8(12),
/* 173 S> */ B(LdaSmi), U8(1),
/* 179 E> */ B(Add), R(0), U8(7),
B(Star), R(0),
B(JumpLoop), U8(-51), U8(0),
B(JumpLoop), U8(-52), U8(0),
/* 186 S> */ B(Ldar), R(0),
/* 196 S> */ B(Return),
]
......@@ -163,7 +165,7 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 42
bytecode array length: 44
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -171,16 +173,18 @@ bytecodes: [
/* 45 E> */ B(StackCheck),
/* 71 S> */ B(LdaSmi), U8(3),
/* 71 E> */ B(TestLessThan), R(0), U8(2),
B(JumpIfFalse), U8(21),
B(JumpIfFalse), U8(22),
/* 62 E> */ B(StackCheck),
/* 82 S> */ B(LdaSmi), U8(2),
/* 88 E> */ B(TestEqual), R(0), U8(3),
B(JumpIfFalse), U8(4),
/* 94 S> */ B(Jump), U8(11),
/* 105 S> */ B(AddSmi), U8(1), R(0), U8(4),
/* 94 S> */ B(Jump), U8(12),
/* 105 S> */ B(LdaSmi), U8(1),
/* 111 E> */ B(Add), R(0), U8(4),
B(Star), R(0),
B(JumpLoop), U8(-23), U8(1),
/* 122 S> */ B(AddSmi), U8(1), R(0), U8(5),
B(JumpLoop), U8(-24), U8(1),
/* 122 S> */ B(LdaSmi), U8(1),
/* 128 E> */ B(Add), R(0), U8(5),
B(Star), R(0),
/* 135 S> */ B(Jump), U8(2),
/* 144 S> */ B(Ldar), R(0),
......@@ -203,7 +207,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 33
bytecode array length: 34
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
......@@ -211,14 +215,15 @@ bytecodes: [
/* 54 S> */ B(LdaSmi), U8(1),
B(Star), R(1),
/* 64 S> */ B(Ldar), R(0),
B(JumpIfToBooleanFalse), U8(19),
B(JumpIfToBooleanFalse), U8(20),
/* 57 E> */ B(StackCheck),
/* 71 S> */ B(LdaSmi), U8(12),
B(Mul), R(1), U8(2),
/* 77 E> */ B(Mul), R(1), U8(2),
B(Star), R(1),
/* 85 S> */ B(SubSmi), U8(1), R(0), U8(3),
/* 85 S> */ B(LdaSmi), U8(1),
/* 91 E> */ B(Sub), R(0), U8(3),
B(Star), R(0),
B(JumpLoop), U8(-18), U8(0),
B(JumpLoop), U8(-19), U8(0),
/* 98 S> */ B(Ldar), R(1),
/* 108 S> */ B(Return),
]
......@@ -240,7 +245,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 53
bytecode array length: 54
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -249,22 +254,23 @@ bytecodes: [
B(Star), R(1),
/* 56 E> */ B(StackCheck),
/* 63 S> */ B(LdaSmi), U8(10),
B(Mul), R(1), U8(2),
/* 69 E> */ B(Mul), R(1), U8(2),
B(Star), R(1),
/* 77 S> */ B(LdaSmi), U8(5),
/* 83 E> */ B(TestEqual), R(0), U8(3),
B(JumpIfFalse), U8(4),
/* 89 S> */ B(Jump), U8(27),
/* 89 S> */ B(Jump), U8(28),
/* 98 S> */ B(LdaSmi), U8(6),
/* 104 E> */ B(TestEqual), R(0), U8(4),
B(JumpIfFalse), U8(4),
/* 110 S> */ B(Jump), U8(8),
/* 122 S> */ B(AddSmi), U8(1), R(0), U8(5),
/* 110 S> */ B(Jump), U8(9),
/* 122 S> */ B(LdaSmi), U8(1),
/* 128 E> */ B(Add), R(0), U8(5),
B(Star), R(0),
/* 144 S> */ B(LdaSmi), U8(10),
/* 144 E> */ B(TestLessThan), R(0), U8(6),
B(JumpIfFalse), U8(5),
B(JumpLoop), U8(-39), U8(0),
B(JumpLoop), U8(-40), U8(0),
/* 151 S> */ B(Ldar), R(1),
/* 161 S> */ B(Return),
]
......@@ -285,7 +291,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 31
bytecode array length: 32
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
......@@ -294,12 +300,13 @@ bytecodes: [
B(Star), R(1),
/* 57 E> */ B(StackCheck),
/* 64 S> */ B(LdaSmi), U8(12),
B(Mul), R(1), U8(2),
/* 70 E> */ B(Mul), R(1), U8(2),
B(Star), R(1),
/* 78 S> */ B(SubSmi), U8(1), R(0), U8(3),
/* 78 S> */ B(LdaSmi), U8(1),
/* 84 E> */ B(Sub), R(0), U8(3),
B(Star), R(0),
/* 98 S> */ B(JumpIfToBooleanFalse), U8(5),
B(JumpLoop), U8(-16), U8(0),
B(JumpLoop), U8(-17), U8(0),
/* 102 S> */ B(Ldar), R(1),
/* 112 S> */ B(Return),
]
......@@ -321,7 +328,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 43
bytecode array length: 44
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -330,13 +337,14 @@ bytecodes: [
B(Star), R(1),
/* 56 E> */ B(StackCheck),
/* 63 S> */ B(LdaSmi), U8(10),
B(Mul), R(1), U8(2),
/* 69 E> */ B(Mul), R(1), U8(2),
B(Star), R(1),
/* 77 S> */ B(LdaSmi), U8(5),
/* 83 E> */ B(TestEqual), R(0), U8(3),
B(JumpIfFalse), U8(4),
/* 89 S> */ B(Jump), U8(17),
/* 98 S> */ B(AddSmi), U8(1), R(0), U8(4),
/* 89 S> */ B(Jump), U8(18),
/* 98 S> */ B(LdaSmi), U8(1),
/* 104 E> */ B(Add), R(0), U8(4),
B(Star), R(0),
/* 111 S> */ B(LdaSmi), U8(6),
/* 117 E> */ B(TestEqual), R(0), U8(5),
......@@ -363,7 +371,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 46
bytecode array length: 47
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -372,19 +380,20 @@ bytecodes: [
B(Star), R(1),
/* 56 E> */ B(StackCheck),
/* 63 S> */ B(LdaSmi), U8(10),
B(Mul), R(1), U8(2),
/* 69 E> */ B(Mul), R(1), U8(2),
B(Star), R(1),
/* 77 S> */ B(LdaSmi), U8(5),
/* 83 E> */ B(TestEqual), R(0), U8(3),
B(JumpIfFalse), U8(4),
/* 89 S> */ B(Jump), U8(20),
/* 98 S> */ B(AddSmi), U8(1), R(0), U8(4),
/* 89 S> */ B(Jump), U8(21),
/* 98 S> */ B(LdaSmi), U8(1),
/* 104 E> */ B(Add), R(0), U8(4),
B(Star), R(0),
/* 111 S> */ B(LdaSmi), U8(6),
/* 117 E> */ B(TestEqual), R(0), U8(5),
B(JumpIfFalse), U8(4),
/* 123 S> */ B(Jump), U8(2),
B(JumpLoop), U8(-32), U8(0),
B(JumpLoop), U8(-33), U8(0),
/* 149 S> */ B(Ldar), R(1),
/* 159 S> */ B(Return),
]
......@@ -404,7 +413,7 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 34
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -413,14 +422,15 @@ bytecodes: [
/* 58 S> */ B(LdaSmi), U8(1),
/* 64 E> */ B(TestEqual), R(0), U8(2),
B(JumpIfFalse), U8(4),
/* 70 S> */ B(Jump), U8(20),
/* 70 S> */ B(Jump), U8(21),
/* 79 S> */ B(LdaSmi), U8(2),
/* 85 E> */ B(TestEqual), R(0), U8(3),
B(JumpIfFalse), U8(4),
/* 91 S> */ B(Jump), U8(8),
/* 103 S> */ B(AddSmi), U8(1), R(0), U8(4),
/* 91 S> */ B(Jump), U8(9),
/* 103 S> */ B(LdaSmi), U8(1),
/* 109 E> */ B(Add), R(0), U8(4),
B(Star), R(0),
B(JumpLoop), U8(-25), U8(0),
B(JumpLoop), U8(-26), U8(0),
B(LdaUndefined),
/* 116 S> */ B(Return),
]
......@@ -439,7 +449,7 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 34
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 47 S> */ B(LdaZero),
......@@ -448,14 +458,15 @@ bytecodes: [
/* 56 S> */ B(LdaSmi), U8(1),
/* 62 E> */ B(TestEqual), R(0), U8(2),
B(JumpIfFalse), U8(4),
/* 68 S> */ B(Jump), U8(20),
/* 68 S> */ B(Jump), U8(21),
/* 77 S> */ B(LdaSmi), U8(2),
/* 83 E> */ B(TestEqual), R(0), U8(3),
B(JumpIfFalse), U8(4),
/* 89 S> */ B(Jump), U8(8),
/* 101 S> */ B(AddSmi), U8(1), R(0), U8(4),
/* 89 S> */ B(Jump), U8(9),
/* 101 S> */ B(LdaSmi), U8(1),
/* 107 E> */ B(Add), R(0), U8(4),
B(Star), R(0),
B(JumpLoop), U8(-25), U8(0),
B(JumpLoop), U8(-26), U8(0),
B(LdaUndefined),
/* 114 S> */ B(Return),
]
......@@ -474,7 +485,7 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 34
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -483,14 +494,15 @@ bytecodes: [
/* 68 S> */ B(LdaSmi), U8(1),
/* 74 E> */ B(TestEqual), R(0), U8(3),
B(JumpIfFalse), U8(4),
/* 80 S> */ B(Jump), U8(20),
/* 80 S> */ B(Jump), U8(21),
/* 89 S> */ B(LdaSmi), U8(2),
/* 95 E> */ B(TestEqual), R(0), U8(4),
B(JumpIfFalse), U8(4),
/* 101 S> */ B(Jump), U8(2),
/* 55 S> */ B(AddSmi), U8(1), R(0), U8(2),
/* 55 S> */ B(LdaSmi), U8(1),
/* 59 E> */ B(Add), R(0), U8(2),
B(Star), R(0),
B(JumpLoop), U8(-25), U8(0),
B(JumpLoop), U8(-26), U8(0),
B(LdaUndefined),
/* 113 S> */ B(Return),
]
......@@ -508,7 +520,7 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 34
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 47 S> */ B(LdaZero),
......@@ -517,14 +529,15 @@ bytecodes: [
/* 66 S> */ B(LdaSmi), U8(1),
/* 72 E> */ B(TestEqual), R(0), U8(3),
B(JumpIfFalse), U8(4),
/* 78 S> */ B(Jump), U8(20),
/* 78 S> */ B(Jump), U8(21),
/* 87 S> */ B(LdaSmi), U8(2),
/* 93 E> */ B(TestEqual), R(0), U8(4),
B(JumpIfFalse), U8(4),
/* 99 S> */ B(Jump), U8(2),
/* 53 S> */ B(AddSmi), U8(1), R(0), U8(2),
/* 53 S> */ B(LdaSmi), U8(1),
/* 57 E> */ B(Add), R(0), U8(2),
B(Star), R(0),
B(JumpLoop), U8(-25), U8(0),
B(JumpLoop), U8(-26), U8(0),
B(LdaUndefined),
/* 111 S> */ B(Return),
]
......@@ -543,7 +556,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 34
bytecode array length: 36
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -552,14 +565,16 @@ bytecodes: [
B(Star), R(1),
/* 63 S> */ B(LdaSmi), U8(100),
/* 63 E> */ B(TestLessThan), R(1), U8(2),
B(JumpIfFalse), U8(20),
B(JumpIfFalse), U8(22),
/* 45 E> */ B(StackCheck),
/* 85 S> */ B(AddSmi), U8(1), R(0), U8(4),
/* 85 S> */ B(LdaSmi), U8(1),
/* 91 E> */ B(Add), R(0), U8(4),
B(Star), R(0),
/* 98 S> */ B(Jump), U8(2),
/* 72 S> */ B(AddSmi), U8(1), R(1), U8(3),
/* 72 S> */ B(LdaSmi), U8(1),
/* 76 E> */ B(Add), R(1), U8(3),
B(Star), R(1),
B(JumpLoop), U8(-22), U8(0),
B(JumpLoop), U8(-24), U8(0),
B(LdaUndefined),
/* 110 S> */ B(Return),
]
......@@ -589,7 +604,7 @@ bytecodes: [
B(JumpIfToBooleanFalse), U8(19),
/* 45 E> */ B(StackCheck),
/* 74 S> */ B(LdaSmi), U8(12),
B(Mul), R(0), U8(3),
/* 80 E> */ B(Mul), R(0), U8(3),
B(Star), R(0),
/* 67 S> */ B(Ldar), R(1),
B(Dec), U8(2),
......@@ -639,7 +654,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 35
bytecode array length: 36
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -647,7 +662,8 @@ bytecodes: [
/* 58 S> */ B(LdaZero),
B(Star), R(1),
/* 45 E> */ B(StackCheck),
/* 76 S> */ B(AddSmi), U8(1), R(0), U8(3),
/* 76 S> */ B(LdaSmi), U8(1),
/* 82 E> */ B(Add), R(0), U8(3),
B(Star), R(0),
/* 89 S> */ B(LdaSmi), U8(20),
/* 95 E> */ B(TestEqual), R(0), U8(4),
......@@ -656,7 +672,7 @@ bytecodes: [
/* 69 S> */ B(Ldar), R(1),
B(Inc), U8(2),
B(Star), R(1),
B(JumpLoop), U8(-22), U8(0),
B(JumpLoop), U8(-23), U8(0),
/* 112 S> */ B(Ldar), R(0),
/* 122 S> */ B(Return),
]
......
......@@ -17,12 +17,13 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 15
bytecode array length: 16
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 56 S> */ B(AddSmi), U8(1), R(0), U8(2),
/* 56 S> */ B(LdaSmi), U8(1),
/* 62 E> */ B(Add), R(0), U8(2),
B(Star), R(0),
/* 69 S> */ B(Jump), U8(2),
/* 97 S> */ B(Ldar), R(0),
......@@ -69,7 +70,7 @@ bytecodes: [
B(Inc), U8(6),
B(Star), R(0),
/* 142 S> */ B(Ldar), R(2),
/* 150 E> */ B(Add), R(1), U8(7),
/* 148 E> */ B(Add), R(1), U8(7),
B(Star), R(3),
B(LdaSmi), U8(12),
/* 152 E> */ B(TestEqual), R(3), U8(8),
......
......@@ -36,7 +36,7 @@ bytecodes: [
B(Star), R(1),
/* 117 E> */ B(Call), R(1), R(this), U8(1), U8(2),
B(Star), R(1),
B(AddSmi), U8(1), R(1), U8(8),
/* 126 E> */ B(AddSmi), U8(1), R(1), U8(8),
/* 131 S> */ B(Return),
]
constant pool: [
......
......@@ -95,7 +95,7 @@ bytecodes: [
B(Star), R(3),
B(LdaZero),
/* 59 E> */ B(LdaKeyedProperty), R(2), U8(4),
B(Add), R(3), U8(6),
/* 48 E> */ B(Add), R(3), U8(6),
/* 64 S> */ B(Return),
]
constant pool: [
......
......@@ -78,7 +78,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(1),
/* 67 E> */ B(AddSmi), U8(1), R(0), U8(2),
/* 69 E> */ B(AddSmi), U8(1), R(0), U8(2),
B(StaNamedPropertySloppy), R(1), U8(1), U8(3),
B(Ldar), R(1),
/* 76 S> */ B(Return),
......
......@@ -26,7 +26,7 @@ bytecodes: [
/* 102 S> */ B(LdaContextSlot), R(context), U8(4), U8(1),
B(Star), R(0),
B(LdaCurrentContextSlot), U8(4),
/* 120 E> */ B(Mul), R(0), U8(2),
/* 118 E> */ B(Mul), R(0), U8(2),
/* 130 S> */ B(Return),
]
constant pool: [
......
......@@ -30,12 +30,13 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(AddSmi), U8(3), R(0), U8(2),
/* 45 S> */ B(LdaSmi), U8(3),
/* 54 E> */ B(Add), R(0), U8(2),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -49,12 +50,13 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(SubSmi), U8(3), R(0), U8(2),
/* 45 S> */ B(LdaSmi), U8(3),
/* 54 E> */ B(Sub), R(0), U8(2),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -74,7 +76,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(4),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), U8(3),
B(Mul), R(0), U8(2),
/* 54 E> */ B(Mul), R(0), U8(2),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -94,7 +96,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(4),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), U8(3),
B(Div), R(0), U8(2),
/* 54 E> */ B(Div), R(0), U8(2),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -114,7 +116,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(4),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), U8(3),
B(Mod), R(0), U8(2),
/* 54 E> */ B(Mod), R(0), U8(2),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -128,12 +130,13 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(BitwiseOrSmi), U8(2), R(0), U8(2),
/* 45 S> */ B(LdaSmi), U8(2),
/* 54 E> */ B(BitwiseOr), R(0), U8(2),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -153,7 +156,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), U8(2),
B(BitwiseXor), R(0), U8(2),
/* 54 E> */ B(BitwiseXor), R(0), U8(2),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -167,12 +170,13 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(BitwiseAndSmi), U8(2), R(0), U8(2),
/* 45 S> */ B(LdaSmi), U8(2),
/* 54 E> */ B(BitwiseAnd), R(0), U8(2),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -186,12 +190,13 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
B(Star), R(0),
/* 46 S> */ B(ShiftLeftSmi), U8(3), R(0), U8(2),
/* 46 S> */ B(LdaSmi), U8(3),
/* 55 E> */ B(ShiftLeft), R(0), U8(2),
/* 61 S> */ B(Return),
]
constant pool: [
......@@ -205,12 +210,13 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
B(Star), R(0),
/* 46 S> */ B(ShiftRightSmi), U8(3), R(0), U8(2),
/* 46 S> */ B(LdaSmi), U8(3),
/* 55 E> */ B(ShiftRight), R(0), U8(2),
/* 61 S> */ B(Return),
]
constant pool: [
......@@ -230,7 +236,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(10),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), U8(3),
B(ShiftRightLogical), R(0), U8(2),
/* 55 E> */ B(ShiftRightLogical), R(0), U8(2),
/* 62 S> */ B(Return),
]
constant pool: [
......
......@@ -67,7 +67,7 @@ bytecodes: [
/* 27 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4),
B(Star), R(0),
B(Ldar), R(arg1),
/* 37 E> */ B(Add), R(arg1), U8(6),
/* 35 E> */ B(Add), R(arg1), U8(6),
B(Star), R(2),
B(Mov), R(arg0), R(1),
B(Mov), R(arg1), R(3),
......
......@@ -23,7 +23,7 @@ bytecodes: [
B(Star), R(0),
/* 48 E> */ B(StackCheck),
/* 64 S> */ B(Ldar), R(0),
/* 78 E> */ B(Add), R(0), U8(2),
/* 76 E> */ B(Add), R(0), U8(2),
B(Star), R(0),
/* 86 S> */ B(LdaSmi), U8(10),
/* 95 E> */ B(TestGreaterThan), R(0), U8(3),
......@@ -56,7 +56,7 @@ bytecodes: [
B(Star), R(0),
/* 48 E> */ B(StackCheck),
/* 55 S> */ B(Nop),
/* 69 E> */ B(Add), R(0), U8(2),
/* 67 E> */ B(Add), R(0), U8(2),
B(Star), R(0),
/* 77 S> */ B(LdaSmi), U8(10),
/* 86 E> */ B(TestGreaterThan), R(0), U8(3),
......@@ -84,7 +84,7 @@ bytecodes: [
/* 45 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 50 S> */ B(Nop),
/* 64 E> */ B(Add), R(0), U8(2),
/* 62 E> */ B(Add), R(0), U8(2),
B(Star), R(0),
/* 72 S> */ B(Nop),
/* 85 S> */ B(Return),
......
......@@ -493,7 +493,7 @@ bytecodes: [
B(TestEqualStrict), R(3), U8(6),
B(JumpIfTrue), U8(34),
B(Jump), U8(36),
/* 77 E> */ B(AddSmi), U8(1), R(0), U8(2),
/* 79 E> */ B(AddSmi), U8(1), R(0), U8(2),
B(Star), R(1),
/* 70 S> */ B(LdaSmi), U8(2),
B(TestEqualStrict), R(1), U8(3),
......
......@@ -15,18 +15,19 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 24
bytecode array length: 25
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 54 S> */ B(LdaSmi), U8(10),
/* 54 E> */ B(TestEqual), R(0), U8(2),
B(JumpIfTrue), U8(12),
B(JumpIfTrue), U8(13),
/* 45 E> */ B(StackCheck),
/* 65 S> */ B(AddSmi), U8(10), R(0), U8(3),
/* 65 S> */ B(LdaSmi), U8(10),
/* 71 E> */ B(Add), R(0), U8(3),
B(Star), R(0),
B(JumpLoop), U8(-14), U8(0),
B(JumpLoop), U8(-15), U8(0),
/* 79 S> */ B(Ldar), R(0),
/* 89 S> */ B(Return),
]
......@@ -79,7 +80,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(101),
B(Star), R(0),
/* 47 S> */ B(LdaSmi), U8(3),
B(Mul), R(0), U8(2),
/* 61 E> */ B(Mul), R(0), U8(2),
B(LdaUndefined),
/* 67 S> */ B(Return),
]
......@@ -102,9 +103,9 @@ bytecodes: [
/* 42 S> */ B(Wide), B(LdaSmi), U16(1234),
B(Star), R(0),
/* 56 S> */ B(Nop),
/* 66 E> */ B(Mul), R(0), U8(2),
/* 64 E> */ B(Mul), R(0), U8(2),
B(Star), R(2),
B(SubSmi), U8(1), R(2), U8(3),
/* 68 E> */ B(SubSmi), U8(1), R(2), U8(3),
B(LdaUndefined),
B(Star), R(1),
/* 74 S> */ B(Nop),
......@@ -128,7 +129,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(13),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), U8(-1),
B(BitwiseXor), R(0), U8(2),
/* 53 E> */ B(BitwiseXor), R(0), U8(2),
/* 57 S> */ B(Return),
]
constant pool: [
......@@ -149,7 +150,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(13),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), U8(1),
B(Mul), R(0), U8(2),
/* 53 E> */ B(Mul), R(0), U8(2),
/* 57 S> */ B(Return),
]
constant pool: [
......@@ -170,7 +171,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), U8(13),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), U8(-1),
B(Mul), R(0), U8(2),
/* 53 E> */ B(Mul), R(0), U8(2),
/* 57 S> */ B(Return),
]
constant pool: [
......
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
//
function foo(arg) { }
foo(Symbol() | 0);
*%(basename)s:9: TypeError: Cannot convert a Symbol value to a number
foo(Symbol() | 0);
^
TypeError: Cannot convert a Symbol value to a number
at *%(basename)s:9:14
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment