Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(479)

Side by Side Diff: runtime/vm/assembler_mips.cc

Issue 467103005: Fixes to support ARMv5 lego mindstorm. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/assembler_mips.h ('k') | runtime/vm/assembler_x64.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/longjump.h" 9 #include "vm/longjump.h"
10 #include "vm/runtime_entry.h" 10 #include "vm/runtime_entry.h"
(...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 // allocate. We must also set up the pool pointer for the function. 978 // allocate. We must also set up the pool pointer for the function.
979 void Assembler::EnterOsrFrame(intptr_t extra_size) { 979 void Assembler::EnterOsrFrame(intptr_t extra_size) {
980 ASSERT(!in_delay_slot_); 980 ASSERT(!in_delay_slot_);
981 Comment("EnterOsrFrame"); 981 Comment("EnterOsrFrame");
982 982
983 GetNextPC(TMP); // TMP gets the address of the next instruction. 983 GetNextPC(TMP); // TMP gets the address of the next instruction.
984 984
985 // The runtime system assumes that the code marker address is 985 // The runtime system assumes that the code marker address is
986 // kEntryPointToPcMarkerOffset bytes from the entry. Since there is no 986 // kEntryPointToPcMarkerOffset bytes from the entry. Since there is no
987 // code to set up the frame pointer, etc., the address needs to be adjusted. 987 // code to set up the frame pointer, etc., the address needs to be adjusted.
988 const intptr_t offset = kEntryPointToPcMarkerOffset - CodeSize(); 988 const intptr_t offset = EntryPointToPcMarkerOffset() - CodeSize();
989 // Calculate the offset of the pool pointer from the PC. 989 // Calculate the offset of the pool pointer from the PC.
990 const intptr_t object_pool_pc_dist = 990 const intptr_t object_pool_pc_dist =
991 Instructions::HeaderSize() - Instructions::object_pool_offset() + 991 Instructions::HeaderSize() - Instructions::object_pool_offset() +
992 CodeSize(); 992 CodeSize();
993 993
994 // Adjust PC by the offset, and store it in the stack frame. 994 // Adjust PC by the offset, and store it in the stack frame.
995 AddImmediate(TMP, TMP, offset); 995 AddImmediate(TMP, TMP, offset);
996 sw(TMP, Address(FP, kPcMarkerSlotFromFp * kWordSize)); 996 sw(TMP, Address(FP, kPcMarkerSlotFromFp * kWordSize));
997 997
998 // Restore return address. 998 // Restore return address.
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
1228 Emit(reinterpret_cast<int32_t>(message)); 1228 Emit(reinterpret_cast<int32_t>(message));
1229 Bind(&msg); 1229 Bind(&msg);
1230 break_(Instr::kMsgMessageCode); 1230 break_(Instr::kMsgMessageCode);
1231 } 1231 }
1232 #endif 1232 #endif
1233 } 1233 }
1234 1234
1235 } // namespace dart 1235 } // namespace dart
1236 1236
1237 #endif // defined TARGET_ARCH_MIPS 1237 #endif // defined TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « runtime/vm/assembler_mips.h ('k') | runtime/vm/assembler_x64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698