Index: runtime/vm/intermediate_language.h |
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h |
index 4b2a4eaff1b7d41b1b1ca8d76c84944535ad468b..7a16660adfc1eacbf06da2cc44f12527c8407383 100644 |
--- a/runtime/vm/intermediate_language.h |
+++ b/runtime/vm/intermediate_language.h |
@@ -178,7 +178,6 @@ class CompileType : public ZoneAllocated { |
const AbstractType* type_; |
}; |
- |
class EffectSet : public ValueObject { |
public: |
enum Effects { |
@@ -207,7 +206,6 @@ class EffectSet : public ValueObject { |
intptr_t effects_; |
}; |
- |
class Value : public ZoneAllocated { |
public: |
// A forward iterator that allows removing the current value from the |
@@ -311,7 +309,6 @@ class Value : public ZoneAllocated { |
DISALLOW_COPY_AND_ASSIGN(Value); |
}; |
- |
// An embedded container with N elements of type T. Used (with partial |
// specialization for N=0) because embedded arrays cannot have size 0. |
template <typename T, intptr_t N> |
@@ -339,7 +336,6 @@ class EmbeddedArray { |
T elements_[N]; |
}; |
- |
template <typename T> |
class EmbeddedArray<T, 0> { |
public: |
@@ -356,7 +352,6 @@ class EmbeddedArray<T, 0> { |
} |
}; |
- |
// Instructions. |
// M is a single argument macro. It is applied to each concrete instruction |
@@ -569,7 +564,6 @@ FOR_EACH_ABSTRACT_INSTRUCTION(FORWARD_DECLARATION) |
#define PRINT_OPERANDS_TO_SUPPORT |
#endif // !PRODUCT |
- |
// Represents a range of class-ids for use in class checks and polymorphic |
// dispatches. |
struct CidRange : public ZoneAllocated { |
@@ -586,7 +580,6 @@ struct CidRange : public ZoneAllocated { |
intptr_t cid_end; |
}; |
- |
// Together with CidRange, this represents a mapping from a range of class-ids |
// to a method for a given selector (method name). Also can contain an |
// indication of how frequently a given method has been called at a call site. |
@@ -605,7 +598,6 @@ struct TargetInfo : public CidRange { |
intptr_t count; |
}; |
- |
// A set of class-ids, arranged in ranges. Used for the CheckClass |
// and PolymorphicInstanceCall instructions. |
class Cids : public ZoneAllocated { |
@@ -654,7 +646,6 @@ class Cids : public ZoneAllocated { |
DISALLOW_IMPLICIT_CONSTRUCTORS(Cids); |
}; |
- |
class CallTargets : public Cids { |
public: |
explicit CallTargets(Zone* zone) : Cids(zone) {} |
@@ -679,7 +670,6 @@ class CallTargets : public Cids { |
void MergeIntoRanges(); |
}; |
- |
class Instruction : public ZoneAllocated { |
public: |
#define DECLARE_TAG(type) k##type, |
@@ -985,14 +975,12 @@ class Instruction : public ZoneAllocated { |
DISALLOW_COPY_AND_ASSIGN(Instruction); |
}; |
- |
struct BranchLabels { |
Label* true_label; |
Label* false_label; |
Label* fall_through; |
}; |
- |
class PureInstruction : public Instruction { |
public: |
explicit PureInstruction(intptr_t deopt_id) : Instruction(deopt_id) {} |
@@ -1003,18 +991,15 @@ class PureInstruction : public Instruction { |
virtual EffectSet Effects() const { return EffectSet::None(); } |
}; |
- |
// Types to be used as ThrowsTrait for TemplateInstruction/TemplateDefinition. |
struct Throws { |
static const bool kCanThrow = true; |
}; |
- |
struct NoThrow { |
static const bool kCanThrow = false; |
}; |
- |
// Types to be used as CSETrait for TemplateInstruction/TemplateDefinition. |
// Pure instructions are those that allow CSE and have no effects and |
// no dependencies. |
@@ -1023,13 +1008,11 @@ struct Pure { |
typedef PureBase Base; |
}; |
- |
template <typename DefaultBase, typename PureBase> |
struct NoCSE { |
typedef DefaultBase Base; |
}; |
- |
template <intptr_t N, |
typename ThrowsTrait, |
template <typename Default, typename Pure> class CSETrait = NoCSE> |
@@ -1051,7 +1034,6 @@ class TemplateInstruction |
virtual void RawSetInputAt(intptr_t i, Value* value) { inputs_[i] = value; } |
}; |
- |
class MoveOperands : public ZoneAllocated { |
public: |
MoveOperands(Location dest, Location src) : dest_(dest), src_(src) {} |
@@ -1109,7 +1091,6 @@ class MoveOperands : public ZoneAllocated { |
DISALLOW_COPY_AND_ASSIGN(MoveOperands); |
}; |
- |
class ParallelMoveInstr : public TemplateInstruction<0, NoThrow> { |
public: |
ParallelMoveInstr() : moves_(4) {} |
@@ -1154,7 +1135,6 @@ class ParallelMoveInstr : public TemplateInstruction<0, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(ParallelMoveInstr); |
}; |
- |
// Basic block entries are administrative nodes. There is a distinguished |
// graph entry with no predecessor. Joins are the only nodes with multiple |
// predecessors. Targets are all other basic block entries. The types |
@@ -1338,7 +1318,6 @@ class BlockEntryInstr : public Instruction { |
DISALLOW_COPY_AND_ASSIGN(BlockEntryInstr); |
}; |
- |
class ForwardInstructionIterator : public ValueObject { |
public: |
explicit ForwardInstructionIterator(BlockEntryInstr* block_entry) |
@@ -1362,7 +1341,6 @@ class ForwardInstructionIterator : public ValueObject { |
Instruction* current_; |
}; |
- |
class BackwardInstructionIterator : public ValueObject { |
public: |
explicit BackwardInstructionIterator(BlockEntryInstr* block_entry) |
@@ -1386,7 +1364,6 @@ class BackwardInstructionIterator : public ValueObject { |
Instruction* current_; |
}; |
- |
class GraphEntryInstr : public BlockEntryInstr { |
public: |
GraphEntryInstr(const ParsedFunction& parsed_function, |
@@ -1469,7 +1446,6 @@ class GraphEntryInstr : public BlockEntryInstr { |
DISALLOW_COPY_AND_ASSIGN(GraphEntryInstr); |
}; |
- |
class JoinEntryInstr : public BlockEntryInstr { |
public: |
JoinEntryInstr(intptr_t block_id, intptr_t try_index, intptr_t deopt_id) |
@@ -1520,7 +1496,6 @@ class JoinEntryInstr : public BlockEntryInstr { |
DISALLOW_COPY_AND_ASSIGN(JoinEntryInstr); |
}; |
- |
class PhiIterator : public ValueObject { |
public: |
explicit PhiIterator(JoinEntryInstr* join) : phis_(join->phis()), index_(0) {} |
@@ -1539,7 +1514,6 @@ class PhiIterator : public ValueObject { |
intptr_t index_; |
}; |
- |
class TargetEntryInstr : public BlockEntryInstr { |
public: |
TargetEntryInstr(intptr_t block_id, intptr_t try_index, intptr_t deopt_id) |
@@ -1578,7 +1552,6 @@ class TargetEntryInstr : public BlockEntryInstr { |
DISALLOW_COPY_AND_ASSIGN(TargetEntryInstr); |
}; |
- |
class IndirectEntryInstr : public JoinEntryInstr { |
public: |
IndirectEntryInstr(intptr_t block_id, |
@@ -1598,7 +1571,6 @@ class IndirectEntryInstr : public JoinEntryInstr { |
const intptr_t indirect_id_; |
}; |
- |
class CatchBlockEntryInstr : public BlockEntryInstr { |
public: |
CatchBlockEntryInstr(TokenPosition handler_token_pos, |
@@ -1684,7 +1656,6 @@ class CatchBlockEntryInstr : public BlockEntryInstr { |
DISALLOW_COPY_AND_ASSIGN(CatchBlockEntryInstr); |
}; |
- |
// If the result of the allocation is not stored into any field, passed |
// as an argument or used in a phi then it can't alias with any other |
// SSA value. |
@@ -1737,7 +1708,6 @@ class AliasIdentity : public ValueObject { |
intptr_t value_; |
}; |
- |
// Abstract super-class of all instructions that define a value (Bind, Phi). |
class Definition : public Instruction { |
public: |
@@ -1818,7 +1788,6 @@ class Definition : public Instruction { |
bool HasOnlyUse(Value* use) const; |
bool HasOnlyInputUse(Value* use) const; |
- |
Value* input_use_list() const { return input_use_list_; } |
void set_input_use_list(Value* head) { input_use_list_ = head; } |
@@ -1897,7 +1866,6 @@ class Definition : public Instruction { |
DISALLOW_COPY_AND_ASSIGN(Definition); |
}; |
- |
// Change a value's definition after use lists have been computed. |
inline void Value::BindTo(Definition* def) { |
RemoveFromUseList(); |
@@ -1905,14 +1873,12 @@ inline void Value::BindTo(Definition* def) { |
def->AddInputUse(this); |
} |
- |
inline void Value::BindToEnvironment(Definition* def) { |
RemoveFromUseList(); |
set_definition(def); |
def->AddEnvUse(this); |
} |
- |
class PureDefinition : public Definition { |
public: |
explicit PureDefinition(intptr_t deopt_id) : Definition(deopt_id) {} |
@@ -1923,7 +1889,6 @@ class PureDefinition : public Definition { |
virtual EffectSet Effects() const { return EffectSet::None(); } |
}; |
- |
template <intptr_t N, |
typename ThrowsTrait, |
template <typename Impure, typename Pure> class CSETrait = NoCSE> |
@@ -1947,10 +1912,8 @@ class TemplateDefinition : public CSETrait<Definition, PureDefinition>::Base { |
virtual void RawSetInputAt(intptr_t i, Value* value) { inputs_[i] = value; } |
}; |
- |
class InductionVariableInfo; |
- |
class PhiInstr : public Definition { |
public: |
PhiInstr(JoinEntryInstr* block, intptr_t num_inputs) |
@@ -2050,7 +2013,6 @@ class PhiInstr : public Definition { |
DISALLOW_COPY_AND_ASSIGN(PhiInstr); |
}; |
- |
class ParameterInstr : public Definition { |
public: |
ParameterInstr(intptr_t index, |
@@ -2098,7 +2060,6 @@ class ParameterInstr : public Definition { |
DISALLOW_COPY_AND_ASSIGN(ParameterInstr); |
}; |
- |
class PushArgumentInstr : public TemplateDefinition<1, NoThrow> { |
public: |
explicit PushArgumentInstr(Value* value) { SetInputAt(0, value); } |
@@ -2123,12 +2084,10 @@ class PushArgumentInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(PushArgumentInstr); |
}; |
- |
inline Definition* Instruction::ArgumentAt(intptr_t index) const { |
return PushArgumentAt(index)->value()->definition(); |
} |
- |
class ReturnInstr : public TemplateInstruction<1, NoThrow> { |
public: |
ReturnInstr(TokenPosition token_pos, Value* value, intptr_t deopt_id) |
@@ -2157,7 +2116,6 @@ class ReturnInstr : public TemplateInstruction<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(ReturnInstr); |
}; |
- |
class ThrowInstr : public TemplateInstruction<0, Throws> { |
public: |
explicit ThrowInstr(TokenPosition token_pos, intptr_t deopt_id) |
@@ -2179,7 +2137,6 @@ class ThrowInstr : public TemplateInstruction<0, Throws> { |
DISALLOW_COPY_AND_ASSIGN(ThrowInstr); |
}; |
- |
class ReThrowInstr : public TemplateInstruction<0, Throws> { |
public: |
// 'catch_try_index' can be CatchClauseNode::kInvalidTryIndex if the |
@@ -2209,7 +2166,6 @@ class ReThrowInstr : public TemplateInstruction<0, Throws> { |
DISALLOW_COPY_AND_ASSIGN(ReThrowInstr); |
}; |
- |
class StopInstr : public TemplateInstruction<0, NoThrow> { |
public: |
explicit StopInstr(const char* message) : message_(message) { |
@@ -2234,7 +2190,6 @@ class StopInstr : public TemplateInstruction<0, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(StopInstr); |
}; |
- |
class GotoInstr : public TemplateInstruction<0, NoThrow> { |
public: |
explicit GotoInstr(JoinEntryInstr* entry, intptr_t deopt_id) |
@@ -2299,7 +2254,6 @@ class GotoInstr : public TemplateInstruction<0, NoThrow> { |
ParallelMoveInstr* parallel_move_; |
}; |
- |
// IndirectGotoInstr represents a dynamically computed jump. Only |
// IndirectEntryInstr targets are valid targets of an indirect goto. The |
// concrete target to jump to is given as a parameter to the indirect goto. |
@@ -2355,7 +2309,6 @@ class IndirectGotoInstr : public TemplateInstruction<1, NoThrow> { |
TypedData& offsets_; |
}; |
- |
class ComparisonInstr : public Definition { |
public: |
Value* left() const { return InputAt(0); } |
@@ -2430,7 +2383,6 @@ class ComparisonInstr : public Definition { |
DISALLOW_COPY_AND_ASSIGN(ComparisonInstr); |
}; |
- |
class PureComparison : public ComparisonInstr { |
public: |
virtual bool AllowsCSE() const { return true; } |
@@ -2443,7 +2395,6 @@ class PureComparison : public ComparisonInstr { |
: ComparisonInstr(token_pos, kind, deopt_id) {} |
}; |
- |
template <intptr_t N, |
typename ThrowsTrait, |
template <typename Impure, typename Pure> class CSETrait = NoCSE> |
@@ -2470,7 +2421,6 @@ class TemplateComparison |
virtual void RawSetInputAt(intptr_t i, Value* value) { inputs_[i] = value; } |
}; |
- |
class BranchInstr : public Instruction { |
public: |
explicit BranchInstr(ComparisonInstr* comparison, intptr_t deopt_id) |
@@ -2550,7 +2500,6 @@ class BranchInstr : public Instruction { |
DISALLOW_COPY_AND_ASSIGN(BranchInstr); |
}; |
- |
class DeoptimizeInstr : public TemplateInstruction<0, NoThrow, Pure> { |
public: |
DeoptimizeInstr(ICData::DeoptReasonId deopt_reason, intptr_t deopt_id) |
@@ -2568,7 +2517,6 @@ class DeoptimizeInstr : public TemplateInstruction<0, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(DeoptimizeInstr); |
}; |
- |
class RedefinitionInstr : public TemplateDefinition<1, NoThrow> { |
public: |
explicit RedefinitionInstr(Value* value) : constrained_type_(NULL) { |
@@ -2596,7 +2544,6 @@ class RedefinitionInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(RedefinitionInstr); |
}; |
- |
class ConstraintInstr : public TemplateDefinition<1, NoThrow> { |
public: |
ConstraintInstr(Value* value, Range* constraint) |
@@ -2637,7 +2584,6 @@ class ConstraintInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(ConstraintInstr); |
}; |
- |
class ConstantInstr : public TemplateDefinition<0, NoThrow, Pure> { |
public: |
ConstantInstr(const Object& value, |
@@ -2667,7 +2613,6 @@ class ConstantInstr : public TemplateDefinition<0, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(ConstantInstr); |
}; |
- |
// Merged ConstantInstr -> UnboxedXXX into UnboxedConstantInstr. |
// TODO(srdjan): Implemented currently for doubles only, should implement |
// for other unboxing instructions. |
@@ -2690,7 +2635,6 @@ class UnboxedConstantInstr : public ConstantInstr { |
DISALLOW_COPY_AND_ASSIGN(UnboxedConstantInstr); |
}; |
- |
class AssertAssignableInstr : public TemplateDefinition<3, Throws, Pure> { |
public: |
AssertAssignableInstr(TokenPosition token_pos, |
@@ -2750,7 +2694,6 @@ class AssertAssignableInstr : public TemplateDefinition<3, Throws, Pure> { |
DISALLOW_COPY_AND_ASSIGN(AssertAssignableInstr); |
}; |
- |
class AssertBooleanInstr : public TemplateDefinition<1, Throws, Pure> { |
public: |
AssertBooleanInstr(TokenPosition token_pos, Value* value, intptr_t deopt_id) |
@@ -2778,7 +2721,6 @@ class AssertBooleanInstr : public TemplateDefinition<1, Throws, Pure> { |
DISALLOW_COPY_AND_ASSIGN(AssertBooleanInstr); |
}; |
- |
// Denotes a special parameter, currently either the context of a closure |
// or the type arguments of a generic function. |
class SpecialParameterInstr : public TemplateDefinition<0, NoThrow> { |
@@ -2804,7 +2746,6 @@ class SpecialParameterInstr : public TemplateDefinition<0, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(SpecialParameterInstr); |
}; |
- |
struct ArgumentsInfo { |
ArgumentsInfo(intptr_t type_args_len, |
intptr_t pushed_argc, |
@@ -2824,7 +2765,6 @@ struct ArgumentsInfo { |
const Array& argument_names; |
}; |
- |
template <intptr_t kInputCount> |
class TemplateDartCall : public TemplateDefinition<kInputCount, Throws> { |
public: |
@@ -2867,7 +2807,6 @@ class TemplateDartCall : public TemplateDefinition<kInputCount, Throws> { |
DISALLOW_COPY_AND_ASSIGN(TemplateDartCall); |
}; |
- |
class ClosureCallInstr : public TemplateDartCall<1> { |
public: |
ClosureCallInstr(Value* function, |
@@ -2913,7 +2852,6 @@ class ClosureCallInstr : public TemplateDartCall<1> { |
DISALLOW_COPY_AND_ASSIGN(ClosureCallInstr); |
}; |
- |
class InstanceCallInstr : public TemplateDartCall<0> { |
public: |
InstanceCallInstr(TokenPosition token_pos, |
@@ -2999,7 +2937,6 @@ class InstanceCallInstr : public TemplateDartCall<0> { |
DISALLOW_COPY_AND_ASSIGN(InstanceCallInstr); |
}; |
- |
class PolymorphicInstanceCallInstr : public TemplateDefinition<0, Throws> { |
public: |
PolymorphicInstanceCallInstr(InstanceCallInstr* instance_call, |
@@ -3076,7 +3013,6 @@ class PolymorphicInstanceCallInstr : public TemplateDefinition<0, Throws> { |
DISALLOW_COPY_AND_ASSIGN(PolymorphicInstanceCallInstr); |
}; |
- |
class StrictCompareInstr : public TemplateComparison<2, NoThrow, Pure> { |
public: |
StrictCompareInstr(TokenPosition token_pos, |
@@ -3111,7 +3047,6 @@ class StrictCompareInstr : public TemplateComparison<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(StrictCompareInstr); |
}; |
- |
// Comparison instruction that is equivalent to the (left & right) == 0 |
// comparison pattern. |
class TestSmiInstr : public TemplateComparison<2, NoThrow, Pure> { |
@@ -3142,7 +3077,6 @@ class TestSmiInstr : public TemplateComparison<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(TestSmiInstr); |
}; |
- |
// Checks the input value cid against cids stored in a table and returns either |
// a result or deoptimizes. If the cid is not in the list and there is a deopt |
// id, then the instruction deoptimizes. If there is no deopt id, all the |
@@ -3190,7 +3124,6 @@ class TestCidsInstr : public TemplateComparison<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(TestCidsInstr); |
}; |
- |
class EqualityCompareInstr : public TemplateComparison<2, NoThrow, Pure> { |
public: |
EqualityCompareInstr(TokenPosition token_pos, |
@@ -3227,7 +3160,6 @@ class EqualityCompareInstr : public TemplateComparison<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(EqualityCompareInstr); |
}; |
- |
class RelationalOpInstr : public TemplateComparison<2, NoThrow, Pure> { |
public: |
RelationalOpInstr(TokenPosition token_pos, |
@@ -3264,7 +3196,6 @@ class RelationalOpInstr : public TemplateComparison<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(RelationalOpInstr); |
}; |
- |
// TODO(vegorov): ComparisonInstr should be switched to use IfTheElseInstr for |
// materialization of true and false constants. |
class IfThenElseInstr : public Definition { |
@@ -3347,7 +3278,6 @@ class IfThenElseInstr : public Definition { |
DISALLOW_COPY_AND_ASSIGN(IfThenElseInstr); |
}; |
- |
class StaticCallInstr : public TemplateDartCall<0> { |
public: |
StaticCallInstr(TokenPosition token_pos, |
@@ -3466,7 +3396,6 @@ class StaticCallInstr : public TemplateDartCall<0> { |
DISALLOW_COPY_AND_ASSIGN(StaticCallInstr); |
}; |
- |
class LoadLocalInstr : public TemplateDefinition<0, NoThrow> { |
public: |
LoadLocalInstr(const LocalVariable& local, TokenPosition token_pos) |
@@ -3499,7 +3428,6 @@ class LoadLocalInstr : public TemplateDefinition<0, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(LoadLocalInstr); |
}; |
- |
class DropTempsInstr : public Definition { |
public: |
DropTempsInstr(intptr_t num_temps, Value* value) |
@@ -3548,7 +3476,6 @@ class DropTempsInstr : public Definition { |
DISALLOW_COPY_AND_ASSIGN(DropTempsInstr); |
}; |
- |
class StoreLocalInstr : public TemplateDefinition<1, NoThrow> { |
public: |
StoreLocalInstr(const LocalVariable& local, |
@@ -3590,7 +3517,6 @@ class StoreLocalInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(StoreLocalInstr); |
}; |
- |
class NativeCallInstr : public TemplateDefinition<0, Throws> { |
public: |
explicit NativeCallInstr(NativeBodyNode* node) |
@@ -3650,7 +3576,6 @@ class NativeCallInstr : public TemplateDefinition<0, Throws> { |
DISALLOW_COPY_AND_ASSIGN(NativeCallInstr); |
}; |
- |
class DebugStepCheckInstr : public TemplateInstruction<0, NoThrow> { |
public: |
DebugStepCheckInstr(TokenPosition token_pos, |
@@ -3674,10 +3599,8 @@ class DebugStepCheckInstr : public TemplateInstruction<0, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(DebugStepCheckInstr); |
}; |
- |
enum StoreBarrierType { kNoStoreBarrier, kEmitStoreBarrier }; |
- |
class StoreInstanceFieldInstr : public TemplateDefinition<2, NoThrow> { |
public: |
StoreInstanceFieldInstr(const Field& field, |
@@ -3767,7 +3690,6 @@ class StoreInstanceFieldInstr : public TemplateDefinition<2, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(StoreInstanceFieldInstr); |
}; |
- |
class GuardFieldInstr : public TemplateInstruction<1, NoThrow, Pure> { |
public: |
GuardFieldInstr(Value* value, const Field& field, intptr_t deopt_id) |
@@ -3794,7 +3716,6 @@ class GuardFieldInstr : public TemplateInstruction<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(GuardFieldInstr); |
}; |
- |
class GuardFieldClassInstr : public GuardFieldInstr { |
public: |
GuardFieldClassInstr(Value* value, const Field& field, intptr_t deopt_id) |
@@ -3812,7 +3733,6 @@ class GuardFieldClassInstr : public GuardFieldInstr { |
DISALLOW_COPY_AND_ASSIGN(GuardFieldClassInstr); |
}; |
- |
class GuardFieldLengthInstr : public GuardFieldInstr { |
public: |
GuardFieldLengthInstr(Value* value, const Field& field, intptr_t deopt_id) |
@@ -3830,7 +3750,6 @@ class GuardFieldLengthInstr : public GuardFieldInstr { |
DISALLOW_COPY_AND_ASSIGN(GuardFieldLengthInstr); |
}; |
- |
class LoadStaticFieldInstr : public TemplateDefinition<1, NoThrow> { |
public: |
LoadStaticFieldInstr(Value* field_value, TokenPosition token_pos) |
@@ -3863,7 +3782,6 @@ class LoadStaticFieldInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(LoadStaticFieldInstr); |
}; |
- |
class StoreStaticFieldInstr : public TemplateDefinition<1, NoThrow> { |
public: |
StoreStaticFieldInstr(const Field& field, |
@@ -3962,7 +3880,6 @@ class LoadIndexedInstr : public TemplateDefinition<2, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(LoadIndexedInstr); |
}; |
- |
// Loads the specified number of code units from the given string, packing |
// multiple code units into a single datatype. In essence, this is a specialized |
// version of LoadIndexedInstr which accepts only string targets and can load |
@@ -4032,7 +3949,6 @@ class LoadCodeUnitsInstr : public TemplateDefinition<2, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(LoadCodeUnitsInstr); |
}; |
- |
class OneByteStringFromCharCodeInstr |
: public TemplateDefinition<1, NoThrow, Pure> { |
public: |
@@ -4053,7 +3969,6 @@ class OneByteStringFromCharCodeInstr |
DISALLOW_COPY_AND_ASSIGN(OneByteStringFromCharCodeInstr); |
}; |
- |
class StringToCharCodeInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
StringToCharCodeInstr(Value* str, intptr_t cid) : cid_(cid) { |
@@ -4078,7 +3993,6 @@ class StringToCharCodeInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(StringToCharCodeInstr); |
}; |
- |
class StringInterpolateInstr : public TemplateDefinition<1, Throws> { |
public: |
StringInterpolateInstr(Value* value, |
@@ -4111,7 +4025,6 @@ class StringInterpolateInstr : public TemplateDefinition<1, Throws> { |
DISALLOW_COPY_AND_ASSIGN(StringInterpolateInstr); |
}; |
- |
class StoreIndexedInstr : public TemplateDefinition<3, NoThrow> { |
public: |
StoreIndexedInstr(Value* array, |
@@ -4166,7 +4079,6 @@ class StoreIndexedInstr : public TemplateDefinition<3, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(StoreIndexedInstr); |
}; |
- |
// Note overrideable, built-in: value ? false : true. |
class BooleanNegateInstr : public TemplateDefinition<1, NoThrow> { |
public: |
@@ -4187,7 +4099,6 @@ class BooleanNegateInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(BooleanNegateInstr); |
}; |
- |
class InstanceOfInstr : public TemplateDefinition<3, Throws> { |
public: |
InstanceOfInstr(TokenPosition token_pos, |
@@ -4228,7 +4139,6 @@ class InstanceOfInstr : public TemplateDefinition<3, Throws> { |
DISALLOW_COPY_AND_ASSIGN(InstanceOfInstr); |
}; |
- |
class AllocateObjectInstr : public TemplateDefinition<0, NoThrow> { |
public: |
AllocateObjectInstr(TokenPosition token_pos, |
@@ -4278,7 +4188,6 @@ class AllocateObjectInstr : public TemplateDefinition<0, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(AllocateObjectInstr); |
}; |
- |
class AllocateUninitializedContextInstr |
: public TemplateDefinition<0, NoThrow> { |
public: |
@@ -4311,7 +4220,6 @@ class AllocateUninitializedContextInstr |
DISALLOW_COPY_AND_ASSIGN(AllocateUninitializedContextInstr); |
}; |
- |
// This instruction captures the state of the object which had its allocation |
// removed during the AllocationSinking pass. |
// It does not produce any real code only deoptimization information. |
@@ -4414,7 +4322,6 @@ class MaterializeObjectInstr : public Definition { |
DISALLOW_COPY_AND_ASSIGN(MaterializeObjectInstr); |
}; |
- |
class CreateArrayInstr : public TemplateDefinition<2, Throws> { |
public: |
CreateArrayInstr(TokenPosition token_pos, |
@@ -4453,7 +4360,6 @@ class CreateArrayInstr : public TemplateDefinition<2, Throws> { |
DISALLOW_COPY_AND_ASSIGN(CreateArrayInstr); |
}; |
- |
// Note: this instruction must not be moved without the indexed access that |
// depends on it (e.g. out of loops). GC may cause collect |
// the array while the external data-array is still accessed. |
@@ -4489,7 +4395,6 @@ class LoadUntaggedInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(LoadUntaggedInstr); |
}; |
- |
class LoadClassIdInstr : public TemplateDefinition<1, NoThrow> { |
public: |
explicit LoadClassIdInstr(Value* object) { SetInputAt(0, object); } |
@@ -4513,7 +4418,6 @@ class LoadClassIdInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(LoadClassIdInstr); |
}; |
- |
class LoadFieldInstr : public TemplateDefinition<1, NoThrow> { |
public: |
LoadFieldInstr(Value* instance, |
@@ -4623,7 +4527,6 @@ class LoadFieldInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(LoadFieldInstr); |
}; |
- |
class InstantiateTypeInstr : public TemplateDefinition<2, Throws> { |
public: |
InstantiateTypeInstr(TokenPosition token_pos, |
@@ -4657,7 +4560,6 @@ class InstantiateTypeInstr : public TemplateDefinition<2, Throws> { |
DISALLOW_COPY_AND_ASSIGN(InstantiateTypeInstr); |
}; |
- |
class InstantiateTypeArgumentsInstr : public TemplateDefinition<2, Throws> { |
public: |
InstantiateTypeArgumentsInstr(TokenPosition token_pos, |
@@ -4699,7 +4601,6 @@ class InstantiateTypeArgumentsInstr : public TemplateDefinition<2, Throws> { |
DISALLOW_COPY_AND_ASSIGN(InstantiateTypeArgumentsInstr); |
}; |
- |
class AllocateContextInstr : public TemplateDefinition<0, NoThrow> { |
public: |
AllocateContextInstr(TokenPosition token_pos, intptr_t num_context_variables) |
@@ -4724,7 +4625,6 @@ class AllocateContextInstr : public TemplateDefinition<0, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(AllocateContextInstr); |
}; |
- |
class InitStaticFieldInstr : public TemplateInstruction<1, Throws> { |
public: |
InitStaticFieldInstr(Value* input, const Field& field, intptr_t deopt_id) |
@@ -4748,7 +4648,6 @@ class InitStaticFieldInstr : public TemplateInstruction<1, Throws> { |
DISALLOW_COPY_AND_ASSIGN(InitStaticFieldInstr); |
}; |
- |
class CloneContextInstr : public TemplateDefinition<1, NoThrow> { |
public: |
CloneContextInstr(TokenPosition token_pos, |
@@ -4774,7 +4673,6 @@ class CloneContextInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(CloneContextInstr); |
}; |
- |
class CheckEitherNonSmiInstr : public TemplateInstruction<2, NoThrow, Pure> { |
public: |
CheckEitherNonSmiInstr(Value* left, Value* right, intptr_t deopt_id) |
@@ -4802,7 +4700,6 @@ class CheckEitherNonSmiInstr : public TemplateInstruction<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(CheckEitherNonSmiInstr); |
}; |
- |
class Boxing : public AllStatic { |
public: |
static bool Supports(Representation rep) { |
@@ -4862,7 +4759,6 @@ class Boxing : public AllStatic { |
} |
}; |
- |
class BoxInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
static BoxInstr* Create(Representation from, Value* value); |
@@ -4905,7 +4801,6 @@ class BoxInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(BoxInstr); |
}; |
- |
class BoxIntegerInstr : public BoxInstr { |
public: |
BoxIntegerInstr(Representation representation, Value* value) |
@@ -4926,7 +4821,6 @@ class BoxIntegerInstr : public BoxInstr { |
DISALLOW_COPY_AND_ASSIGN(BoxIntegerInstr); |
}; |
- |
class BoxInteger32Instr : public BoxIntegerInstr { |
public: |
BoxInteger32Instr(Representation representation, Value* value) |
@@ -4938,7 +4832,6 @@ class BoxInteger32Instr : public BoxIntegerInstr { |
DISALLOW_COPY_AND_ASSIGN(BoxInteger32Instr); |
}; |
- |
class BoxInt32Instr : public BoxInteger32Instr { |
public: |
explicit BoxInt32Instr(Value* value) |
@@ -4950,7 +4843,6 @@ class BoxInt32Instr : public BoxInteger32Instr { |
DISALLOW_COPY_AND_ASSIGN(BoxInt32Instr); |
}; |
- |
class BoxUint32Instr : public BoxInteger32Instr { |
public: |
explicit BoxUint32Instr(Value* value) |
@@ -4962,7 +4854,6 @@ class BoxUint32Instr : public BoxInteger32Instr { |
DISALLOW_COPY_AND_ASSIGN(BoxUint32Instr); |
}; |
- |
class BoxInt64Instr : public BoxIntegerInstr { |
public: |
explicit BoxInt64Instr(Value* value) : BoxIntegerInstr(kUnboxedMint, value) {} |
@@ -4975,7 +4866,6 @@ class BoxInt64Instr : public BoxIntegerInstr { |
DISALLOW_COPY_AND_ASSIGN(BoxInt64Instr); |
}; |
- |
class UnboxInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
static UnboxInstr* Create(Representation to, Value* value, intptr_t deopt_id); |
@@ -5027,7 +4917,6 @@ class UnboxInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(UnboxInstr); |
}; |
- |
class UnboxIntegerInstr : public UnboxInstr { |
public: |
enum TruncationMode { kTruncate, kNoTruncation }; |
@@ -5061,7 +4950,6 @@ class UnboxIntegerInstr : public UnboxInstr { |
DISALLOW_COPY_AND_ASSIGN(UnboxIntegerInstr); |
}; |
- |
class UnboxInteger32Instr : public UnboxIntegerInstr { |
public: |
UnboxInteger32Instr(Representation representation, |
@@ -5076,7 +4964,6 @@ class UnboxInteger32Instr : public UnboxIntegerInstr { |
DISALLOW_COPY_AND_ASSIGN(UnboxInteger32Instr); |
}; |
- |
class UnboxUint32Instr : public UnboxInteger32Instr { |
public: |
UnboxUint32Instr(Value* value, intptr_t deopt_id) |
@@ -5094,7 +4981,6 @@ class UnboxUint32Instr : public UnboxInteger32Instr { |
DISALLOW_COPY_AND_ASSIGN(UnboxUint32Instr); |
}; |
- |
class UnboxInt32Instr : public UnboxInteger32Instr { |
public: |
UnboxInt32Instr(TruncationMode truncation_mode, |
@@ -5114,7 +5000,6 @@ class UnboxInt32Instr : public UnboxInteger32Instr { |
DISALLOW_COPY_AND_ASSIGN(UnboxInt32Instr); |
}; |
- |
class UnboxInt64Instr : public UnboxIntegerInstr { |
public: |
UnboxInt64Instr(Value* value, intptr_t deopt_id) |
@@ -5128,13 +5013,11 @@ class UnboxInt64Instr : public UnboxIntegerInstr { |
DISALLOW_COPY_AND_ASSIGN(UnboxInt64Instr); |
}; |
- |
bool Definition::IsMintDefinition() { |
return (Type()->ToCid() == kMintCid) || IsBinaryMintOp() || IsUnaryMintOp() || |
IsShiftMintOp() || IsBoxInt64() || IsUnboxInt64(); |
} |
- |
class MathUnaryInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
enum MathUnaryKind { |
@@ -5184,7 +5067,6 @@ class MathUnaryInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(MathUnaryInstr); |
}; |
- |
// Calls into the runtime and performs a case-insensitive comparison of the |
// UTF16 strings (i.e. TwoByteString or ExternalTwoByteString) located at |
// str[lhs_index:lhs_index + length] and str[rhs_index:rhs_index + length]. |
@@ -5235,7 +5117,6 @@ class CaseInsensitiveCompareUC16Instr |
DISALLOW_COPY_AND_ASSIGN(CaseInsensitiveCompareUC16Instr); |
}; |
- |
// Represents Math's static min and max functions. |
class MathMinMaxInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
@@ -5294,7 +5175,6 @@ class MathMinMaxInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(MathMinMaxInstr); |
}; |
- |
class BinaryDoubleOpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
BinaryDoubleOpInstr(Token::Kind op_kind, |
@@ -5347,7 +5227,6 @@ class BinaryDoubleOpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(BinaryDoubleOpInstr); |
}; |
- |
class DoubleTestOpInstr : public TemplateComparison<1, NoThrow, Pure> { |
public: |
DoubleTestOpInstr(MethodRecognizer::Kind op_kind, |
@@ -5390,7 +5269,6 @@ class DoubleTestOpInstr : public TemplateComparison<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(DoubleTestOpInstr); |
}; |
- |
class BinaryFloat32x4OpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
BinaryFloat32x4OpInstr(Token::Kind op_kind, |
@@ -5437,7 +5315,6 @@ class BinaryFloat32x4OpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(BinaryFloat32x4OpInstr); |
}; |
- |
class Simd32x4ShuffleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Simd32x4ShuffleInstr(MethodRecognizer::Kind op_kind, |
@@ -5506,7 +5383,6 @@ class Simd32x4ShuffleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Simd32x4ShuffleInstr); |
}; |
- |
class Simd32x4ShuffleMixInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
Simd32x4ShuffleMixInstr(MethodRecognizer::Kind op_kind, |
@@ -5568,7 +5444,6 @@ class Simd32x4ShuffleMixInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Simd32x4ShuffleMixInstr); |
}; |
- |
class Float32x4ConstructorInstr : public TemplateDefinition<4, NoThrow, Pure> { |
public: |
Float32x4ConstructorInstr(Value* value0, |
@@ -5614,7 +5489,6 @@ class Float32x4ConstructorInstr : public TemplateDefinition<4, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4ConstructorInstr); |
}; |
- |
class Float32x4SplatInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Float32x4SplatInstr(Value* value, intptr_t deopt_id) |
@@ -5650,7 +5524,6 @@ class Float32x4SplatInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4SplatInstr); |
}; |
- |
// TODO(vegorov) replace with UnboxedConstantInstr. |
class Float32x4ZeroInstr : public TemplateDefinition<0, NoThrow, Pure> { |
public: |
@@ -5669,7 +5542,6 @@ class Float32x4ZeroInstr : public TemplateDefinition<0, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4ZeroInstr); |
}; |
- |
class Float32x4ComparisonInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
Float32x4ComparisonInstr(MethodRecognizer::Kind op_kind, |
@@ -5716,7 +5588,6 @@ class Float32x4ComparisonInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4ComparisonInstr); |
}; |
- |
class Float32x4MinMaxInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
Float32x4MinMaxInstr(MethodRecognizer::Kind op_kind, |
@@ -5763,7 +5634,6 @@ class Float32x4MinMaxInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4MinMaxInstr); |
}; |
- |
class Float32x4ScaleInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
Float32x4ScaleInstr(MethodRecognizer::Kind op_kind, |
@@ -5813,7 +5683,6 @@ class Float32x4ScaleInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4ScaleInstr); |
}; |
- |
class Float32x4SqrtInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Float32x4SqrtInstr(MethodRecognizer::Kind op_kind, |
@@ -5857,7 +5726,6 @@ class Float32x4SqrtInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4SqrtInstr); |
}; |
- |
// TODO(vegorov) rename to Unary to match naming convention for arithmetic. |
class Float32x4ZeroArgInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
@@ -5902,7 +5770,6 @@ class Float32x4ZeroArgInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4ZeroArgInstr); |
}; |
- |
class Float32x4ClampInstr : public TemplateDefinition<3, NoThrow, Pure> { |
public: |
Float32x4ClampInstr(Value* left, |
@@ -5945,7 +5812,6 @@ class Float32x4ClampInstr : public TemplateDefinition<3, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4ClampInstr); |
}; |
- |
class Float32x4WithInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
Float32x4WithInstr(MethodRecognizer::Kind op_kind, |
@@ -5995,7 +5861,6 @@ class Float32x4WithInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4WithInstr); |
}; |
- |
class Simd64x2ShuffleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Simd64x2ShuffleInstr(MethodRecognizer::Kind op_kind, |
@@ -6056,7 +5921,6 @@ class Simd64x2ShuffleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Simd64x2ShuffleInstr); |
}; |
- |
class Float32x4ToInt32x4Instr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Float32x4ToInt32x4Instr(Value* left, intptr_t deopt_id) |
@@ -6092,7 +5956,6 @@ class Float32x4ToInt32x4Instr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4ToInt32x4Instr); |
}; |
- |
class Float32x4ToFloat64x2Instr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Float32x4ToFloat64x2Instr(Value* left, intptr_t deopt_id) |
@@ -6128,7 +5991,6 @@ class Float32x4ToFloat64x2Instr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float32x4ToFloat64x2Instr); |
}; |
- |
class Float64x2ToFloat32x4Instr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Float64x2ToFloat32x4Instr(Value* left, intptr_t deopt_id) |
@@ -6164,7 +6026,6 @@ class Float64x2ToFloat32x4Instr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float64x2ToFloat32x4Instr); |
}; |
- |
class Float64x2ConstructorInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
Float64x2ConstructorInstr(Value* value0, Value* value1, intptr_t deopt_id) |
@@ -6202,7 +6063,6 @@ class Float64x2ConstructorInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float64x2ConstructorInstr); |
}; |
- |
class Float64x2SplatInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Float64x2SplatInstr(Value* value, intptr_t deopt_id) |
@@ -6238,7 +6098,6 @@ class Float64x2SplatInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float64x2SplatInstr); |
}; |
- |
class Float64x2ZeroInstr : public TemplateDefinition<0, NoThrow, Pure> { |
public: |
Float64x2ZeroInstr() {} |
@@ -6256,7 +6115,6 @@ class Float64x2ZeroInstr : public TemplateDefinition<0, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float64x2ZeroInstr); |
}; |
- |
// TODO(vegorov) rename to Unary to match arithmetic instructions. |
class Float64x2ZeroArgInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
@@ -6307,7 +6165,6 @@ class Float64x2ZeroArgInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float64x2ZeroArgInstr); |
}; |
- |
class Float64x2OneArgInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
Float64x2OneArgInstr(MethodRecognizer::Kind op_kind, |
@@ -6362,7 +6219,6 @@ class Float64x2OneArgInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Float64x2OneArgInstr); |
}; |
- |
class Int32x4ConstructorInstr : public TemplateDefinition<4, NoThrow, Pure> { |
public: |
Int32x4ConstructorInstr(Value* value0, |
@@ -6408,7 +6264,6 @@ class Int32x4ConstructorInstr : public TemplateDefinition<4, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Int32x4ConstructorInstr); |
}; |
- |
class Int32x4BoolConstructorInstr |
: public TemplateDefinition<4, NoThrow, Pure> { |
public: |
@@ -6455,7 +6310,6 @@ class Int32x4BoolConstructorInstr |
DISALLOW_COPY_AND_ASSIGN(Int32x4BoolConstructorInstr); |
}; |
- |
class Int32x4GetFlagInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Int32x4GetFlagInstr(MethodRecognizer::Kind op_kind, |
@@ -6499,7 +6353,6 @@ class Int32x4GetFlagInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Int32x4GetFlagInstr); |
}; |
- |
class Simd32x4GetSignMaskInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Simd32x4GetSignMaskInstr(MethodRecognizer::Kind op_kind, |
@@ -6547,7 +6400,6 @@ class Simd32x4GetSignMaskInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Simd32x4GetSignMaskInstr); |
}; |
- |
class Int32x4SelectInstr : public TemplateDefinition<3, NoThrow, Pure> { |
public: |
Int32x4SelectInstr(Value* mask, |
@@ -6593,7 +6445,6 @@ class Int32x4SelectInstr : public TemplateDefinition<3, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Int32x4SelectInstr); |
}; |
- |
class Int32x4SetFlagInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
Int32x4SetFlagInstr(MethodRecognizer::Kind op_kind, |
@@ -6643,7 +6494,6 @@ class Int32x4SetFlagInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Int32x4SetFlagInstr); |
}; |
- |
class Int32x4ToFloat32x4Instr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
Int32x4ToFloat32x4Instr(Value* left, intptr_t deopt_id) |
@@ -6679,7 +6529,6 @@ class Int32x4ToFloat32x4Instr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Int32x4ToFloat32x4Instr); |
}; |
- |
class BinaryInt32x4OpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
BinaryInt32x4OpInstr(Token::Kind op_kind, |
@@ -6726,7 +6575,6 @@ class BinaryInt32x4OpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(BinaryInt32x4OpInstr); |
}; |
- |
class BinaryFloat64x2OpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
BinaryFloat64x2OpInstr(Token::Kind op_kind, |
@@ -6773,7 +6621,6 @@ class BinaryFloat64x2OpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(BinaryFloat64x2OpInstr); |
}; |
- |
class UnaryIntegerOpInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
UnaryIntegerOpInstr(Token::Kind op_kind, Value* value, intptr_t deopt_id) |
@@ -6811,7 +6658,6 @@ class UnaryIntegerOpInstr : public TemplateDefinition<1, NoThrow, Pure> { |
const Token::Kind op_kind_; |
}; |
- |
// Handles both Smi operations: BIT_OR and NEGATE. |
class UnarySmiOpInstr : public UnaryIntegerOpInstr { |
public: |
@@ -6830,7 +6676,6 @@ class UnarySmiOpInstr : public UnaryIntegerOpInstr { |
DISALLOW_COPY_AND_ASSIGN(UnarySmiOpInstr); |
}; |
- |
class UnaryUint32OpInstr : public UnaryIntegerOpInstr { |
public: |
UnaryUint32OpInstr(Token::Kind op_kind, Value* value, intptr_t deopt_id) |
@@ -6855,7 +6700,6 @@ class UnaryUint32OpInstr : public UnaryIntegerOpInstr { |
DISALLOW_COPY_AND_ASSIGN(UnaryUint32OpInstr); |
}; |
- |
class UnaryMintOpInstr : public UnaryIntegerOpInstr { |
public: |
UnaryMintOpInstr(Token::Kind op_kind, Value* value, intptr_t deopt_id) |
@@ -6880,7 +6724,6 @@ class UnaryMintOpInstr : public UnaryIntegerOpInstr { |
DISALLOW_COPY_AND_ASSIGN(UnaryMintOpInstr); |
}; |
- |
class CheckedSmiOpInstr : public TemplateDefinition<2, Throws> { |
public: |
CheckedSmiOpInstr(Token::Kind op_kind, |
@@ -6914,7 +6757,6 @@ class CheckedSmiOpInstr : public TemplateDefinition<2, Throws> { |
DISALLOW_COPY_AND_ASSIGN(CheckedSmiOpInstr); |
}; |
- |
class CheckedSmiComparisonInstr : public TemplateComparison<2, Throws> { |
public: |
CheckedSmiComparisonInstr(Token::Kind op_kind, |
@@ -6969,7 +6811,6 @@ class CheckedSmiComparisonInstr : public TemplateComparison<2, Throws> { |
DISALLOW_COPY_AND_ASSIGN(CheckedSmiComparisonInstr); |
}; |
- |
class BinaryIntegerOpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
BinaryIntegerOpInstr(Token::Kind op_kind, |
@@ -7021,7 +6862,6 @@ class BinaryIntegerOpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
virtual intptr_t DeoptimizationTarget() const { return GetDeoptId(); } |
- |
PRINT_OPERANDS_TO_SUPPORT |
DEFINE_INSTRUCTION_TYPE_CHECK(BinaryIntegerOp) |
@@ -7040,7 +6880,6 @@ class BinaryIntegerOpInstr : public TemplateDefinition<2, NoThrow, Pure> { |
bool is_truncating_; |
}; |
- |
class BinarySmiOpInstr : public BinaryIntegerOpInstr { |
public: |
BinarySmiOpInstr(Token::Kind op_kind, |
@@ -7065,7 +6904,6 @@ class BinarySmiOpInstr : public BinaryIntegerOpInstr { |
DISALLOW_COPY_AND_ASSIGN(BinarySmiOpInstr); |
}; |
- |
class BinaryInt32OpInstr : public BinaryIntegerOpInstr { |
public: |
BinaryInt32OpInstr(Token::Kind op_kind, |
@@ -7122,7 +6960,6 @@ class BinaryInt32OpInstr : public BinaryIntegerOpInstr { |
DISALLOW_COPY_AND_ASSIGN(BinaryInt32OpInstr); |
}; |
- |
class BinaryUint32OpInstr : public BinaryIntegerOpInstr { |
public: |
BinaryUint32OpInstr(Token::Kind op_kind, |
@@ -7150,7 +6987,6 @@ class BinaryUint32OpInstr : public BinaryIntegerOpInstr { |
DISALLOW_COPY_AND_ASSIGN(BinaryUint32OpInstr); |
}; |
- |
class ShiftUint32OpInstr : public BinaryIntegerOpInstr { |
public: |
ShiftUint32OpInstr(Token::Kind op_kind, |
@@ -7178,7 +7014,6 @@ class ShiftUint32OpInstr : public BinaryIntegerOpInstr { |
DISALLOW_COPY_AND_ASSIGN(ShiftUint32OpInstr); |
}; |
- |
class BinaryMintOpInstr : public BinaryIntegerOpInstr { |
public: |
BinaryMintOpInstr(Token::Kind op_kind, |
@@ -7226,7 +7061,6 @@ class BinaryMintOpInstr : public BinaryIntegerOpInstr { |
DISALLOW_COPY_AND_ASSIGN(BinaryMintOpInstr); |
}; |
- |
class ShiftMintOpInstr : public BinaryIntegerOpInstr { |
public: |
ShiftMintOpInstr(Token::Kind op_kind, |
@@ -7272,7 +7106,6 @@ class ShiftMintOpInstr : public BinaryIntegerOpInstr { |
DISALLOW_COPY_AND_ASSIGN(ShiftMintOpInstr); |
}; |
- |
// Handles only NEGATE. |
class UnaryDoubleOpInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
@@ -7313,7 +7146,6 @@ class UnaryDoubleOpInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(UnaryDoubleOpInstr); |
}; |
- |
class CheckStackOverflowInstr : public TemplateInstruction<0, NoThrow> { |
public: |
enum Kind { |
@@ -7360,7 +7192,6 @@ class CheckStackOverflowInstr : public TemplateInstruction<0, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(CheckStackOverflowInstr); |
}; |
- |
// TODO(vegorov): remove this instruction in favor of Int32ToDouble. |
class SmiToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
@@ -7387,7 +7218,6 @@ class SmiToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(SmiToDoubleInstr); |
}; |
- |
class Int32ToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
explicit Int32ToDoubleInstr(Value* value) { SetInputAt(0, value); } |
@@ -7412,7 +7242,6 @@ class Int32ToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(Int32ToDoubleInstr); |
}; |
- |
class MintToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
MintToDoubleInstr(Value* value, intptr_t deopt_id) |
@@ -7445,7 +7274,6 @@ class MintToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(MintToDoubleInstr); |
}; |
- |
class DoubleToIntegerInstr : public TemplateDefinition<1, Throws> { |
public: |
DoubleToIntegerInstr(Value* value, InstanceCallInstr* instance_call) |
@@ -7472,7 +7300,6 @@ class DoubleToIntegerInstr : public TemplateDefinition<1, Throws> { |
DISALLOW_COPY_AND_ASSIGN(DoubleToIntegerInstr); |
}; |
- |
// Similar to 'DoubleToIntegerInstr' but expects unboxed double as input |
// and creates a Smi. |
class DoubleToSmiInstr : public TemplateDefinition<1, NoThrow, Pure> { |
@@ -7502,7 +7329,6 @@ class DoubleToSmiInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(DoubleToSmiInstr); |
}; |
- |
class DoubleToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
DoubleToDoubleInstr(Value* value, |
@@ -7540,7 +7366,6 @@ class DoubleToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(DoubleToDoubleInstr); |
}; |
- |
class DoubleToFloatInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
DoubleToFloatInstr(Value* value, intptr_t deopt_id) |
@@ -7579,7 +7404,6 @@ class DoubleToFloatInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(DoubleToFloatInstr); |
}; |
- |
class FloatToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
FloatToDoubleInstr(Value* value, intptr_t deopt_id) |
@@ -7612,7 +7436,6 @@ class FloatToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(FloatToDoubleInstr); |
}; |
- |
class InvokeMathCFunctionInstr : public PureDefinition { |
public: |
InvokeMathCFunctionInstr(ZoneGrowableArray<Value*>* inputs, |
@@ -7671,7 +7494,6 @@ class InvokeMathCFunctionInstr : public PureDefinition { |
DISALLOW_COPY_AND_ASSIGN(InvokeMathCFunctionInstr); |
}; |
- |
class ExtractNthOutputInstr : public TemplateDefinition<1, NoThrow, Pure> { |
public: |
// Extract the Nth output register from value. |
@@ -7720,7 +7542,6 @@ class ExtractNthOutputInstr : public TemplateDefinition<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(ExtractNthOutputInstr); |
}; |
- |
class TruncDivModInstr : public TemplateDefinition<2, NoThrow, Pure> { |
public: |
TruncDivModInstr(Value* lhs, Value* rhs, intptr_t deopt_id); |
@@ -7762,7 +7583,6 @@ class TruncDivModInstr : public TemplateDefinition<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(TruncDivModInstr); |
}; |
- |
class CheckClassInstr : public TemplateInstruction<1, NoThrow> { |
public: |
CheckClassInstr(Value* value, |
@@ -7825,7 +7645,6 @@ class CheckClassInstr : public TemplateInstruction<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(CheckClassInstr); |
}; |
- |
class CheckSmiInstr : public TemplateInstruction<1, NoThrow, Pure> { |
public: |
CheckSmiInstr(Value* value, intptr_t deopt_id, TokenPosition token_pos) |
@@ -7856,7 +7675,6 @@ class CheckSmiInstr : public TemplateInstruction<1, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(CheckSmiInstr); |
}; |
- |
class CheckClassIdInstr : public TemplateInstruction<1, NoThrow> { |
public: |
CheckClassIdInstr(Value* value, CidRange cids, intptr_t deopt_id) |
@@ -7888,7 +7706,6 @@ class CheckClassIdInstr : public TemplateInstruction<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(CheckClassIdInstr); |
}; |
- |
class CheckArrayBoundInstr : public TemplateInstruction<2, NoThrow, Pure> { |
public: |
CheckArrayBoundInstr(Value* length, Value* index, intptr_t deopt_id) |
@@ -7931,7 +7748,6 @@ class CheckArrayBoundInstr : public TemplateInstruction<2, NoThrow, Pure> { |
DISALLOW_COPY_AND_ASSIGN(CheckArrayBoundInstr); |
}; |
- |
class GenericCheckBoundInstr : public TemplateInstruction<2, Throws, NoCSE> { |
public: |
GenericCheckBoundInstr(Value* length, Value* index, intptr_t deopt_id) |
@@ -7957,7 +7773,6 @@ class GenericCheckBoundInstr : public TemplateInstruction<2, Throws, NoCSE> { |
DISALLOW_COPY_AND_ASSIGN(GenericCheckBoundInstr); |
}; |
- |
class UnboxedIntConverterInstr : public TemplateDefinition<1, NoThrow> { |
public: |
UnboxedIntConverterInstr(Representation from, |
@@ -8023,7 +7838,6 @@ class UnboxedIntConverterInstr : public TemplateDefinition<1, NoThrow> { |
DISALLOW_COPY_AND_ASSIGN(UnboxedIntConverterInstr); |
}; |
- |
#undef DECLARE_INSTRUCTION |
class Environment : public ZoneAllocated { |
@@ -8234,7 +8048,6 @@ class Environment : public ZoneAllocated { |
parsed_function_(parsed_function), |
outer_(outer) {} |
- |
GrowableArray<Value*> values_; |
Location* locations_; |
const intptr_t fixed_parameter_count_; |
@@ -8245,7 +8058,6 @@ class Environment : public ZoneAllocated { |
DISALLOW_COPY_AND_ASSIGN(Environment); |
}; |
- |
// Visitor base class to visit each instruction and computation in a flow |
// graph as defined by a reversed list of basic blocks. |
class FlowGraphVisitor : public ValueObject { |
@@ -8279,7 +8091,6 @@ class FlowGraphVisitor : public ValueObject { |
DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
}; |
- |
// Helper macros for platform ports. |
#define DEFINE_UNIMPLEMENTED_INSTRUCTION(Name) \ |
LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ |
@@ -8288,7 +8099,6 @@ class FlowGraphVisitor : public ValueObject { |
} \ |
void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } |
- |
} // namespace dart |
#endif // RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ |