OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 <stdarg.h> | 5 #include <stdarg.h> |
6 #include <stdlib.h> | 6 #include <stdlib.h> |
7 #include <cmath> | 7 #include <cmath> |
8 | 8 |
9 #if V8_TARGET_ARCH_S390 | 9 #if V8_TARGET_ARCH_S390 |
10 | 10 |
(...skipping 1626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1637 entry = i_cache->Next(entry)) { | 1637 entry = i_cache->Next(entry)) { |
1638 delete static_cast<CachePage*>(entry->value); | 1638 delete static_cast<CachePage*>(entry->value); |
1639 } | 1639 } |
1640 delete i_cache; | 1640 delete i_cache; |
1641 } | 1641 } |
1642 } | 1642 } |
1643 | 1643 |
1644 void* Simulator::RedirectExternalReference(Isolate* isolate, | 1644 void* Simulator::RedirectExternalReference(Isolate* isolate, |
1645 void* external_function, | 1645 void* external_function, |
1646 ExternalReference::Type type) { | 1646 ExternalReference::Type type) { |
| 1647 base::LockGuard<base::Mutex> lock_guard( |
| 1648 isolate->simulator_redirection_mutex()); |
1647 Redirection* redirection = Redirection::Get(isolate, external_function, type); | 1649 Redirection* redirection = Redirection::Get(isolate, external_function, type); |
1648 return redirection->address(); | 1650 return redirection->address(); |
1649 } | 1651 } |
1650 | 1652 |
1651 // Get the active Simulator for the current thread. | 1653 // Get the active Simulator for the current thread. |
1652 Simulator* Simulator::current(Isolate* isolate) { | 1654 Simulator* Simulator::current(Isolate* isolate) { |
1653 v8::internal::Isolate::PerIsolateThreadData* isolate_data = | 1655 v8::internal::Isolate::PerIsolateThreadData* isolate_data = |
1654 isolate->FindOrAllocatePerThreadDataForThisThread(); | 1656 isolate->FindOrAllocatePerThreadDataForThisThread(); |
1655 DCHECK(isolate_data != NULL); | 1657 DCHECK(isolate_data != NULL); |
1656 | 1658 |
(...skipping 8199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9856 return 0; | 9858 return 0; |
9857 } | 9859 } |
9858 | 9860 |
9859 #undef EVALUATE | 9861 #undef EVALUATE |
9860 | 9862 |
9861 } // namespace internal | 9863 } // namespace internal |
9862 } // namespace v8 | 9864 } // namespace v8 |
9863 | 9865 |
9864 #endif // USE_SIMULATOR | 9866 #endif // USE_SIMULATOR |
9865 #endif // V8_TARGET_ARCH_S390 | 9867 #endif // V8_TARGET_ARCH_S390 |
OLD | NEW |