17#if V8_ENABLE_WEBASSEMBLY 
   31    return os << 
"Ignore";
 
   32  return os << 
"PokeAt(" << sc.
parameter_ << 
")";
 
 
   41#if V8_ENABLE_WEBASSEMBLY 
   48#if V8_ENABLE_WEBASSEMBLY 
 
   82                            info.state_combine());
 
 
   88      os << 
"UNOPTIMIZED_FRAME";
 
   91      os << 
"INLINED_EXTRA_ARGUMENTS";
 
   94      os << 
"CONSTRUCT_CREATE_STUB";
 
   97      os << 
"CONSTRUCT_INVOKE_STUB";
 
  100      os << 
"BUILTIN_CONTINUATION_FRAME";
 
  102#if V8_ENABLE_WEBASSEMBLY 
  103    case FrameStateType::kWasmInlinedIntoJS:
 
  104      os << 
"WASM_INLINED_INTO_JS_FRAME";
 
  106    case FrameStateType::kJSToWasmBuiltinContinuation:
 
  107      os << 
"JS_TO_WASM_BUILTIN_CONTINUATION_FRAME";
 
  109    case FrameStateType::kLiftoffFunction:
 
  110      os << 
"LIFTOFF_FRAME";
 
  114      os << 
"JAVASCRIPT_BUILTIN_CONTINUATION_FRAME";
 
  117      os << 
"JAVASCRIPT_BUILTIN_CONTINUATION_WITH_CATCH_FRAME";
 
 
  124  os << info.type() << 
