| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/interpreter/bytecode-generator.h" | 5 #include "src/interpreter/bytecode-generator.h" |
| 6 | 6 |
| 7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" |
| 8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
| 9 #include "src/compiler.h" | 9 #include "src/compiler.h" |
| 10 #include "src/interpreter/bytecode-register-allocator.h" | 10 #include "src/interpreter/bytecode-register-allocator.h" |
| (...skipping 2320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2331 Register done = register_allocator()->NextConsecutiveRegister(); | 2331 Register done = register_allocator()->NextConsecutiveRegister(); |
| 2332 builder() | 2332 builder() |
| 2333 ->MoveRegister(input, value) | 2333 ->MoveRegister(input, value) |
| 2334 .LoadTrue() | 2334 .LoadTrue() |
| 2335 .StoreAccumulatorInRegister(done) | 2335 .StoreAccumulatorInRegister(done) |
| 2336 .CallRuntime(Runtime::kInlineCreateIterResultObject, value, 2); | 2336 .CallRuntime(Runtime::kInlineCreateIterResultObject, value, 2); |
| 2337 execution_control()->ReturnAccumulator(); | 2337 execution_control()->ReturnAccumulator(); |
| 2338 } | 2338 } |
| 2339 | 2339 |
| 2340 builder()->Bind(&resume_with_throw); | 2340 builder()->Bind(&resume_with_throw); |
| 2341 builder() | 2341 builder()->LoadAccumulatorWithRegister(input).Throw(); |
| 2342 ->LoadAccumulatorWithRegister(input) | |
| 2343 .Throw(); | |
| 2344 | 2342 |
| 2345 builder()->Bind(&resume_with_next); | 2343 builder()->Bind(&resume_with_next); |
| 2346 builder()->LoadAccumulatorWithRegister(input); | 2344 builder()->LoadAccumulatorWithRegister(input); |
| 2347 } | 2345 } |
| 2348 execution_result()->SetResultInAccumulator(); | 2346 execution_result()->SetResultInAccumulator(); |
| 2349 } | 2347 } |
| 2350 | 2348 |
| 2351 void BytecodeGenerator::VisitThrow(Throw* expr) { | 2349 void BytecodeGenerator::VisitThrow(Throw* expr) { |
| 2352 VisitForAccumulatorValue(expr->exception()); | 2350 VisitForAccumulatorValue(expr->exception()); |
| 2353 builder()->SetExpressionPosition(expr); | 2351 builder()->SetExpressionPosition(expr); |
| (...skipping 918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3272 Visit(stmt); | 3270 Visit(stmt); |
| 3273 } | 3271 } |
| 3274 | 3272 |
| 3275 | 3273 |
| 3276 LanguageMode BytecodeGenerator::language_mode() const { | 3274 LanguageMode BytecodeGenerator::language_mode() const { |
| 3277 return execution_context()->scope()->language_mode(); | 3275 return execution_context()->scope()->language_mode(); |
| 3278 } | 3276 } |
| 3279 | 3277 |
| 3280 | 3278 |
| 3281 int BytecodeGenerator::feedback_index(FeedbackVectorSlot slot) const { | 3279 int BytecodeGenerator::feedback_index(FeedbackVectorSlot slot) const { |
| 3282 return info()->shared_info()->feedback_vector()->GetIndex(slot); | 3280 return TypeFeedbackVector::GetIndex(slot); |
| 3283 } | 3281 } |
| 3284 | 3282 |
| 3285 } // namespace interpreter | 3283 } // namespace interpreter |
| 3286 } // namespace internal | 3284 } // namespace internal |
| 3287 } // namespace v8 | 3285 } // namespace v8 |
| OLD | NEW |