| Index: src/vm-state-inl.h
|
| ===================================================================
|
| --- src/vm-state-inl.h (revision 7267)
|
| +++ src/vm-state-inl.h (working copy)
|
| @@ -58,25 +58,27 @@
|
| }
|
| }
|
|
|
| -VMState::VMState(StateTag tag) : previous_tag_(Top::current_vm_state()) {
|
| +
|
| +VMState::VMState(Isolate* isolate, StateTag tag)
|
| + : isolate_(isolate), previous_tag_(isolate->current_vm_state()) {
|
| #ifdef ENABLE_LOGGING_AND_PROFILING
|
| if (FLAG_log_state_changes) {
|
| - LOG(UncheckedStringEvent("Entering", StateToString(tag)));
|
| - LOG(UncheckedStringEvent("From", StateToString(previous_tag_)));
|
| + LOG(isolate, UncheckedStringEvent("Entering", StateToString(tag)));
|
| + LOG(isolate, UncheckedStringEvent("From", StateToString(previous_tag_)));
|
| }
|
| #endif
|
|
|
| - Top::SetCurrentVMState(tag);
|
| + isolate_->SetCurrentVMState(tag);
|
|
|
| #ifdef ENABLE_HEAP_PROTECTION
|
| if (FLAG_protect_heap) {
|
| if (tag == EXTERNAL) {
|
| // We are leaving V8.
|
| ASSERT(previous_tag_ != EXTERNAL);
|
| - Heap::Protect();
|
| + isolate_->heap()->Protect();
|
| } else if (previous_tag_ = EXTERNAL) {
|
| // We are entering V8.
|
| - Heap::Unprotect();
|
| + isolate_->heap()->Unprotect();
|
| }
|
| }
|
| #endif
|
| @@ -86,27 +88,29 @@
|
| VMState::~VMState() {
|
| #ifdef ENABLE_LOGGING_AND_PROFILING
|
| if (FLAG_log_state_changes) {
|
| - LOG(UncheckedStringEvent("Leaving",
|
| - StateToString(Top::current_vm_state())));
|
| - LOG(UncheckedStringEvent("To", StateToString(previous_tag_)));
|
| + LOG(isolate_,
|
| + UncheckedStringEvent("Leaving",
|
| + StateToString(isolate_->current_vm_state())));
|
| + LOG(isolate_,
|
| + UncheckedStringEvent("To", StateToString(previous_tag_)));
|
| }
|
| #endif // ENABLE_LOGGING_AND_PROFILING
|
|
|
| #ifdef ENABLE_HEAP_PROTECTION
|
| - StateTag tag = Top::current_vm_state();
|
| + StateTag tag = isolate_->current_vm_state();
|
| #endif
|
|
|
| - Top::SetCurrentVMState(previous_tag_);
|
| + isolate_->SetCurrentVMState(previous_tag_);
|
|
|
| #ifdef ENABLE_HEAP_PROTECTION
|
| if (FLAG_protect_heap) {
|
| if (tag == EXTERNAL) {
|
| // We are reentering V8.
|
| ASSERT(previous_tag_ != EXTERNAL);
|
| - Heap::Unprotect();
|
| + isolate_->heap()->Unprotect();
|
| } else if (previous_tag_ == EXTERNAL) {
|
| // We are leaving V8.
|
| - Heap::Protect();
|
| + isolate_->heap()->Protect();
|
| }
|
| }
|
| #endif // ENABLE_HEAP_PROTECTION
|
| @@ -117,13 +121,13 @@
|
|
|
| #ifdef ENABLE_LOGGING_AND_PROFILING
|
|
|
| -ExternalCallbackScope::ExternalCallbackScope(Address callback)
|
| - : previous_callback_(Top::external_callback()) {
|
| - Top::set_external_callback(callback);
|
| +ExternalCallbackScope::ExternalCallbackScope(Isolate* isolate, Address callback)
|
| + : isolate_(isolate), previous_callback_(isolate->external_callback()) {
|
| + isolate_->set_external_callback(callback);
|
| }
|
|
|
| ExternalCallbackScope::~ExternalCallbackScope() {
|
| - Top::set_external_callback(previous_callback_);
|
| + isolate_->set_external_callback(previous_callback_);
|
| }
|
|
|
| #endif // ENABLE_LOGGING_AND_PROFILING
|
|
|