| 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();
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |