From 4d3bd1662ccf9cf2590695d2e3bbf1b57d425556 Mon Sep 17 00:00:00 2001 From: "svenpanne@chromium.org" Date: Tue, 15 Apr 2014 10:45:34 +0000 Subject: [PATCH] Removed EnterIsolateIfNeeded and a soon-to-be-useless assertion. BUG=359977 LOG=y R=dcarney@chromium.org Review URL: https://codereview.chromium.org/238773003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/api.cc | 28 +++++----------------------- src/isolate.cc | 5 +---- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/src/api.cc b/src/api.cc index a055a2f..fde3b5d 100644 --- a/src/api.cc +++ b/src/api.cc @@ -244,24 +244,6 @@ static inline bool EnsureInitializedForIsolate(i::Isolate* isolate, } -// Some initializing API functions are called early and may be -// called on a thread different from static initializer thread. -// If Isolate API is used, Isolate::Enter() will initialize TLS so -// Isolate::Current() works. If it's a legacy case, then the thread -// may not have TLS initialized yet. However, in initializing APIs it -// may be too early to call EnsureInitialized() - some pre-init -// parameters still have to be configured. -static inline i::Isolate* EnterIsolateIfNeeded() { - i::Isolate* isolate = i::Isolate::UncheckedCurrent(); - if (isolate != NULL) - return isolate; - - i::Isolate::EnterDefaultIsolate(); - isolate = i::Isolate::Current(); - return isolate; -} - - StartupDataDecompressor::StartupDataDecompressor() : raw_data(i::NewArray(V8::GetCompressedStartupDataCount())) { for (int i = 0; i < V8::GetCompressedStartupDataCount(); ++i) { @@ -391,14 +373,14 @@ void V8::SetDecompressedStartupData(StartupData* decompressed_data) { void V8::SetFatalErrorHandler(FatalErrorCallback that) { - i::Isolate* isolate = EnterIsolateIfNeeded(); + i::Isolate* isolate = i::Isolate::UncheckedCurrent(); isolate->set_exception_behavior(that); } void V8::SetAllowCodeGenerationFromStringsCallback( AllowCodeGenerationFromStringsCallback callback) { - i::Isolate* isolate = EnterIsolateIfNeeded(); + i::Isolate* isolate = i::Isolate::UncheckedCurrent(); isolate->set_allow_code_gen_callback(callback); } @@ -6308,13 +6290,13 @@ void V8::SetCaptureStackTraceForUncaughtExceptions( void V8::SetCounterFunction(CounterLookupCallback callback) { - i::Isolate* isolate = EnterIsolateIfNeeded(); + i::Isolate* isolate = i::Isolate::UncheckedCurrent(); isolate->stats_table()->SetCounterFunction(callback); } void V8::SetCreateHistogramFunction(CreateHistogramCallback callback) { - i::Isolate* isolate = EnterIsolateIfNeeded(); + i::Isolate* isolate = i::Isolate::UncheckedCurrent(); isolate->stats_table()->SetCreateHistogramFunction(callback); isolate->InitializeLoggingAndCounters(); isolate->counters()->ResetHistograms(); @@ -6322,7 +6304,7 @@ void V8::SetCreateHistogramFunction(CreateHistogramCallback callback) { void V8::SetAddHistogramSampleFunction(AddHistogramSampleCallback callback) { - i::Isolate* isolate = EnterIsolateIfNeeded(); + i::Isolate* isolate = i::Isolate::UncheckedCurrent(); isolate->stats_table()-> SetAddHistogramSampleFunction(callback); } diff --git a/src/isolate.cc b/src/isolate.cc index 03e5267..451a975 100644 --- a/src/isolate.cc +++ b/src/isolate.cc @@ -1671,10 +1671,7 @@ Isolate::~Isolate() { // Has to be called while counters_ are still alive runtime_zone_.DeleteKeptSegment(); - // The entry stack must be empty when we get here, - // except for the default isolate, where it can - // still contain up to one entry stack item - ASSERT(entry_stack_ == NULL || this == default_isolate_); + // The entry stack must be empty when we get here. ASSERT(entry_stack_ == NULL || entry_stack_->previous_item == NULL); delete entry_stack_; -- 2.7.4