[maglev] Move shared PrintParams

Node printing is architecture agnostic.

Bug: v8:7700
Change-Id: If954c415d4fb7ec82b96eadc8742eb4efc69b290
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4061888
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84525}
This commit is contained in:
Victor Gomes 2022-11-28 16:34:49 +01:00 committed by V8 LUCI CQ
parent b49cea5506
commit 211fd627a5
4 changed files with 335 additions and 295 deletions

View File

@ -45,11 +45,6 @@ bool MaglevGraphHasUnimplementedNode(Graph* graph) {
return processor.node_processor().has_unimplemented_node();
}
#define UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(Node, ...) \
UNIMPLEMENTED_NODE(Node, __VA_ARGS__) \
void Node::PrintParams(std::ostream& os, \
MaglevGraphLabeller* graph_labeller) const {}
UNIMPLEMENTED_NODE(GenericAdd)
UNIMPLEMENTED_NODE(GenericSubtract)
UNIMPLEMENTED_NODE(GenericMultiply)
@ -106,21 +101,20 @@ UNIMPLEMENTED_NODE(Float64LessThan)
UNIMPLEMENTED_NODE(Float64LessThanOrEqual)
UNIMPLEMENTED_NODE(Float64GreaterThan)
UNIMPLEMENTED_NODE(Float64GreaterThanOrEqual)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(Float64Ieee754Unary)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(Constant)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(Float64Constant)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(Int32Constant)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(RootConstant)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(SmiConstant)
UNIMPLEMENTED_NODE(Float64Ieee754Unary)
UNIMPLEMENTED_NODE(Constant)
UNIMPLEMENTED_NODE(Float64Constant)
UNIMPLEMENTED_NODE(Int32Constant)
UNIMPLEMENTED_NODE(RootConstant)
UNIMPLEMENTED_NODE(SmiConstant)
UNIMPLEMENTED_NODE(BuiltinStringFromCharCode)
UNIMPLEMENTED_NODE(BuiltinStringPrototypeCharCodeAt)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(Call, receiver_mode_, target_type_,
feedback_)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CallBuiltin)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CallRuntime)
UNIMPLEMENTED_NODE(Call, receiver_mode_, target_type_, feedback_)
UNIMPLEMENTED_NODE(CallBuiltin)
UNIMPLEMENTED_NODE(CallRuntime)
UNIMPLEMENTED_NODE(CallWithArrayLike)
UNIMPLEMENTED_NODE(CallWithSpread)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CallKnownJSFunction)
UNIMPLEMENTED_NODE(CallKnownJSFunction)
UNIMPLEMENTED_NODE(Construct)
UNIMPLEMENTED_NODE(ConstructWithSpread)
UNIMPLEMENTED_NODE(ConvertReceiver, mode_)
@ -131,20 +125,20 @@ UNIMPLEMENTED_NODE(CreateShallowArrayLiteral)
UNIMPLEMENTED_NODE(CreateObjectLiteral)
UNIMPLEMENTED_NODE(CreateEmptyObjectLiteral)
UNIMPLEMENTED_NODE(CreateShallowObjectLiteral)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CreateFunctionContext)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CreateClosure)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(FastCreateClosure)
UNIMPLEMENTED_NODE(CreateFunctionContext)
UNIMPLEMENTED_NODE(CreateClosure)
UNIMPLEMENTED_NODE(FastCreateClosure)
UNIMPLEMENTED_NODE(CreateRegExpLiteral)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(DeleteProperty)
UNIMPLEMENTED_NODE(DeleteProperty)
UNIMPLEMENTED_NODE(ForInPrepare)
UNIMPLEMENTED_NODE(ForInNext)
UNIMPLEMENTED_NODE(GeneratorRestoreRegister)
UNIMPLEMENTED_NODE(GetIterator)
UNIMPLEMENTED_NODE(GetSecondReturnedValue)
UNIMPLEMENTED_NODE(GetTemplateObject)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(InitialValue)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(LoadTaggedField)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(LoadDoubleField)
UNIMPLEMENTED_NODE(InitialValue)
UNIMPLEMENTED_NODE(LoadTaggedField)
UNIMPLEMENTED_NODE(LoadDoubleField)
UNIMPLEMENTED_NODE(LoadTaggedElement)
UNIMPLEMENTED_NODE(LoadSignedIntDataViewElement, type_)
UNIMPLEMENTED_NODE(LoadDoubleDataViewElement)
@ -152,19 +146,19 @@ UNIMPLEMENTED_NODE(LoadSignedIntTypedArrayElement, elements_kind_)
UNIMPLEMENTED_NODE(LoadUnsignedIntTypedArrayElement, elements_kind_)
UNIMPLEMENTED_NODE(LoadDoubleTypedArrayElement, elements_kind_)
UNIMPLEMENTED_NODE(LoadDoubleElement)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(LoadGlobal)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(LoadNamedGeneric)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(LoadNamedFromSuperGeneric)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(SetNamedGeneric)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(DefineNamedOwnGeneric)
UNIMPLEMENTED_NODE(LoadGlobal)
UNIMPLEMENTED_NODE(LoadNamedGeneric)
UNIMPLEMENTED_NODE(LoadNamedFromSuperGeneric)
UNIMPLEMENTED_NODE(SetNamedGeneric)
UNIMPLEMENTED_NODE(DefineNamedOwnGeneric)
UNIMPLEMENTED_NODE(StoreInArrayLiteralGeneric)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(StoreGlobal)
UNIMPLEMENTED_NODE(StoreGlobal)
UNIMPLEMENTED_NODE(GetKeyedGeneric)
UNIMPLEMENTED_NODE(SetKeyedGeneric)
UNIMPLEMENTED_NODE(DefineKeyedOwnGeneric)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(Phi)
UNIMPLEMENTED_NODE(Phi)
void Phi::AllocateVregInPostProcess(MaglevVregAllocationState*) {}
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(RegisterInput)
UNIMPLEMENTED_NODE(RegisterInput)
UNIMPLEMENTED_NODE(CheckedSmiTagInt32)
UNIMPLEMENTED_NODE(CheckedSmiTagUint32)
UNIMPLEMENTED_NODE(UnsafeSmiTag)
@ -201,56 +195,56 @@ UNIMPLEMENTED_NODE(ToName)
UNIMPLEMENTED_NODE(ToNumberOrNumeric)
UNIMPLEMENTED_NODE(ToObject)
UNIMPLEMENTED_NODE(ToString)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(ConstantGapMove)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(GapMove)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(AssertInt32, condition_, reason_)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckDynamicValue)
UNIMPLEMENTED_NODE(ConstantGapMove)
UNIMPLEMENTED_NODE(GapMove)
UNIMPLEMENTED_NODE(AssertInt32, condition_, reason_)
UNIMPLEMENTED_NODE(CheckDynamicValue)
UNIMPLEMENTED_NODE(CheckInt32IsSmi)
UNIMPLEMENTED_NODE(CheckUint32IsSmi)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckHeapObject)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckInt32Condition, condition_, reason_)
UNIMPLEMENTED_NODE(CheckHeapObject)
UNIMPLEMENTED_NODE(CheckInt32Condition, condition_, reason_)
UNIMPLEMENTED_NODE(CheckJSArrayBounds)
UNIMPLEMENTED_NODE(CheckJSDataViewBounds, element_type_)
UNIMPLEMENTED_NODE(CheckJSObjectElementsBounds)
UNIMPLEMENTED_NODE(CheckJSTypedArrayBounds, elements_kind_)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckMaps, check_type_)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckMapsWithMigration, check_type_)
UNIMPLEMENTED_NODE(CheckMaps, check_type_)
UNIMPLEMENTED_NODE(CheckMapsWithMigration, check_type_)
UNIMPLEMENTED_NODE(CheckNumber)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckSmi)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckString, check_type_)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckSymbol, check_type_)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckValue)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(CheckInstanceType, check_type_)
UNIMPLEMENTED_NODE(CheckSmi)
UNIMPLEMENTED_NODE(CheckString, check_type_)
UNIMPLEMENTED_NODE(CheckSymbol, check_type_)
UNIMPLEMENTED_NODE(CheckValue)
UNIMPLEMENTED_NODE(CheckInstanceType, check_type_)
UNIMPLEMENTED_NODE(DebugBreak)
UNIMPLEMENTED_NODE(GeneratorStore)
UNIMPLEMENTED_NODE(JumpLoopPrologue, loop_depth_, unit_)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(StoreMap)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(StoreDoubleField)
UNIMPLEMENTED_NODE(StoreMap)
UNIMPLEMENTED_NODE(StoreDoubleField)
UNIMPLEMENTED_NODE(StoreSignedIntDataViewElement, type_)
UNIMPLEMENTED_NODE(StoreDoubleDataViewElement)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(StoreTaggedFieldNoWriteBarrier)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(StoreTaggedFieldWithWriteBarrier)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(IncreaseInterruptBudget)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(ReduceInterruptBudget)
UNIMPLEMENTED_NODE(StoreTaggedFieldNoWriteBarrier)
UNIMPLEMENTED_NODE(StoreTaggedFieldWithWriteBarrier)
UNIMPLEMENTED_NODE(IncreaseInterruptBudget)
UNIMPLEMENTED_NODE(ReduceInterruptBudget)
UNIMPLEMENTED_NODE(ThrowReferenceErrorIfHole)
UNIMPLEMENTED_NODE(ThrowSuperNotCalledIfHole)
UNIMPLEMENTED_NODE(ThrowSuperAlreadyCalledIfNotHole)
UNIMPLEMENTED_NODE(ThrowIfNotSuperConstructor)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(BranchIfRootConstant)
UNIMPLEMENTED_NODE(BranchIfRootConstant)
UNIMPLEMENTED_NODE(BranchIfToBooleanTrue)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(BranchIfReferenceCompare, operation_)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(BranchIfInt32Compare, operation_)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(BranchIfFloat64Compare, operation_)
UNIMPLEMENTED_NODE(BranchIfReferenceCompare, operation_)
UNIMPLEMENTED_NODE(BranchIfInt32Compare, operation_)
UNIMPLEMENTED_NODE(BranchIfFloat64Compare, operation_)
UNIMPLEMENTED_NODE(BranchIfUndefinedOrNull)
UNIMPLEMENTED_NODE(BranchIfJSReceiver)
UNIMPLEMENTED_NODE(Switch)
UNIMPLEMENTED_NODE(Jump)
UNIMPLEMENTED_NODE(JumpLoop)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(JumpToInlined)
UNIMPLEMENTED_NODE(JumpToInlined)
UNIMPLEMENTED_NODE(JumpFromInlined)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(Abort)
UNIMPLEMENTED_NODE(Abort)
UNIMPLEMENTED_NODE(Return)
UNIMPLEMENTED_NODE_WITH_PRINT_PARAMS(Deopt)
UNIMPLEMENTED_NODE(Deopt)
} // namespace maglev
} // namespace internal

