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 <setjmp.h> // NOLINT | 5 #include <setjmp.h> // NOLINT |
6 #include <stdlib.h> | 6 #include <stdlib.h> |
7 | 7 |
8 #include "vm/globals.h" | 8 #include "vm/globals.h" |
9 #if defined(TARGET_ARCH_MIPS) | 9 #if defined(TARGET_ARCH_MIPS) |
10 | 10 |
(...skipping 1138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1149 exclusive_access_state_[i].addr = 0; | 1149 exclusive_access_state_[i].addr = 0; |
1150 } | 1150 } |
1151 } | 1151 } |
1152 return result; | 1152 return result; |
1153 } | 1153 } |
1154 | 1154 |
1155 | 1155 |
1156 void Simulator::ClearExclusive() { | 1156 void Simulator::ClearExclusive() { |
1157 MutexLocker ml(exclusive_access_lock_); | 1157 MutexLocker ml(exclusive_access_lock_); |
1158 // Remove the reservation for this thread. | 1158 // Remove the reservation for this thread. |
1159 SetExclusiveAccess(NULL); | 1159 SetExclusiveAccess(0); |
1160 } | 1160 } |
1161 | 1161 |
1162 | 1162 |
1163 intptr_t Simulator::ReadExclusiveW(uword addr, Instr* instr) { | 1163 intptr_t Simulator::ReadExclusiveW(uword addr, Instr* instr) { |
1164 MutexLocker ml(exclusive_access_lock_); | 1164 MutexLocker ml(exclusive_access_lock_); |
1165 SetExclusiveAccess(addr); | 1165 SetExclusiveAccess(addr); |
1166 return ReadW(addr, instr); | 1166 return ReadW(addr, instr); |
1167 } | 1167 } |
1168 | 1168 |
1169 | 1169 |
(...skipping 1361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2531 set_register(kExceptionObjectReg, bit_cast<int32_t>(raw_exception)); | 2531 set_register(kExceptionObjectReg, bit_cast<int32_t>(raw_exception)); |
2532 set_register(kStackTraceObjectReg, bit_cast<int32_t>(raw_stacktrace)); | 2532 set_register(kStackTraceObjectReg, bit_cast<int32_t>(raw_stacktrace)); |
2533 buf->Longjmp(); | 2533 buf->Longjmp(); |
2534 } | 2534 } |
2535 | 2535 |
2536 } // namespace dart | 2536 } // namespace dart |
2537 | 2537 |
2538 #endif // defined(USING_SIMULATOR) | 2538 #endif // defined(USING_SIMULATOR) |
2539 | 2539 |
2540 #endif // defined TARGET_ARCH_MIPS | 2540 #endif // defined TARGET_ARCH_MIPS |
OLD | NEW |