1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
8 #include "src/allocation.h"
9 #include "src/isolate.h"
14 template <StateTag Tag>
15 class VMState BASE_EMBEDDED {
17 explicit inline VMState(Isolate* isolate);
22 StateTag previous_tag_;
26 class ExternalCallbackScope BASE_EMBEDDED {
28 inline ExternalCallbackScope(Isolate* isolate, Address callback);
29 inline ~ExternalCallbackScope();
30 Address callback() { return callback_; }
31 Address* callback_address() { return &callback_; }
32 ExternalCallbackScope* previous() { return previous_scope_; }
33 inline Address scope_address();
38 ExternalCallbackScope* previous_scope_;
40 Address scope_address_;
44 } } // namespace v8::internal
47 #endif // V8_VM_STATE_H_