Index: src/isolate.cc |
diff --git a/src/isolate.cc b/src/isolate.cc |
index 06df1f67c25bc380097c2cc8ca471105ec65b071..82eb6f3d99fae80ef68e951662466a97c5f85d58 100644 |
--- a/src/isolate.cc |
+++ b/src/isolate.cc |
@@ -69,7 +69,7 @@ void ThreadLocalTop::InitializeInternal() { |
js_entry_sp_ = NULL; |
external_callback_scope_ = NULL; |
current_vm_state_ = EXTERNAL; |
- try_catch_handler_address_ = NULL; |
+ try_catch_handler_ = NULL; |
context_ = NULL; |
thread_id_ = ThreadId::Invalid(); |
external_caught_exception_ = false; |
@@ -98,11 +98,6 @@ void ThreadLocalTop::Initialize() { |
} |
-v8::TryCatch* ThreadLocalTop::TryCatchHandler() { |
- return TRY_CATCH_FROM_ADDRESS(try_catch_handler_address()); |
-} |
- |
- |
Thread::LocalStorageKey Isolate::isolate_key_; |
Thread::LocalStorageKey Isolate::thread_id_key_; |
Thread::LocalStorageKey Isolate::per_isolate_thread_data_key_; |
@@ -209,9 +204,9 @@ void Isolate::Iterate(ObjectVisitor* v, ThreadLocalTop* thread) { |
v->VisitPointer(BitCast<Object**>(&(thread->context_))); |
v->VisitPointer(&thread->scheduled_exception_); |
- for (v8::TryCatch* block = thread->TryCatchHandler(); |
+ for (v8::TryCatch* block = thread->try_catch_handler(); |
block != NULL; |
- block = TRY_CATCH_FROM_ADDRESS(block->next_)) { |
+ block = block->next_) { |
v->VisitPointer(BitCast<Object**>(&(block->exception_))); |
v->VisitPointer(BitCast<Object**>(&(block->message_obj_))); |
v->VisitPointer(BitCast<Object**>(&(block->message_script_))); |
@@ -266,23 +261,14 @@ bool Isolate::IsDeferredHandle(Object** handle) { |
void Isolate::RegisterTryCatchHandler(v8::TryCatch* that) { |
- // The ARM simulator has a separate JS stack. We therefore register |
- // the C++ try catch handler with the simulator and get back an |
- // address that can be used for comparisons with addresses into the |
- // JS stack. When running without the simulator, the address |
- // returned will be the address of the C++ try catch handler itself. |
- Address address = reinterpret_cast<Address>( |
- SimulatorStack::RegisterCTryCatch(reinterpret_cast<uintptr_t>(that))); |
- thread_local_top()->set_try_catch_handler_address(address); |
+ thread_local_top()->set_try_catch_handler(that); |
} |
void Isolate::UnregisterTryCatchHandler(v8::TryCatch* that) { |
- ASSERT(thread_local_top()->TryCatchHandler() == that); |
- thread_local_top()->set_try_catch_handler_address( |
- reinterpret_cast<Address>(that->next_)); |
+ ASSERT(thread_local_top()->try_catch_handler() == that); |
+ thread_local_top()->set_try_catch_handler(that->next_); |
thread_local_top()->catcher_ = NULL; |
- SimulatorStack::UnregisterCTryCatch(); |
} |