blob: 2be24ce7fd82f77b70feb45ec76b02e12cae8e79 [file] [log] [blame]
// 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_