View File

@ -196,6 +196,10 @@ void ValueNode::SetConstantLocation() {
.virtual_register());
}
// ---
// Check input value representation
// ---
ValueRepresentation ToValueRepresentation(MachineType type) {
switch (type.representation()) {
case MachineRepresentation::kTagged:
@ -334,6 +338,276 @@ void CallRuntime::VerifyInputs(MaglevGraphLabeller* graph_labeller) const {
}
}
// ---
// Print params
// ---
void SmiConstant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << value() << ")";
}
void Int32Constant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << value() << ")";
}
void Float64Constant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << value() << ")";
}
void Constant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << object_ << ")";
}
void DeleteProperty::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << LanguageMode2String(mode()) << ")";
}
void InitialValue::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << source().ToString() << ")";
}
void LoadGlobal::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << name() << ")";
}
void StoreGlobal::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << name() << ")";
}
void RegisterInput::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << input() << ")";
}
void RootConstant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << RootsTable::name(index()) << ")";
}
void CreateFunctionContext::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << *scope_info().object() << ", " << slot_count() << ")";
}
void FastCreateClosure::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << *shared_function_info().object() << ", "
<< feedback_cell().object() << ")";
}
void CreateClosure::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << *shared_function_info().object() << ", "
<< feedback_cell().object();
if (pretenured()) {
os << " [pretenured]";
}
os << ")";
}
void Abort::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << GetAbortReason(reason()) << ")";
}
void AssertInt32::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << condition_ << ")";
}
void CheckMaps::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(";
size_t map_count = maps().size();
if (map_count > 0) {
for (size_t i = 0; i < map_count - 1; ++i) {
os << maps().at(i) << ", ";
}
os << maps().at(map_count - 1);
}
os << ")";
}
void CheckValue::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << *value().object() << ")";
}
void CheckInstanceType::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << instance_type() << ")";
}
void CheckMapsWithMigration::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(";
size_t map_count = maps().size();
if (map_count > 0) {
for (size_t i = 0; i < map_count - 1; ++i) {
os << maps().at(i) << ", ";
}
os << maps().at(map_count - 1);
}
os << ")";
}
void CheckInt32Condition::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << condition_ << ")";
}
void LoadTaggedField::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(0x" << std::hex << offset() << std::dec << ")";
}
void LoadDoubleField::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(0x" << std::hex << offset() << std::dec << ")";
}
void StoreDoubleField::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << std::hex << offset() << std::dec << ")";
}
void StoreTaggedFieldNoWriteBarrier::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << std::hex << offset() << std::dec << ")";
}
void StoreMap::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << *map_.object() << ")";
}
void StoreTaggedFieldWithWriteBarrier::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << std::hex << offset() << std::dec << ")";
}
void LoadNamedGeneric::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << name_ << ")";
}
void LoadNamedFromSuperGeneric::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << name_ << ")";
}
void SetNamedGeneric::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << name_ << ")";
}
void DefineNamedOwnGeneric::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << name_ << ")";
}
void GapMove::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << source() << "" << target() << ")";
}
void ConstantGapMove::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(";
graph_labeller->PrintNodeLabel(os, node_);
os << "" << target() << ")";
}
void Float64Ieee754Unary::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "("
<< ExternalReferenceTable::NameOfIsolateIndependentAddress(
ieee_function_.address())
<< ")";
}
void Phi::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << owner().ToString() << ")";
}
void Call::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << receiver_mode_ << ", ";
switch (target_type_) {
case TargetType::kJSFunction:
os << "JSFunction";
break;
case TargetType::kAny:
os << "Any";
break;
}
os << ")";
}
void CallKnownJSFunction::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << function_.object() << ")";
}
void CallBuiltin::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << Builtins::name(builtin()) << ")";
}
void CallRuntime::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << Runtime::FunctionForId(function_id())->name << ")";
}
void IncreaseInterruptBudget::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << amount() << ")";
}
void ReduceInterruptBudget::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << amount() << ")";
}
void Deopt::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << DeoptimizeReasonToString(reason()) << ")";
}
void JumpToInlined::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << Brief(*unit()->shared_function_info().object()) << ")";
}
void BranchIfRootConstant::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << RootsTable::name(root_index_) << ")";
}
void BranchIfFloat64Compare::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << operation_ << ")";
}
void BranchIfInt32Compare::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << operation_ << ")";
}
void BranchIfReferenceCompare::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << operation_ << ")";
}
} // namespace maglev
} // namespace internal
} // namespace v8

