Reviewers: Jakob,

Description:
Revert "Fix multiple V8::Dispose calls since r16563." and disable test.

[email protected]

Please review this at https://codereview.chromium.org/23522022/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+5, -13 lines):
  M src/isolate.h
  M src/v8.cc
  M test/cctest/cctest.status


Index: src/isolate.h
diff --git a/src/isolate.h b/src/isolate.h
index 5ca776d580d2b3575d546515b1350f497d06f022..741c4c02ffb17cf409f16a4067e3fd560bc5e2b2 100644
--- a/src/isolate.h
+++ b/src/isolate.h
@@ -1383,7 +1383,6 @@ class Isolate {
   friend class v8::Isolate;
   friend class v8::Locker;
   friend class v8::Unlocker;
-  friend class V8;

   DISALLOW_COPY_AND_ASSIGN(Isolate);
 };
Index: src/v8.cc
diff --git a/src/v8.cc b/src/v8.cc
index c4ce0629c8021b89d39f59c8703dc64371330bb8..d9ce8404acddea3391c511ee03ce20e475a27055 100644
--- a/src/v8.cc
+++ b/src/v8.cc
@@ -63,8 +63,8 @@ bool V8::Initialize(Deserializer* des) {

   // The current thread may not yet had entered an isolate to run.
   // Note the Isolate::Current() may be non-null because for various
-  // initialization purposes an initializing thread may be assigned an
-  // isolate but not actually enter it.
+ // initialization purposes an initializing thread may be assigned an isolate
+  // but not actually enter it.
   if (i::Isolate::CurrentPerIsolateThreadData() == NULL) {
     i::Isolate::EnterDefaultIsolate();
   }
@@ -84,15 +84,6 @@ bool V8::Initialize(Deserializer* des) {


 void V8::TearDown() {
-  // The current thread may not yet had entered an isolate to run or may
-  // have already disposed the entered isolated before.
-  // Note the Isolate::Current() may be non-null because for various
-  // initialization purposes an initializing thread may be assigned an
-  // isolate but not actually enter it.
-  if (i::Isolate::CurrentPerIsolateThreadData() == NULL) {
-    return;
-  }
-
   Isolate* isolate = Isolate::Current();
   ASSERT(isolate->IsDefaultIsolate());
   if (!isolate->IsInitialized()) return;
@@ -100,7 +91,6 @@ void V8::TearDown() {
   // The isolate has to be torn down before clearing the LOperand
   // caches so that the optimizing compiler thread (if running)
   // doesn't see an inconsistent view of the lithium instructions.
-  Isolate::SetIsolateThreadLocals(isolate, NULL);
   isolate->TearDown();
   delete isolate;

Index: test/cctest/cctest.status
diff --git a/test/cctest/cctest.status b/test/cctest/cctest.status
index e09de7d0d6ad940b59e80bb425f2052d4a9d1680..2b3419bce2e60efd09db0bbf0c5cabe837f09cd4 100644
--- a/test/cctest/cctest.status
+++ b/test/cctest/cctest.status
@@ -34,6 +34,9 @@ test-api/Bug*: FAIL
 # BUG(382): Weird test. Can't guarantee that it never times out.
 test-api/ApplyInterruption: PASS || TIMEOUT

+# TODO(mstarzinger): Fail gracefully on multiple V8::Dispose calls.
+test-api/InitializeAndDisposeMultiple: SKIP
+
 # These tests always fail.  They are here to test test.py.  If
 # they don't fail then test.py has failed.
 test-serialize/TestThatAlwaysFails: FAIL


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to