5#ifndef V8_MAGLEV_MAGLEV_IR_INL_H_
6#define V8_MAGLEV_MAGLEV_IR_INL_H_
20inline RegList GetGeneralRegistersUsedAsInputs(
21 const EagerDeoptInfo* deopt_info) {
23 InputLocation* input = deopt_info->input_locations();
24 deopt_info->ForEachInput([®s, &input](ValueNode* value) {
25 if (input->IsGeneralRegister()) {
26 regs.set(input->AssignedGeneralRegister());
36#define DCHECK_REGLIST_EMPTY(...) DCHECK_EQ((__VA_ARGS__), RegList{})
45 node->result().SetUnallocated(
59 node->result().SetUnallocated(
kNoVreg, 0);
78 input.node()->SetHint(input.operand());
83 input.node()->SetHint(input.operand());
88#ifdef V8_ENABLE_LEAPTIERING
94#ifdef V8_ENABLE_LEAPTIERING
95 dispatch_handle_(dispatch_handle),
97 shared_function_info_(shared_function_info),
98 expected_parameter_count_(
99#ifdef V8_ENABLE_LEAPTIERING
100 IsolateGroup::current()->js_dispatch_table()->GetParameterCount(
103 shared_function_info.internal_formal_parameter_count_with_receiver()
@ REGISTER_OR_SLOT_OR_CONSTANT
static constexpr int kClosureIndex
static constexpr int kReceiverIndex
static constexpr int kContextIndex
static constexpr int kNewTargetIndex
CallKnownJSFunction(uint64_t bitfield, compiler::SharedFunctionInfoRef shared_function_info, ValueNode *closure, ValueNode *context, ValueNode *receiver, ValueNode *new_target)
DirectHandle< Object > new_target
void DefineAsRegister(Node *node)
void DefineSameAsFirst(Node *node)
void DefineAsFixed(Node *node, Register reg)
void UseAndClobberRegister(Input &input)
void DefineAsConstant(Node *node)
void UseAny(Input &input)
static constexpr int kNoVreg
void UseRegister(Input &input)
void UseFixed(Input &input, Register reg)
RegListBase< Register > RegList