View File

@ -3461,7 +3461,7 @@ class CheckDynamicValue : public FixedInputNodeT<2, CheckDynamicValue> {
void AllocateVreg(MaglevVregAllocationState*);
void GenerateCode(MaglevAssembler*, const ProcessingState&);
void PrintParams(std::ostream&, MaglevGraphLabeller*) const;
void PrintParams(std::ostream&, MaglevGraphLabeller*) const {}
};
class CheckSmi : public FixedInputNodeT<1, CheckSmi> {
@ -3479,7 +3479,7 @@ class CheckSmi : public FixedInputNodeT<1, CheckSmi> {
void AllocateVreg(MaglevVregAllocationState*);
void GenerateCode(MaglevAssembler*, const ProcessingState&);
void PrintParams(std::ostream&, MaglevGraphLabeller*) const;
void PrintParams(std::ostream&, MaglevGraphLabeller*) const {}
};
class CheckNumber : public FixedInputNodeT<1, CheckNumber> {
@ -3520,7 +3520,7 @@ class CheckHeapObject : public FixedInputNodeT<1, CheckHeapObject> {
void AllocateVreg(MaglevVregAllocationState*);
void GenerateCode(MaglevAssembler*, const ProcessingState&);
void PrintParams(std::ostream&, MaglevGraphLabeller*) const;
void PrintParams(std::ostream&, MaglevGraphLabeller*) const {}
};
class CheckSymbol : public FixedInputNodeT<1, CheckSymbol> {
@ -3539,7 +3539,7 @@ class CheckSymbol : public FixedInputNodeT<1, CheckSymbol> {
void AllocateVreg(MaglevVregAllocationState*);
void GenerateCode(MaglevAssembler*, const ProcessingState&);
void PrintParams(std::ostream&, MaglevGraphLabeller*) const;
void PrintParams(std::ostream&, MaglevGraphLabeller*) const {}
private:
const CheckType check_type_;
@ -3589,7 +3589,7 @@ class CheckString : public FixedInputNodeT<1, CheckString> {
void AllocateVreg(MaglevVregAllocationState*);
void GenerateCode(MaglevAssembler*, const ProcessingState&);
void PrintParams(std::ostream&, MaglevGraphLabeller*) const;
void PrintParams(std::ostream&, MaglevGraphLabeller*) const {}
private:
const CheckType check_type_;

View File

@ -211,10 +211,6 @@ Handle<Object> SmiConstant::DoReify(LocalIsolate* isolate) {
void SmiConstant::DoLoadToRegister(MaglevAssembler* masm, Register reg) {
__ Move(reg, Immediate(value()));
}
void SmiConstant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << value() << ")";
}
void Float64Constant::AllocateVreg(MaglevVregAllocationState* vreg_state) {
DefineAsConstant(vreg_state, this);
@ -228,10 +224,6 @@ void Float64Constant::DoLoadToRegister(MaglevAssembler* masm,
DoubleRegister reg) {
__ Move(reg, value());
}
void Float64Constant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << value() << ")";
}
void Constant::AllocateVreg(MaglevVregAllocationState* vreg_state) {
DefineAsConstant(vreg_state, this);
@ -244,10 +236,6 @@ void Constant::DoLoadToRegister(MaglevAssembler* masm, Register reg) {
Handle<Object> Constant::DoReify(LocalIsolate* isolate) {
return object_.object();
}
void Constant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << object_ << ")";
}
void DeleteProperty::AllocateVreg(MaglevVregAllocationState* vreg_state) {
using D = CallInterfaceDescriptorFor<Builtin::kDeleteProperty>::type;
@ -267,10 +255,6 @@ void DeleteProperty::GenerateCode(MaglevAssembler* masm,
__ CallBuiltin(Builtin::kDeleteProperty);
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void DeleteProperty::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << LanguageMode2String(mode()) << ")";
}
void GeneratorStore::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseAny(context_input());
@ -526,10 +510,6 @@ void InitialValue::GenerateCode(MaglevAssembler* masm,
const ProcessingState& state) {
// No-op, the value is already in the appropriate slot.
}
void InitialValue::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << source().ToString() << ")";
}
void LoadGlobal::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseFixed(context(), kContextRegister);
@ -562,10 +542,6 @@ void LoadGlobal::GenerateCode(MaglevAssembler* masm,
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void LoadGlobal::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << name() << ")";
}
void StoreGlobal::AllocateVreg(MaglevVregAllocationState* vreg_state) {
using D = CallInterfaceDescriptorFor<Builtin::kStoreGlobalIC>::type;
@ -586,10 +562,6 @@ void StoreGlobal::GenerateCode(MaglevAssembler* masm,
__ CallBuiltin(Builtin::kStoreGlobalIC);
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void StoreGlobal::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << name() << ")";
}
void RegisterInput::AllocateVreg(MaglevVregAllocationState* vreg_state) {
DefineAsFixed(vreg_state, this, input());
@ -598,10 +570,6 @@ void RegisterInput::GenerateCode(MaglevAssembler* masm,
const ProcessingState& state) {
// Nothing to be done, the value is already in the register.
}
void RegisterInput::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << input() << ")";
}
void RootConstant::AllocateVreg(MaglevVregAllocationState* vreg_state) {
DefineAsConstant(vreg_state, this);
@ -614,10 +582,6 @@ void RootConstant::DoLoadToRegister(MaglevAssembler* masm, Register reg) {
Handle<Object> RootConstant::DoReify(LocalIsolate* isolate) {
return isolate->root_handle(index());
}
void RootConstant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << RootsTable::name(index()) << ")";
}
void CreateEmptyArrayLiteral::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -760,10 +724,6 @@ void CreateFunctionContext::GenerateCode(MaglevAssembler* masm,
}
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void CreateFunctionContext::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << *scope_info().object() << ", " << slot_count() << ")";
}
void FastCreateClosure::AllocateVreg(MaglevVregAllocationState* vreg_state) {
using D = CallInterfaceDescriptorFor<Builtin::kFastNewClosure>::type;
@ -782,11 +742,6 @@ void FastCreateClosure::GenerateCode(MaglevAssembler* masm,
__ CallBuiltin(Builtin::kFastNewClosure);
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void FastCreateClosure::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << *shared_function_info().object() << ", "
<< feedback_cell().object() << ")";
}
void CreateClosure::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseFixed(context(), kContextRegister);
@ -800,15 +755,6 @@ void CreateClosure::GenerateCode(MaglevAssembler* masm,
__ Push(feedback_cell().object());
__ CallRuntime(function_id);
}
void CreateClosure::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << *shared_function_info().object() << ", "
<< feedback_cell().object();
if (pretenured()) {
os << " [pretenured]";
}
os << ")";
}
void CreateRegExpLiteral::AllocateVreg(MaglevVregAllocationState* vreg_state) {
DefineAsFixed(vreg_state, this, kReturnRegister0);
@ -848,10 +794,6 @@ void Abort::GenerateCode(MaglevAssembler* masm, const ProcessingState& state) {
__ CallRuntime(Runtime::kAbort, 1);
__ Trap();
}
void Abort::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << GetAbortReason(reason()) << ")";
}
namespace {
Condition ToCondition(AssertCondition cond) {
@ -889,10 +831,6 @@ void AssertInt32::GenerateCode(MaglevAssembler* masm,
__ cmpq(ToRegister(left_input()), ToRegister(right_input()));
__ Check(ToCondition(condition_), reason_);
}
void AssertInt32::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << condition_ << ")";
}
bool AnyMapIsHeapNumber(const ZoneHandleSet<Map>& maps) {
return std::any_of(maps.begin(), maps.end(),
@ -940,18 +878,7 @@ void CheckMaps::GenerateCode(MaglevAssembler* masm,
__ EmitEagerDeoptIf(not_equal, DeoptimizeReason::kWrongMap, this);
__ bind(&done);
}
void CheckMaps::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(";
size_t map_count = maps().size();
if (map_count > 0) {
for (size_t i = 0; i < map_count - 1; ++i) {
os << maps().at(i) << ", ";
}
os << maps().at(map_count - 1);
}
os << ")";
}
void CheckValue::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(target_input());
}
@ -962,10 +889,7 @@ void CheckValue::GenerateCode(MaglevAssembler* masm,
__ Cmp(target, value().object());
__ EmitEagerDeoptIf(not_equal, DeoptimizeReason::kWrongValue, this);
}
void CheckValue::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << *value().object() << ")";
}
void CheckDynamicValue::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(first_input());
UseRegister(second_input());
@ -978,9 +902,6 @@ void CheckDynamicValue::GenerateCode(MaglevAssembler* masm,
__ cmpl(first, second);
__ EmitEagerDeoptIf(not_equal, DeoptimizeReason::kWrongValue, this);
}
void CheckDynamicValue::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
}
void CheckSmi::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(receiver_input());
@ -992,8 +913,6 @@ void CheckSmi::GenerateCode(MaglevAssembler* masm,
__ EmitEagerDeoptIf(NegateCondition(is_smi), DeoptimizeReason::kNotASmi,
this);
}
void CheckSmi::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {}
void CheckNumber::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(receiver_input());
@ -1027,8 +946,7 @@ void CheckHeapObject::GenerateCode(MaglevAssembler* masm,
Condition is_smi = __ CheckSmi(object);
__ EmitEagerDeoptIf(is_smi, DeoptimizeReason::kSmi, this);
}
void CheckHeapObject::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {}
void CheckSymbol::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(receiver_input());
}
@ -1045,8 +963,6 @@ void CheckSymbol::GenerateCode(MaglevAssembler* masm,
__ CmpInstanceType(kScratchRegister, SYMBOL_TYPE);
__ EmitEagerDeoptIf(not_equal, DeoptimizeReason::kNotASymbol, this);
}
void CheckSymbol::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {}
void CheckInstanceType::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(receiver_input());
@ -1064,10 +980,6 @@ void CheckInstanceType::GenerateCode(MaglevAssembler* masm,
__ CmpInstanceType(kScratchRegister, instance_type());
__ EmitEagerDeoptIf(not_equal, DeoptimizeReason::kWrongInstanceType, this);
}
void CheckInstanceType::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << instance_type() << ")";
}
void CheckString::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(receiver_input());
@ -1086,8 +998,6 @@ void CheckString::GenerateCode(MaglevAssembler* masm,
LAST_STRING_TYPE);
__ EmitEagerDeoptIf(above, DeoptimizeReason::kNotAString, this);
}
void CheckString::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {}
void CheckMapsWithMigration::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -1208,18 +1118,6 @@ void CheckMapsWithMigration::GenerateCode(MaglevAssembler* masm,
__ bind(*done);
}
void CheckMapsWithMigration::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(";
size_t map_count = maps().size();
if (map_count > 0) {
for (size_t i = 0; i < map_count - 1; ++i) {
os << maps().at(i) << ", ";
}
os << maps().at(map_count - 1);
}
os << ")";
}
void CheckJSArrayBounds::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(receiver_input());
@ -1362,10 +1260,6 @@ void CheckInt32Condition::GenerateCode(MaglevAssembler* masm,
__ cmpq(ToRegister(left_input()), ToRegister(right_input()));
__ EmitEagerDeoptIf(NegateCondition(ToCondition(condition_)), reason_, this);
}
void CheckInt32Condition::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << condition_ << ")";
}
void DebugBreak::AllocateVreg(MaglevVregAllocationState* vreg_state) {}
void DebugBreak::GenerateCode(MaglevAssembler* masm,
@ -1567,10 +1461,6 @@ void LoadTaggedField::GenerateCode(MaglevAssembler* masm,
__ AssertNotSmi(object);
__ DecompressAnyTagged(ToRegister(result()), FieldOperand(object, offset()));
}
void LoadTaggedField::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(0x" << std::hex << offset() << std::dec << ")";
}
void LoadDoubleField::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(object_input());
@ -1587,10 +1477,6 @@ void LoadDoubleField::GenerateCode(MaglevAssembler* masm,
__ Movsd(ToDoubleRegister(result()),
FieldOperand(tmp, HeapNumber::kValueOffset));
}
void LoadDoubleField::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(0x" << std::hex << offset() << std::dec << ")";
}
void LoadTaggedElement::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(object_input());
@ -2012,10 +1898,7 @@ void StoreDoubleField::GenerateCode(MaglevAssembler* masm,
__ AssertNotSmi(tmp);
__ Movsd(FieldOperand(tmp, HeapNumber::kValueOffset), value);
}
void StoreDoubleField::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << std::hex << offset() << std::dec << ")";
}
void StoreTaggedFieldNoWriteBarrier::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
UseRegister(object_input());
@ -2029,10 +1912,6 @@ void StoreTaggedFieldNoWriteBarrier::GenerateCode(
__ AssertNotSmi(object);
__ StoreTaggedField(FieldOperand(object, offset()), value);
}
void StoreTaggedFieldNoWriteBarrier::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << std::hex << offset() << std::dec << ")";
}
void StoreMap::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseFixed(object_input(), WriteBarrierDescriptor::ObjectRegister());
@ -2087,10 +1966,6 @@ void StoreMap::GenerateCode(MaglevAssembler* masm,
&deferred_write_barrier->deferred_code_label);
__ bind(*done);
}
void StoreMap::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << *map_.object() << ")";
}
void StoreTaggedFieldWithWriteBarrier::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -2146,10 +2021,6 @@ void StoreTaggedFieldWithWriteBarrier::GenerateCode(
&deferred_write_barrier->deferred_code_label);
__ bind(*done);
}
void StoreTaggedFieldWithWriteBarrier::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << std::hex << offset() << std::dec << ")";
}
void LoadNamedGeneric::AllocateVreg(MaglevVregAllocationState* vreg_state) {
using D = LoadWithVectorDescriptor;
@ -2169,10 +2040,6 @@ void LoadNamedGeneric::GenerateCode(MaglevAssembler* masm,
__ CallBuiltin(Builtin::kLoadIC);
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void LoadNamedGeneric::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << name_ << ")";
}
void LoadNamedFromSuperGeneric::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -2197,10 +2064,6 @@ void LoadNamedFromSuperGeneric::GenerateCode(MaglevAssembler* masm,
__ CallBuiltin(Builtin::kLoadSuperIC);
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void LoadNamedFromSuperGeneric::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << name_ << ")";
}
void SetNamedGeneric::AllocateVreg(MaglevVregAllocationState* vreg_state) {
using D = CallInterfaceDescriptorFor<Builtin::kStoreIC>::type;
@ -2222,10 +2085,6 @@ void SetNamedGeneric::GenerateCode(MaglevAssembler* masm,
__ CallBuiltin(Builtin::kStoreIC);
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void SetNamedGeneric::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << name_ << ")";
}
void StringLength::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(object_input());
@ -2294,10 +2153,6 @@ void DefineNamedOwnGeneric::GenerateCode(MaglevAssembler* masm,
__ CallBuiltin(Builtin::kDefineNamedOwnIC);
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void DefineNamedOwnGeneric::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << name_ << ")";
}
void SetKeyedGeneric::AllocateVreg(MaglevVregAllocationState* vreg_state) {
using D = CallInterfaceDescriptorFor<Builtin::kKeyedStoreIC>::type;
@ -2424,10 +2279,7 @@ void GapMove::GenerateCode(MaglevAssembler* masm,
}
}
}
void GapMove::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << source() << "" << target() << ")";
}
void ConstantGapMove::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UNREACHABLE();
}
@ -2461,12 +2313,6 @@ void ConstantGapMove::GenerateCode(MaglevAssembler* masm,
UNREACHABLE();
}
}
void ConstantGapMove::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(";
graph_labeller->PrintNodeLabel(os, node_);
os << "" << target() << ")";
}
namespace {
@ -3126,14 +2972,6 @@ void Float64Ieee754Unary::GenerateCode(MaglevAssembler* masm,
__ CallCFunction(ieee_function_, 1);
}
void Float64Ieee754Unary::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "("
<< ExternalReferenceTable::NameOfIsolateIndependentAddress(
ieee_function_.address())
<< ")";
}
template <class Derived, Operation kOperation>
void Float64CompareNode<Derived, kOperation>::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -3300,10 +3138,6 @@ void Int32Constant::DoLoadToRegister(MaglevAssembler* masm, Register reg) {
Handle<Object> Int32Constant::DoReify(LocalIsolate* isolate) {
return isolate->factory()->NewNumber<AllocationType::kOld>(value());
}
void Int32Constant::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << value() << ")";
}
void Int32ToNumber::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(input());
@ -3966,10 +3800,6 @@ void Phi::AllocateVregInPostProcess(MaglevVregAllocationState* vreg_state) {
}
}
void Phi::GenerateCode(MaglevAssembler* masm, const ProcessingState& state) {}
void Phi::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << owner().ToString() << ")";
}
void Call::AllocateVreg(MaglevVregAllocationState* vreg_state) {
// TODO(leszeks): Consider splitting Call into with- and without-feedback
@ -4065,19 +3895,6 @@ void Call::GenerateCode(MaglevAssembler* masm, const ProcessingState& state) {
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void Call::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << receiver_mode_ << ", ";
switch (target_type_) {
case TargetType::kJSFunction:
os << "JSFunction";
break;
case TargetType::kAny:
os << "Any";
break;
}
os << ")";
}
void CallKnownJSFunction::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseAny(receiver());
@ -4118,10 +3935,6 @@ void CallKnownJSFunction::GenerateCode(MaglevAssembler* masm,
}
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void CallKnownJSFunction::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << function_.object() << ")";
}
void Construct::AllocateVreg(MaglevVregAllocationState* vreg_state) {
using D = Construct_WithFeedbackDescriptor;
@ -4257,10 +4070,6 @@ void CallBuiltin::GenerateCode(MaglevAssembler* masm,
__ CallBuiltin(builtin());
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void CallBuiltin::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << Builtins::name(builtin()) << ")";
}
void CallRuntime::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseFixed(context(), kContextRegister);
@ -4279,10 +4088,6 @@ void CallRuntime::GenerateCode(MaglevAssembler* masm,
// TODO(victorgomes): Not sure if this is needed for all runtime calls.
masm->DefineExceptionHandlerAndLazyDeoptPoint(this);
}
void CallRuntime::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << Runtime::FunctionForId(function_id())->name << ")";
}
void CallWithSpread::AllocateVreg(MaglevVregAllocationState* vreg_state) {
if (feedback_.IsValid()) {
@ -4466,10 +4271,6 @@ void IncreaseInterruptBudget::GenerateCode(MaglevAssembler* masm,
__ addl(FieldOperand(scratch, FeedbackCell::kInterruptBudgetOffset),
Immediate(amount()));
}
void IncreaseInterruptBudget::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << amount() << ")";
}
void ReduceInterruptBudget::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -4503,10 +4304,6 @@ void ReduceInterruptBudget::GenerateCode(MaglevAssembler* masm,
done, this);
__ bind(*done);
}
void ReduceInterruptBudget::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << amount() << ")";
}
void ThrowReferenceErrorIfHole::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -4649,10 +4446,6 @@ void Deopt::AllocateVreg(MaglevVregAllocationState* vreg_state) {}
void Deopt::GenerateCode(MaglevAssembler* masm, const ProcessingState& state) {
__ EmitEagerDeopt(this, reason());
}
void Deopt::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << DeoptimizeReasonToString(reason()) << ")";
}
void Switch::AllocateVreg(MaglevVregAllocationState* vreg_state) {
UseRegister(value());
@ -4687,11 +4480,6 @@ void JumpToInlined::GenerateCode(MaglevAssembler* masm,
__ jmp(target()->label());
}
}
void JumpToInlined::PrintParams(std::ostream& os,
MaglevGraphLabeller* graph_labeller) const {
os << "(" << Brief(*unit()->shared_function_info().object()) << ")";
}
void JumpFromInlined::AllocateVreg(MaglevVregAllocationState* vreg_state) {}
void JumpFromInlined::GenerateCode(MaglevAssembler* masm,
const ProcessingState& state) {
@ -4821,10 +4609,6 @@ void BranchIfRootConstant::GenerateCode(MaglevAssembler* masm,
__ CompareRoot(ToRegister(condition_input()), root_index());
__ Branch(equal, if_true(), if_false(), state.next_block());
}
void BranchIfRootConstant::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << RootsTable::name(root_index_) << ")";
}
void BranchIfUndefinedOrNull::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -4865,10 +4649,6 @@ void BranchIfInt32Compare::GenerateCode(MaglevAssembler* masm,
__ Branch(ConditionFor(operation_), if_true(), if_false(),
state.next_block());
}
void BranchIfFloat64Compare::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << operation_ << ")";
}
void BranchIfFloat64Compare::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -4884,10 +4664,6 @@ void BranchIfFloat64Compare::GenerateCode(MaglevAssembler* masm,
__ Branch(ConditionForFloat64(operation_), if_true(), if_false(),
state.next_block());
}
void BranchIfInt32Compare::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << operation_ << ")";
}
void BranchIfReferenceCompare::AllocateVreg(
MaglevVregAllocationState* vreg_state) {
@ -4902,10 +4678,6 @@ void BranchIfReferenceCompare::GenerateCode(MaglevAssembler* masm,
__ Branch(ConditionFor(operation_), if_true(), if_false(),
state.next_block());
}
void BranchIfReferenceCompare::PrintParams(
std::ostream& os, MaglevGraphLabeller* graph_labeller) const {
os << "(" << operation_ << ")";
}
void BranchIfToBooleanTrue::AllocateVreg(
MaglevVregAllocationState* vreg_state) {