OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "vm/globals.h" | 5 #include "vm/globals.h" |
6 #if defined(TARGET_ARCH_MIPS) | 6 #if defined(TARGET_ARCH_MIPS) |
7 | 7 |
8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
9 #include "vm/code_generator.h" | 9 #include "vm/code_generator.h" |
10 #include "vm/compiler.h" | 10 #include "vm/compiler.h" |
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1059 __ lw(T3, Address(SP, 2 * kWordSize)); | 1059 __ lw(T3, Address(SP, 2 * kWordSize)); |
1060 __ beq(CMPRES, ZR, &L); | 1060 __ beq(CMPRES, ZR, &L); |
1061 __ delay_slot()->addiu(SP, SP, Immediate(3 * kWordSize)); | 1061 __ delay_slot()->addiu(SP, SP, Immediate(3 * kWordSize)); |
1062 __ Ret(); | 1062 __ Ret(); |
1063 | 1063 |
1064 // Handle overflow: Call the runtime leaf function. | 1064 // Handle overflow: Call the runtime leaf function. |
1065 __ Bind(&L); | 1065 __ Bind(&L); |
1066 // Setup frame, push callee-saved registers. | 1066 // Setup frame, push callee-saved registers. |
1067 | 1067 |
1068 __ EnterCallRuntimeFrame(0 * kWordSize); | 1068 __ EnterCallRuntimeFrame(0 * kWordSize); |
1069 __ lw(T0, FieldAddress(CTX, Context::isolate_offset())); | 1069 __ lw(A0, FieldAddress(CTX, Context::isolate_offset())); |
1070 __ CallRuntime(kStoreBufferBlockProcessRuntimeEntry); | 1070 __ CallRuntime(kStoreBufferBlockProcessRuntimeEntry); |
1071 __ TraceSimMsg("UpdateStoreBufferStub return"); | 1071 __ TraceSimMsg("UpdateStoreBufferStub return"); |
1072 // Restore callee-saved registers, tear down frame. | 1072 // Restore callee-saved registers, tear down frame. |
1073 __ LeaveCallRuntimeFrame(); | 1073 __ LeaveCallRuntimeFrame(); |
1074 __ Ret(); | 1074 __ Ret(); |
1075 } | 1075 } |
1076 | 1076 |
1077 | 1077 |
1078 // Called for inline allocation of objects. | 1078 // Called for inline allocation of objects. |
1079 // Input parameters: | 1079 // Input parameters: |
(...skipping 1082 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2162 __ mov(TMP1, ZR); | 2162 __ mov(TMP1, ZR); |
2163 __ lw(T0, Address(SP, 0 * kWordSize)); | 2163 __ lw(T0, Address(SP, 0 * kWordSize)); |
2164 __ lw(T1, Address(SP, 1 * kWordSize)); | 2164 __ lw(T1, Address(SP, 1 * kWordSize)); |
2165 __ Ret(); | 2165 __ Ret(); |
2166 __ delay_slot()->addiu(SP, SP, Immediate(2 * kWordSize)); | 2166 __ delay_slot()->addiu(SP, SP, Immediate(2 * kWordSize)); |
2167 } | 2167 } |
2168 | 2168 |
2169 } // namespace dart | 2169 } // namespace dart |
2170 | 2170 |
2171 #endif // defined TARGET_ARCH_MIPS | 2171 #endif // defined TARGET_ARCH_MIPS |
OLD | NEW |