", " << info.bailout_id() << 
", " 
  125     << info.state_combine();
 
  127  if (info.shared_info().ToHandle(&shared_info)) {
 
  128    os << 
", " << 
Brief(*shared_info);
 
 
  153FrameState CreateBuiltinContinuationFrameStateCommon(
 
  158    const wasm::CanonicalSig* signature = 
nullptr) {
 
  162  const Operator* op_param =
 
  164  Node* params_node = graph->NewNode(op_param, 
parameter_count, parameters);
 
  167#if V8_ENABLE_WEBASSEMBLY 
  168  const FrameStateFunctionInfo* state_info =
 
  169      signature ? common->CreateJSToWasmFrameStateFunctionInfo(
 
  171                : common->CreateFrameStateFunctionInfo(
 
  175  const FrameStateFunctionInfo* state_info =
 
  176      common->CreateFrameStateFunctionInfo(frame_type, 
parameter_count, 0, 0,
 
  180  const Operator* op = common->FrameState(
 
  182  return FrameState(graph->NewNode(op, params_node, 
jsgraph->EmptyStateValues(),
 
  183                                   jsgraph->EmptyStateValues(), context,
 
  196  std::vector<Node*> actual_parameters;
 
  199  int stack_parameter_count =
 
  209  actual_parameters.reserve(stack_parameter_count +
 
  211  for (
int i = 0; 
i < stack_parameter_count; ++
i) {
 
  212    actual_parameters.push_back(
 
  218    actual_parameters.push_back(parameters[
i]);
 
  222#if V8_ENABLE_WEBASSEMBLY 
  223  if (name == Builtin::kJSToWasmLazyDeoptContinuation) {
 
  225    frame_state_type = FrameStateType::kJSToWasmBuiltinContinuation;
 
  228  return CreateBuiltinContinuationFrameStateCommon(
 
  229      jsgraph, frame_state_type, name, 
jsgraph->UndefinedConstant(), context,
 
  230      actual_parameters.data(), 
static_cast<int>(actual_parameters.size()),
 
 
  234#if V8_ENABLE_WEBASSEMBLY 
  235FrameState CreateJSWasmCallBuiltinContinuationFrameState(
 
  238  std::optional<wasm::ValueKind> wasm_return_kind =
 
  240  Node* node_return_type =
 
  242  Node* lazy_deopt_parameters[] = {node_return_type};
 
  244      jsgraph, Builtin::kJSToWasmLazyDeoptContinuation, context,
 
  245      lazy_deopt_parameters, 
arraysize(lazy_deopt_parameters),
 
  252    Node* context, 
Node* 
const* stack_parameters, 
int stack_parameter_count,
 
  257            stack_parameter_count + DeoptimizerParameterCountFor(mode));
 
  264  std::vector<Node*> actual_parameters;
 
  265  actual_parameters.reserve(stack_parameter_count);
 
  266  for (
int i = 0; 
i < stack_parameter_count; ++
i) {
 
  267    actual_parameters.push_back(stack_parameters[
i]);
 
  277  actual_parameters.push_back(target);      
 
  279  actual_parameters.push_back(argc);        
 
  280#ifdef V8_JS_LINKAGE_INCLUDES_DISPATCH_HANDLE 
  283  actual_parameters.push_back(
handle);  
 
  286  return CreateBuiltinContinuationFrameStateCommon(
 
  291      name, target, context, &actual_parameters[0],
 
 
  300  const int stack_parameter_count = 
arraysize(stack_parameters);
 
  302      graph, shared, Builtin::kGenericLazyDeoptContinuation, target, context,
 
 
  320  DCHECK_EQ(IrOpcode::kFrameState, frame_state->op()->opcode());
 
 
constexpr UnderlyingType & value() &
 
static BytecodeOffset GetContinuationBytecodeOffset(Builtin builtin)
 
static CallInterfaceDescriptor CallInterfaceDescriptorFor(Builtin builtin)
 
static V8_EXPORT_PRIVATE int GetStackParameterCount(Builtin builtin)
 
static V8_EXPORT_PRIVATE Callable CallableFor(Isolate *isolate, Builtin builtin)
 
int GetStackParameterCount() const
 
int GetRegisterParameterCount() const
 
CallInterfaceDescriptor descriptor() const
 
const Operator * StateValues(int arguments, SparseInputMask bitmask)
 
const Operator * FrameState(BytecodeOffset bailout_id, OutputFrameStateCombine state_combine, const FrameStateFunctionInfo *function_info)
 
uint16_t max_arguments() const
 
FrameStateType type() const
 
uint16_t parameter_count() const
 
uint32_t wasm_function_index() const
 
IndirectHandle< SharedFunctionInfo > shared_info() const
 
uint32_t wasm_liftoff_frame_size() const
 
MaybeIndirectHandle< BytecodeArray > bytecode_array() const
 
OutputFrameStateCombine state_combine() const
 
const FrameStateFunctionInfo * function_info() const
 
FrameStateType type() const
 
BytecodeOffset bailout_id() const
 
Node * outer_frame_state() const
 
const FrameStateInfo & frame_state_info() const
 
Node * parameters() const
 
Isolate * isolate() const
 
Node * ConstantNoHole(ObjectRef ref, JSHeapBroker *broker)
 
Node * SmiConstant(int32_t immediate)
 
CommonOperatorBuilder * common() const
 
static const size_t kInvalidIndex
 
static OutputFrameStateCombine Ignore()
 
#define V8_JS_LINKAGE_INCLUDES_DISPATCH_HANDLE_BOOL
 
DirectHandle< Object > new_target
 
FrameState outer_frame_state
 
V8_INLINE size_t hash_value(unsigned int v)
 
V8_INLINE size_t hash_combine(size_t seed, size_t hash)
 
@ kJavaScriptBuiltinContinuationWithCatch
 
@ kJavaScriptBuiltinContinuation
 
FrameState CloneFrameState(JSGraph *jsgraph, FrameState frame_state, OutputFrameStateCombine changed_state_combine)
 
FrameState CreateGenericLazyDeoptContinuationFrameState(JSGraph *graph, SharedFunctionInfoRef shared, Node *target, Node *context, Node *receiver, Node *outer_frame_state)
 
ContinuationFrameStateMode
 
FrameState CreateStubBuiltinContinuationFrameState(JSGraph *jsgraph, Builtin name, Node *context, Node *const *parameters, int parameter_count, Node *outer_frame_state, ContinuationFrameStateMode mode, const wasm::CanonicalSig *signature)
 
size_t hash_value(const BranchParameters &p)
 
Node * CreateInlinedApiFunctionFrameState(JSGraph *graph, SharedFunctionInfoRef shared, Node *target, Node *context, Node *receiver, Node *outer_frame_state)
 
FrameState CreateJavaScriptBuiltinContinuationFrameState(JSGraph *jsgraph, SharedFunctionInfoRef shared, Builtin name, Node *target, Node *context, Node *const *stack_parameters, int stack_parameter_count, Node *outer_frame_state, ContinuationFrameStateMode mode)
 
bool operator!=(DeoptimizeParameters lhs, DeoptimizeParameters rhs)
 
bool operator==(const BranchParameters &lhs, const BranchParameters &rhs)
 
std::ostream & operator<<(std::ostream &os, AccessMode access_mode)
 
std::optional< wasm::ValueKind > WasmReturnTypeFromSignature(const CanonicalSig *wasm_signature)
 
V8_INLINE IndirectHandle< T > handle(Tagged< T > object, Isolate *isolate)
 
constexpr JSDispatchHandle kInvalidDispatchHandle(0xffffffff<< kJSDispatchHandleShift)
 
#define CHECK_NOT_NULL(val)
 
#define DCHECK_GE(v1, v2)
 
#define DCHECK_EQ(v1, v2)