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 |