| Index: src/interpreter/bytecode-generator.cc
|
| diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc
|
| index 412c0d34356c56e3988c29f9da2418c6d2a00721..9c93da1d4770da67fca10f24d6eb914f32054ccf 100644
|
| --- a/src/interpreter/bytecode-generator.cc
|
| +++ b/src/interpreter/bytecode-generator.cc
|
| @@ -1755,6 +1755,7 @@ void BytecodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
|
|
|
|
| void BytecodeGenerator::VisitVariableProxy(VariableProxy* proxy) {
|
| + builder()->SetExpressionPosition(proxy);
|
| VisitVariableLoad(proxy->var(), proxy->VariableFeedbackSlot());
|
| }
|
|
|
| @@ -2199,6 +2200,7 @@ void BytecodeGenerator::VisitAssignment(Assignment* expr) {
|
| }
|
|
|
| // Store the value.
|
| + builder()->SetExpressionPosition(expr);
|
| FeedbackVectorSlot slot = expr->AssignmentSlot();
|
| switch (assign_type) {
|
| case VARIABLE: {
|
| @@ -2236,6 +2238,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
|
| @@ -2248,6 +2251,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();
|
| @@ -2756,6 +2760,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: {
|
| @@ -2815,6 +2820,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();
|
| }
|
|
|