| Index: src/interpreter/bytecode-generator.cc
|
| diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc
|
| index f153397931ca3bf03888b9c281a6c2e2af858377..799202deb8d94145c67b34194d3de2181e2907a9 100644
|
| --- a/src/interpreter/bytecode-generator.cc
|
| +++ b/src/interpreter/bytecode-generator.cc
|
| @@ -1747,6 +1747,7 @@ void BytecodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
|
|
|
|
| void BytecodeGenerator::VisitVariableProxy(VariableProxy* proxy) {
|
| + builder()->SetExpressionPosition(proxy);
|
| VisitVariableLoad(proxy->var(), proxy->VariableFeedbackSlot());
|
| }
|
|
|
| @@ -2191,6 +2192,7 @@ void BytecodeGenerator::VisitAssignment(Assignment* expr) {
|
| }
|
|
|
| // Store the value.
|
| + builder()->SetExpressionPosition(expr);
|
| FeedbackVectorSlot slot = expr->AssignmentSlot();
|
| switch (assign_type) {
|
| case VARIABLE: {
|
| @@ -2228,6 +2230,7 @@ void BytecodeGenerator::VisitYield(Yield* expr) { UNIMPLEMENTED(); }
|
|
|
| void BytecodeGenerator::VisitThrow(Throw* expr) {
|
| VisitForAccumulatorValue(expr->exception());
|
| + builder()->SetExpressionPosition(expr);
|
| builder()->Throw();
|
| // Throw statments are modeled as expression instead of statments. These are
|
| // converted from assignment statements in Rewriter::ReWrite pass. An
|
| @@ -2240,6 +2243,7 @@ void BytecodeGenerator::VisitThrow(Throw* expr) {
|
| void BytecodeGenerator::VisitPropertyLoad(Register obj, Property* expr) {
|
| LhsKind property_kind = Property::GetAssignType(expr);
|
| FeedbackVectorSlot slot = expr->PropertyFeedbackSlot();
|
| + builder()->SetExpressionPosition(expr);
|
| switch (property_kind) {
|
| case VARIABLE:
|
| UNREACHABLE();
|
| @@ -2748,6 +2752,7 @@ void BytecodeGenerator::VisitCountOperation(CountOperation* expr) {
|
| builder()->CountOperation(expr->binary_op());
|
|
|
| // Store the value.
|
| + builder()->SetExpressionPosition(expr);
|
| FeedbackVectorSlot feedback_slot = expr->CountSlot();
|
| switch (assign_type) {
|
| case VARIABLE: {
|
| @@ -2807,6 +2812,7 @@ void BytecodeGenerator::VisitBinaryOperation(BinaryOperation* binop) {
|
| void BytecodeGenerator::VisitCompareOperation(CompareOperation* expr) {
|
| Register lhs = VisitForRegisterValue(expr->left());
|
| VisitForAccumulatorValue(expr->right());
|
| + builder()->SetExpressionPosition(expr);
|
| builder()->CompareOperation(expr->op(), lhs);
|
| execution_result()->SetResultInAccumulator();
|
| }
|
|
|