| Index: test/cctest/test-lockers.cc | 
| diff --git a/test/cctest/test-lockers.cc b/test/cctest/test-lockers.cc | 
| index f1dc5a28b4655f0b39c98b7785d572a74ac1d7b7..9069998fefbf32dd6fc71eaaba69572161dd53da 100644 | 
| --- a/test/cctest/test-lockers.cc | 
| +++ b/test/cctest/test-lockers.cc | 
| @@ -25,6 +25,9 @@ | 
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
|  | 
| +// TODO(jochen): Remove this after the setting is turned on globally. | 
| +#define V8_IMMINENT_DEPRECATION_WARNINGS | 
| + | 
| #include <limits.h> | 
|  | 
| #include "src/v8.h" | 
| @@ -57,7 +60,7 @@ using ::v8::V8; | 
| // Migrating an isolate | 
| class KangarooThread : public v8::base::Thread { | 
| public: | 
| -  KangarooThread(v8::Isolate* isolate, v8::Handle<v8::Context> context) | 
| +  KangarooThread(v8::Isolate* isolate, v8::Local<v8::Context> context) | 
| : Thread(Options("KangarooThread")), | 
| isolate_(isolate), | 
| context_(isolate, context) {} | 
| @@ -74,7 +77,7 @@ class KangarooThread : public v8::base::Thread { | 
| v8::Context::Scope context_scope(context); | 
| Local<Value> v = CompileRun("getValue()"); | 
| CHECK(v->IsNumber()); | 
| -      CHECK_EQ(30, static_cast<int>(v->NumberValue())); | 
| +      CHECK_EQ(30, static_cast<int>(v->NumberValue(context).FromJust())); | 
| } | 
| { | 
| v8::Locker locker(isolate_); | 
| @@ -85,7 +88,7 @@ class KangarooThread : public v8::base::Thread { | 
| v8::Context::Scope context_scope(context); | 
| Local<Value> v = CompileRun("getValue()"); | 
| CHECK(v->IsNumber()); | 
| -      CHECK_EQ(30, static_cast<int>(v->NumberValue())); | 
| +      CHECK_EQ(30, static_cast<int>(v->NumberValue(context).FromJust())); | 
| } | 
| isolate_->Dispose(); | 
| } | 
| @@ -118,14 +121,14 @@ TEST(KangarooIsolates) { | 
| } | 
|  | 
|  | 
| -static void CalcFibAndCheck() { | 
| +static void CalcFibAndCheck(v8::Local<v8::Context> context) { | 
| Local<Value> v = CompileRun("function fib(n) {" | 
| "  if (n <= 2) return 1;" | 
| "  return fib(n-1) + fib(n-2);" | 
| "}" | 
| "fib(10)"); | 
| CHECK(v->IsNumber()); | 
| -  CHECK_EQ(55, static_cast<int>(v->NumberValue())); | 
| +  CHECK_EQ(55, static_cast<int>(v->NumberValue(context).FromJust())); | 
| } | 
|  | 
| class JoinableThread { | 
| @@ -189,7 +192,7 @@ class IsolateLockingThreadWithLocalContext : public JoinableThread { | 
| LocalContext local_context(isolate_); | 
| CHECK_EQ(reinterpret_cast<v8::internal::Isolate*>(isolate_), | 
| v8::internal::Isolate::Current()); | 
| -    CalcFibAndCheck(); | 
| +    CalcFibAndCheck(local_context.local()); | 
| } | 
| private: | 
| v8::Isolate* isolate_; | 
| @@ -241,11 +244,11 @@ class IsolateNestedLockingThread : public JoinableThread { | 
| LocalContext local_context(isolate_); | 
| { | 
| v8::Locker another_lock(isolate_); | 
| -      CalcFibAndCheck(); | 
| +      CalcFibAndCheck(local_context.local()); | 
| } | 
| { | 
| v8::Locker another_lock(isolate_); | 
| -      CalcFibAndCheck(); | 
| +      CalcFibAndCheck(local_context.local()); | 
| } | 
| } | 
| private: | 
| @@ -289,7 +292,7 @@ class SeparateIsolatesLocksNonexclusiveThread : public JoinableThread { | 
|  | 
| IsolateLockingThreadWithLocalContext threadB(isolate2_); | 
| threadB.Start(); | 
| -    CalcFibAndCheck(); | 
| +    CalcFibAndCheck(local_context.local()); | 
| threadB.Join(); | 
| } | 
| private: | 
| @@ -323,11 +326,10 @@ TEST(SeparateIsolatesLocksNonexclusive) { | 
| class LockIsolateAndCalculateFibSharedContextThread : public JoinableThread { | 
| public: | 
| explicit LockIsolateAndCalculateFibSharedContextThread( | 
| -      v8::Isolate* isolate, v8::Handle<v8::Context> context) | 
| -    : JoinableThread("LockIsolateAndCalculateFibThread"), | 
| -      isolate_(isolate), | 
| -      context_(isolate, context) { | 
| -  } | 
| +      v8::Isolate* isolate, v8::Local<v8::Context> context) | 
| +      : JoinableThread("LockIsolateAndCalculateFibThread"), | 
| +        isolate_(isolate), | 
| +        context_(isolate, context) {} | 
|  | 
| virtual void Run() { | 
| v8::Locker lock(isolate_); | 
| @@ -336,7 +338,7 @@ class LockIsolateAndCalculateFibSharedContextThread : public JoinableThread { | 
| v8::Local<v8::Context> context = | 
| v8::Local<v8::Context>::New(isolate_, context_); | 
| v8::Context::Scope context_scope(context); | 
| -    CalcFibAndCheck(); | 
| +    CalcFibAndCheck(context); | 
| } | 
| private: | 
| v8::Isolate* isolate_; | 
| @@ -357,7 +359,7 @@ class LockerUnlockerThread : public JoinableThread { | 
| v8::Local<v8::Context> context = v8::Context::New(isolate_); | 
| { | 
| v8::Context::Scope context_scope(context); | 
| -      CalcFibAndCheck(); | 
| +      CalcFibAndCheck(context); | 
| } | 
| { | 
| LockIsolateAndCalculateFibSharedContextThread thread(isolate_, context); | 
| @@ -369,7 +371,7 @@ class LockerUnlockerThread : public JoinableThread { | 
| isolate_->Enter(); | 
| { | 
| v8::Context::Scope context_scope(context); | 
| -      CalcFibAndCheck(); | 
| +      CalcFibAndCheck(context); | 
| } | 
| } | 
|  | 
| @@ -411,7 +413,7 @@ class LockTwiceAndUnlockThread : public JoinableThread { | 
| v8::Local<v8::Context> context = v8::Context::New(isolate_); | 
| { | 
| v8::Context::Scope context_scope(context); | 
| -      CalcFibAndCheck(); | 
| +      CalcFibAndCheck(context); | 
| } | 
| { | 
| v8::Locker second_lock(isolate_); | 
| @@ -426,7 +428,7 @@ class LockTwiceAndUnlockThread : public JoinableThread { | 
| isolate_->Enter(); | 
| { | 
| v8::Context::Scope context_scope(context); | 
| -      CalcFibAndCheck(); | 
| +      CalcFibAndCheck(context); | 
| } | 
| } | 
|  | 
| @@ -472,10 +474,10 @@ class LockAndUnlockDifferentIsolatesThread : public JoinableThread { | 
| { | 
| v8::Isolate::Scope isolate_scope(isolate1_); | 
| v8::HandleScope handle_scope(isolate1_); | 
| -      v8::Handle<v8::Context> context1 = v8::Context::New(isolate1_); | 
| +      v8::Local<v8::Context> context1 = v8::Context::New(isolate1_); | 
| { | 
| v8::Context::Scope context_scope(context1); | 
| -        CalcFibAndCheck(); | 
| +        CalcFibAndCheck(context1); | 
| } | 
| thread.Reset(new LockIsolateAndCalculateFibSharedContextThread( | 
| isolate1_, context1)); | 
| @@ -486,17 +488,17 @@ class LockAndUnlockDifferentIsolatesThread : public JoinableThread { | 
| { | 
| v8::Isolate::Scope isolate_scope(isolate2_); | 
| v8::HandleScope handle_scope(isolate2_); | 
| -      v8::Handle<v8::Context> context2 = v8::Context::New(isolate2_); | 
| +      v8::Local<v8::Context> context2 = v8::Context::New(isolate2_); | 
| { | 
| v8::Context::Scope context_scope(context2); | 
| -        CalcFibAndCheck(); | 
| +        CalcFibAndCheck(context2); | 
| } | 
| v8::Unlocker unlock1(isolate1_); | 
| CHECK(!v8::Locker::IsLocked(isolate1_)); | 
| CHECK(v8::Locker::IsLocked(isolate2_)); | 
| v8::Context::Scope context_scope(context2); | 
| thread->Start(); | 
| -      CalcFibAndCheck(); | 
| +      CalcFibAndCheck(context2); | 
| thread->Join(); | 
| } | 
| } | 
| @@ -522,11 +524,10 @@ TEST(LockAndUnlockDifferentIsolates) { | 
|  | 
| class LockUnlockLockThread : public JoinableThread { | 
| public: | 
| -  LockUnlockLockThread(v8::Isolate* isolate, v8::Handle<v8::Context> context) | 
| -    : JoinableThread("LockUnlockLockThread"), | 
| -      isolate_(isolate), | 
| -      context_(isolate, context) { | 
| -  } | 
| +  LockUnlockLockThread(v8::Isolate* isolate, v8::Local<v8::Context> context) | 
| +      : JoinableThread("LockUnlockLockThread"), | 
| +        isolate_(isolate), | 
| +        context_(isolate, context) {} | 
|  | 
| virtual void Run() { | 
| v8::Locker lock1(isolate_); | 
| @@ -538,7 +539,7 @@ class LockUnlockLockThread : public JoinableThread { | 
| v8::Local<v8::Context> context = | 
| v8::Local<v8::Context>::New(isolate_, context_); | 
| v8::Context::Scope context_scope(context); | 
| -      CalcFibAndCheck(); | 
| +      CalcFibAndCheck(context); | 
| } | 
| { | 
| v8::Unlocker unlock1(isolate_); | 
| @@ -553,7 +554,7 @@ class LockUnlockLockThread : public JoinableThread { | 
| v8::Local<v8::Context> context = | 
| v8::Local<v8::Context>::New(isolate_, context_); | 
| v8::Context::Scope context_scope(context); | 
| -        CalcFibAndCheck(); | 
| +        CalcFibAndCheck(context); | 
| } | 
| } | 
| } | 
| @@ -579,7 +580,7 @@ TEST(LockUnlockLockMultithreaded) { | 
| v8::Locker locker_(isolate); | 
| v8::Isolate::Scope isolate_scope(isolate); | 
| v8::HandleScope handle_scope(isolate); | 
| -    v8::Handle<v8::Context> context = v8::Context::New(isolate); | 
| +    v8::Local<v8::Context> context = v8::Context::New(isolate); | 
| for (int i = 0; i < kNThreads; i++) { | 
| threads.Add(new LockUnlockLockThread( | 
| isolate, context)); | 
| @@ -591,7 +592,7 @@ TEST(LockUnlockLockMultithreaded) { | 
|  | 
| class LockUnlockLockDefaultIsolateThread : public JoinableThread { | 
| public: | 
| -  explicit LockUnlockLockDefaultIsolateThread(v8::Handle<v8::Context> context) | 
| +  explicit LockUnlockLockDefaultIsolateThread(v8::Local<v8::Context> context) | 
| : JoinableThread("LockUnlockLockDefaultIsolateThread"), | 
| context_(CcTest::isolate(), context) {} | 
|  | 
| @@ -603,7 +604,7 @@ class LockUnlockLockDefaultIsolateThread : public JoinableThread { | 
| v8::Local<v8::Context> context = | 
| v8::Local<v8::Context>::New(CcTest::isolate(), context_); | 
| v8::Context::Scope context_scope(context); | 
| -      CalcFibAndCheck(); | 
| +      CalcFibAndCheck(context); | 
| } | 
| { | 
| v8::Unlocker unlock1(CcTest::isolate()); | 
| @@ -614,7 +615,7 @@ class LockUnlockLockDefaultIsolateThread : public JoinableThread { | 
| v8::Local<v8::Context> context = | 
| v8::Local<v8::Context>::New(CcTest::isolate(), context_); | 
| v8::Context::Scope context_scope(context); | 
| -        CalcFibAndCheck(); | 
| +        CalcFibAndCheck(context); | 
| } | 
| } | 
| } | 
| @@ -655,11 +656,12 @@ TEST(Regress1433) { | 
| v8::Locker lock(isolate); | 
| v8::Isolate::Scope isolate_scope(isolate); | 
| v8::HandleScope handle_scope(isolate); | 
| -      v8::Handle<Context> context = v8::Context::New(isolate); | 
| +      v8::Local<Context> context = v8::Context::New(isolate); | 
| v8::Context::Scope context_scope(context); | 
| -      v8::Handle<String> source = v8::String::NewFromUtf8(isolate, "1+1"); | 
| -      v8::Handle<Script> script = v8::Script::Compile(source); | 
| -      v8::Handle<Value> result = script->Run(); | 
| +      v8::Local<String> source = v8_str("1+1"); | 
| +      v8::Local<Script> script = | 
| +          v8::Script::Compile(context, source).ToLocalChecked(); | 
| +      v8::Local<Value> result = script->Run(context).ToLocalChecked(); | 
| v8::String::Utf8Value utf8(result); | 
| } | 
| isolate->Dispose(); | 
|  |