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/interpreter-assembler.h" | 5 #include "src/interpreter/interpreter-assembler.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <ostream> | 8 #include <ostream> |
9 | 9 |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
841 Node* sp = LoadStackPointer(); | 841 Node* sp = LoadStackPointer(); |
842 Node* stack_limit = Load( | 842 Node* stack_limit = Load( |
843 MachineType::Pointer(), | 843 MachineType::Pointer(), |
844 ExternalConstant(ExternalReference::address_of_stack_limit(isolate()))); | 844 ExternalConstant(ExternalReference::address_of_stack_limit(isolate()))); |
845 return UintPtrLessThan(sp, stack_limit); | 845 return UintPtrLessThan(sp, stack_limit); |
846 } | 846 } |
847 | 847 |
848 Node* InterpreterAssembler::LoadOSRNestingLevel() { | 848 Node* InterpreterAssembler::LoadOSRNestingLevel() { |
849 Node* offset = | 849 Node* offset = |
850 IntPtrConstant(BytecodeArray::kOSRNestingLevelOffset - kHeapObjectTag); | 850 IntPtrConstant(BytecodeArray::kOSRNestingLevelOffset - kHeapObjectTag); |
851 return Load(MachineType::Int32(), BytecodeArrayTaggedPointer(), offset); | 851 return Load(MachineType::Int8(), BytecodeArrayTaggedPointer(), offset); |
852 } | 852 } |
853 | 853 |
854 void InterpreterAssembler::Abort(BailoutReason bailout_reason) { | 854 void InterpreterAssembler::Abort(BailoutReason bailout_reason) { |
855 disable_stack_check_across_call_ = true; | 855 disable_stack_check_across_call_ = true; |
856 Node* abort_id = SmiTag(Int32Constant(bailout_reason)); | 856 Node* abort_id = SmiTag(Int32Constant(bailout_reason)); |
857 CallRuntime(Runtime::kAbort, GetContext(), abort_id); | 857 CallRuntime(Runtime::kAbort, GetContext(), abort_id); |
858 disable_stack_check_across_call_ = false; | 858 disable_stack_check_across_call_ = false; |
859 } | 859 } |
860 | 860 |
861 void InterpreterAssembler::AbortIfWordNotEqual(Node* lhs, Node* rhs, | 861 void InterpreterAssembler::AbortIfWordNotEqual(Node* lhs, Node* rhs, |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
992 Goto(&loop); | 992 Goto(&loop); |
993 } | 993 } |
994 Bind(&done_loop); | 994 Bind(&done_loop); |
995 | 995 |
996 return array; | 996 return array; |
997 } | 997 } |
998 | 998 |
999 } // namespace interpreter | 999 } // namespace interpreter |
1000 } // namespace internal | 1000 } // namespace internal |
1001 } // namespace v8 | 1001 } // namespace v8 |
OLD | NEW |