OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 | 5 |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #if V8_TARGET_ARCH_MIPS64 | 9 #if V8_TARGET_ARCH_MIPS64 |
10 | 10 |
(...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
897 __ SmiTst(kInterpreterBytecodeArrayRegister, a4); | 897 __ SmiTst(kInterpreterBytecodeArrayRegister, a4); |
898 __ Assert(ne, kFunctionDataShouldBeBytecodeArrayOnInterpreterEntry, a4, | 898 __ Assert(ne, kFunctionDataShouldBeBytecodeArrayOnInterpreterEntry, a4, |
899 Operand(zero_reg)); | 899 Operand(zero_reg)); |
900 __ GetObjectType(kInterpreterBytecodeArrayRegister, a4, a4); | 900 __ GetObjectType(kInterpreterBytecodeArrayRegister, a4, a4); |
901 __ Assert(eq, kFunctionDataShouldBeBytecodeArrayOnInterpreterEntry, a4, | 901 __ Assert(eq, kFunctionDataShouldBeBytecodeArrayOnInterpreterEntry, a4, |
902 Operand(BYTECODE_ARRAY_TYPE)); | 902 Operand(BYTECODE_ARRAY_TYPE)); |
903 } | 903 } |
904 | 904 |
905 // Allocate the local and temporary register file on the stack. | 905 // Allocate the local and temporary register file on the stack. |
906 { | 906 { |
907 // Load frame size from the BytecodeArray object. | 907 // Load frame size (word) from the BytecodeArray object. |
908 __ ld(a4, FieldMemOperand(kInterpreterBytecodeArrayRegister, | 908 __ lw(a4, FieldMemOperand(kInterpreterBytecodeArrayRegister, |
909 BytecodeArray::kFrameSizeOffset)); | 909 BytecodeArray::kFrameSizeOffset)); |
910 | 910 |
911 // Do a stack check to ensure we don't go over the limit. | 911 // Do a stack check to ensure we don't go over the limit. |
912 Label ok; | 912 Label ok; |
913 __ Dsubu(a5, sp, Operand(a4)); | 913 __ Dsubu(a5, sp, Operand(a4)); |
914 __ LoadRoot(a2, Heap::kRealStackLimitRootIndex); | 914 __ LoadRoot(a2, Heap::kRealStackLimitRootIndex); |
915 __ Branch(&ok, hs, a5, Operand(a2)); | 915 __ Branch(&ok, hs, a5, Operand(a2)); |
916 __ InvokeBuiltin(Builtins::STACK_OVERFLOW, CALL_FUNCTION); | 916 __ InvokeBuiltin(Builtins::STACK_OVERFLOW, CALL_FUNCTION); |
917 __ bind(&ok); | 917 __ bind(&ok); |
918 | 918 |
(...skipping 955 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1874 } | 1874 } |
1875 } | 1875 } |
1876 | 1876 |
1877 | 1877 |
1878 #undef __ | 1878 #undef __ |
1879 | 1879 |
1880 } // namespace internal | 1880 } // namespace internal |
1881 } // namespace v8 | 1881 } // namespace v8 |
1882 | 1882 |
1883 #endif // V8_TARGET_ARCH_MIPS64 | 1883 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |