Chromium Code Reviews| 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/compiler/interpreter-assembler.h" | 5 #include "src/compiler/interpreter-assembler.h" |
| 6 | 6 |
| 7 #include <ostream> | 7 #include <ostream> |
| 8 | 8 |
| 9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
| 10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
| (...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 710 RawMachineLabel ok, stack_guard; | 710 RawMachineLabel ok, stack_guard; |
| 711 Node* sp = raw_assembler_->LoadStackPointer(); | 711 Node* sp = raw_assembler_->LoadStackPointer(); |
| 712 Node* stack_limit = raw_assembler_->Load( | 712 Node* stack_limit = raw_assembler_->Load( |
| 713 MachineType::Pointer(), | 713 MachineType::Pointer(), |
| 714 raw_assembler_->ExternalConstant( | 714 raw_assembler_->ExternalConstant( |
| 715 ExternalReference::address_of_stack_limit(isolate()))); | 715 ExternalReference::address_of_stack_limit(isolate()))); |
| 716 Node* condition = raw_assembler_->UintPtrGreaterThanOrEqual(sp, stack_limit); | 716 Node* condition = raw_assembler_->UintPtrGreaterThanOrEqual(sp, stack_limit); |
| 717 raw_assembler_->Branch(condition, &ok, &stack_guard); | 717 raw_assembler_->Branch(condition, &ok, &stack_guard); |
| 718 raw_assembler_->Bind(&stack_guard); | 718 raw_assembler_->Bind(&stack_guard); |
| 719 CallRuntime(Runtime::kStackGuard); | 719 CallRuntime(Runtime::kStackGuard); |
| 720 raw_assembler_->Goto(&ok); | 720 raw_assembler_->Fallthrough(&ok); |
|
Michael Starzinger
2016/02/05 14:15:33
Please don't add the "Fallthrough" helper to the R
rmcilroy
2016/02/05 14:34:36
Done.
| |
| 721 raw_assembler_->Bind(&ok); | |
| 722 } | 721 } |
| 723 | 722 |
| 724 void InterpreterAssembler::Abort(BailoutReason bailout_reason) { | 723 void InterpreterAssembler::Abort(BailoutReason bailout_reason) { |
| 725 Node* abort_id = SmiTag(Int32Constant(bailout_reason)); | 724 Node* abort_id = SmiTag(Int32Constant(bailout_reason)); |
| 726 Node* ret_value = CallRuntime(Runtime::kAbort, abort_id); | 725 Node* ret_value = CallRuntime(Runtime::kAbort, abort_id); |
| 727 // Unreached, but keeps turbofan happy. | 726 // Unreached, but keeps turbofan happy. |
| 728 raw_assembler_->Return(ret_value); | 727 raw_assembler_->Return(ret_value); |
| 729 } | 728 } |
| 730 | 729 |
| 731 | 730 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 769 return raw_assembler_->call_descriptor(); | 768 return raw_assembler_->call_descriptor(); |
| 770 } | 769 } |
| 771 | 770 |
| 772 | 771 |
| 773 Zone* InterpreterAssembler::zone() { return raw_assembler_->zone(); } | 772 Zone* InterpreterAssembler::zone() { return raw_assembler_->zone(); } |
| 774 | 773 |
| 775 | 774 |
| 776 } // namespace compiler | 775 } // namespace compiler |
| 777 } // namespace internal | 776 } // namespace internal |
| 778 } // namespace v8 | 777 } // namespace v8 |
| OLD | NEW |