| // Copyright 2020 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_TOOLS_V8WINDBG_SRC_CUR_ISOLATE_H_ |
| #define V8_TOOLS_V8WINDBG_SRC_CUR_ISOLATE_H_ |
| |
| #include <crtdbg.h> |
| #include <wrl/implements.h> |
| |
| #include <string> |
| #include <vector> |
| |
| #include "tools/v8windbg/base/utilities.h" |
| #include "tools/v8windbg/src/v8-debug-helper-interop.h" |
| #include "tools/v8windbg/src/v8windbg-extension.h" |
| |
| HRESULT GetCurrentIsolate(WRL::ComPtr<IModelObject>& sp_result); |
| |
| constexpr wchar_t kIsolateKey[] = L"isolate_key_"; |
| constexpr wchar_t kIsolate[] = L"v8::internal::Isolate"; |
| |
| class CurrIsolateAlias |
| : public WRL::RuntimeClass< |
| WRL::RuntimeClassFlags<WRL::RuntimeClassType::ClassicCom>, |
| IModelMethod> { |
| public: |
| IFACEMETHOD(Call) |
| (IModelObject* p_context_object, ULONG64 arg_count, |
| _In_reads_(arg_count) IModelObject** pp_arguments, IModelObject** pp_result, |
| IKeyStore** pp_metadata); |
| }; |
| |
| #endif // V8_TOOLS_V8WINDBG_SRC_CUR_ISOLATE_H_ |