#include "src/execution/execution.h"
#include "src/api/api-inl.h"
#include "src/debug/debug.h"
#include "src/execution/frames.h"
#include "src/execution/isolate-inl.h"
#include "src/execution/vm-state-inl.h"
#include "src/logging/runtime-call-stats-scope.h"
#if V8_ENABLE_WEBASSEMBLY
#include "src/compiler/wasm-compiler.h"
#include "src/wasm/code-space-access.h"
#include "src/wasm/wasm-engine.h"
#endif
namespace v8 {
namespace internal {
namespace {
Handle<Object> NormalizeReceiver(Isolate* isolate, Handle<Object> receiver) { … }
struct InvokeParams { … };
InvokeParams InvokeParams::SetUpForNew(Isolate* isolate,
Handle<Object> constructor,
Handle<Object> new_target, int argc,
Handle<Object>* argv) { … }
InvokeParams InvokeParams::SetUpForCall(Isolate* isolate,
Handle<Object> callable,
Handle<Object> receiver, int argc,
Handle<Object>* argv) { … }
InvokeParams InvokeParams::SetUpForTryCall(
Isolate* isolate, Handle<Object> callable, Handle<Object> receiver,
int argc, Handle<Object>* argv, Execution::MessageHandling message_handling,
MaybeHandle<Object>* exception_out) { … }
InvokeParams InvokeParams::SetUpForRunMicrotasks(
Isolate* isolate, MicrotaskQueue* microtask_queue) { … }
Handle<Code> JSEntry(Isolate* isolate, Execution::Target execution_target,
bool is_construct) { … }
MaybeHandle<Context> NewScriptContext(
Isolate* isolate, DirectHandle<JSFunction> function,
DirectHandle<FixedArray> host_defined_options) { … }
V8_WARN_UNUSED_RESULT MaybeHandle<Object> Invoke(Isolate* isolate,
const InvokeParams& params) { … }
MaybeHandle<Object> InvokeWithTryCatch(Isolate* isolate,
const InvokeParams& params) { … }
}
MaybeHandle<Object> Execution::Call(Isolate* isolate, Handle<Object> callable,
Handle<Object> receiver, int argc,
Handle<Object> argv[]) { … }
MaybeHandle<Object> Execution::CallScript(Isolate* isolate,
Handle<JSFunction> script_function,
Handle<Object> receiver,
Handle<Object> host_defined_options) { … }
MaybeHandle<Object> Execution::CallBuiltin(Isolate* isolate,
Handle<JSFunction> builtin,
Handle<Object> receiver, int argc,
Handle<Object> argv[]) { … }
MaybeHandle<Object> Execution::New(Isolate* isolate, Handle<Object> constructor,
int argc, Handle<Object> argv[]) { … }
MaybeHandle<Object> Execution::New(Isolate* isolate, Handle<Object> constructor,
Handle<Object> new_target, int argc,
Handle<Object> argv[]) { … }
MaybeHandle<Object> Execution::TryCallScript(
Isolate* isolate, Handle<JSFunction> script_function,
Handle<Object> receiver, Handle<FixedArray> host_defined_options) { … }
MaybeHandle<Object> Execution::TryCall(Isolate* isolate,
Handle<Object> callable,
Handle<Object> receiver, int argc,
Handle<Object> argv[],
MessageHandling message_handling,
MaybeHandle<Object>* exception_out) { … }
MaybeHandle<Object> Execution::TryRunMicrotasks(
Isolate* isolate, MicrotaskQueue* microtask_queue) { … }
struct StackHandlerMarker { … };
static_assert …;
static_assert …;
static_assert …;
#if V8_ENABLE_WEBASSEMBLY
void Execution::CallWasm(Isolate* isolate, DirectHandle<Code> wrapper_code,
Address wasm_call_target,
DirectHandle<Object> object_ref, Address packed_args) { … }
#endif
}
}