���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /home/real/node-v13.0.1/deps/v8/src/execution/ |
// Copyright 2010 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_EXECUTION_VM_STATE_H_ #define V8_EXECUTION_VM_STATE_H_ #include "include/v8.h" #include "src/common/globals.h" namespace v8 { namespace internal { // Logging and profiling. A StateTag represents a possible state of // the VM. The logger maintains a stack of these. Creating a VMState // object enters a state by pushing on the stack, and destroying a // VMState object leaves a state by popping the current state from the // stack. template <StateTag Tag> class VMState { public: explicit inline VMState(Isolate* isolate); inline ~VMState(); private: Isolate* isolate_; StateTag previous_tag_; }; class ExternalCallbackScope { public: inline ExternalCallbackScope(Isolate* isolate, Address callback); inline ~ExternalCallbackScope(); Address callback() { return callback_; } Address* callback_entrypoint_address() { if (callback_ == kNullAddress) return nullptr; #if USES_FUNCTION_DESCRIPTORS return FUNCTION_ENTRYPOINT_ADDRESS(callback_); #else return &callback_; #endif } ExternalCallbackScope* previous() { return previous_scope_; } inline Address scope_address(); private: Isolate* isolate_; Address callback_; ExternalCallbackScope* previous_scope_; #ifdef USE_SIMULATOR Address scope_address_; #endif }; } // namespace internal } // namespace v8 #endif // V8_EXECUTION_VM_STATE_H_