Lines Matching refs:HValue
35 class HValue; variable
195 static H##type* cast(HValue* value) { \
204 static H##type* cast(HValue* value) { \
209 return HValue::k##type; \
293 HUseListNode(HValue* value, int index, HUseListNode* tail) in HUseListNode()
298 HValue* value() const { return value_; } in value()
313 HValue* value_;
325 HValue* value() { in value()
340 HValue* value_;
343 friend class HValue; variable
373 HValue* base() { return base_; } in base()
377 bool Apply(HValue* other_base, int other_offset, int other_scale = 0) {
395 void SwapValues(HValue** other_base, int* other_offset, int* other_scale) { in SwapValues()
408 HValue* base_;
473 class HValue : public ZoneObject {
528 static HValue* cast(HValue* value) { return value; } in cast()
556 explicit HValue(HType type = HType::Tagged())
566 virtual ~HValue() {} in ~HValue()
632 HValue* RedefinedOperand() { in RedefinedOperand()
648 HValue* ActualValue() { in ActualValue()
649 HValue* value = this; in ActualValue()
665 virtual HValue* OperandAt(int index) const = 0;
666 void SetOperandAt(int index, HValue* value);
668 void DeleteAndReplaceWith(HValue* other);
669 void ReplaceAllUsesWith(HValue* other);
686 void CopyFlag(Flag f, HValue* other) { in CopyFlag()
693 bool CheckUsesForFlag(Flag f, HValue** value) const;
764 virtual HValue* Canonicalize() { return this; } in Canonicalize()
766 bool Equals(HValue* other);
796 HValue* dominator) { in HandleSideEffectDominator()
838 virtual bool DataEquals(HValue* other) { in DataEquals()
864 virtual void InternalSetOperandAt(int index, HValue* value) = 0;
905 HUseListNode* RemoveUse(HValue* value, int index);
907 void RegisterUse(int index, HValue* new_value);
929 DISALLOW_COPY_AND_ASSIGN(HValue);
934 explicit NameOf(const HValue* const v) : value(v) {} in NameOf()
935 const HValue* value;
940 explicit TypeOf(const HValue* const v) : value(v) {} in TypeOf()
941 const HValue* value;
946 explicit ChangesOf(const HValue* const v) : value(v) {} in ChangesOf()
947 const HValue* value;
951 OStream& operator<<(OStream& os, const HValue& v);
958 static I* New(Zone* zone, HValue* context) { \
963 static I* New(Zone* zone, HValue* context, P1 p1) { \
968 static I* New(Zone* zone, HValue* context, P1 p1, P2 p2) { \
973 static I* New(Zone* zone, HValue* context, P1 p1, P2 p2, P3 p3) { \
979 HValue* context, \
989 HValue* context, \
1000 HValue* context, \
1011 static I* New(Zone* zone, HValue* context) { \
1016 static I* New(Zone* zone, HValue* context, P1 p1) { \
1021 static I* New(Zone* zone, HValue* context, P1 p1, P2 p2) { \
1026 static I* New(Zone* zone, HValue* context, P1 p1, P2 p2, P3 p3) { \
1032 HValue* context, \
1042 HValue* context, \
1145 class HInstruction : public HValue {
1211 : HValue(type), in DECLARE_ABSTRACT_INSTRUCTION()
1238 virtual HValue* OperandAt(int i) const FINAL OVERRIDE { in OperandAt()
1246 virtual void InternalSetOperandAt(int i, HValue* value) FINAL OVERRIDE { in InternalSetOperandAt()
1251 EmbeddedContainer<HValue*, V> inputs_;
1310 HValue* OperandAt(int i) const OVERRIDE { return inputs_[i]; } in OperandAt()
1314 void InternalSetOperandAt(int i, HValue* value) OVERRIDE { in InternalSetOperandAt()
1320 EmbeddedContainer<HValue*, V> inputs_;
1336 explicit HDummyUse(HValue* value) in HDummyUse()
1344 HValue* value() const { return OperandAt(0); } in value()
1394 HValue* context, in New()
1430 HUnaryControlInstruction(HValue* value, in HUnaryControlInstruction()
1440 HValue* value() const { return OperandAt(0); } in value()
1446 DECLARE_INSTRUCTION_FACTORY_P1(HBranch, HValue*);
1447 DECLARE_INSTRUCTION_FACTORY_P2(HBranch, HValue*,
1449 DECLARE_INSTRUCTION_FACTORY_P4(HBranch, HValue*,
1469 HBranch(HValue* value, in DECLARE_CONCRETE_INSTRUCTION()
1484 DECLARE_INSTRUCTION_FACTORY_P2(HCompareMap, HValue*, Handle<Map>);
1485 DECLARE_INSTRUCTION_FACTORY_P4(HCompareMap, HValue*, Handle<Map>,
1518 HCompareMap(HValue* value,
1548 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
1562 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HReturn, HValue*, HValue*);
1563 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P1(HReturn, HValue*);
1573 HValue* value() const { return OperandAt(0); } in value()
1574 HValue* context() const { return OperandAt(1); } in context()
1575 HValue* parameter_count() const { return OperandAt(2); } in parameter_count()
1580 HReturn(HValue* context, HValue* value, HValue* parameter_count = 0) { in DECLARE_CONCRETE_INSTRUCTION()
1604 explicit HUnaryOperation(HValue* value, HType type = HType::Tagged())
1609 static HUnaryOperation* cast(HValue* value) { in cast()
1613 HValue* value() const { return OperandAt(0); } in value()
1620 DECLARE_INSTRUCTION_FACTORY_P1(HUseConst, HValue*);
1629 explicit HUseConst(HValue* old_value) : HUnaryOperation(old_value) { } in DECLARE_CONCRETE_INSTRUCTION()
1635 static HInstruction* New(Zone* zone, HValue* context, HValue* value,
1638 HValue* value() const { return OperandAt(0); } in value()
1649 HForceRepresentation(HValue* value, Representation required_representation) { in DECLARE_CONCRETE_INSTRUCTION()
1658 HChange(HValue* value, in HChange()
1687 virtual HValue* Canonicalize() OVERRIDE;
1705 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
1716 DECLARE_INSTRUCTION_FACTORY_P1(HClampToUint8, HValue*);
1725 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
1728 explicit HClampToUint8(HValue* value) in HClampToUint8()
1742 DECLARE_INSTRUCTION_FACTORY_P2(HDoubleBits, HValue*, Bits);
1753 virtual bool DataEquals(HValue* other) OVERRIDE { in DataEquals()
1758 HDoubleBits(HValue* value, Bits bits) in HDoubleBits()
1772 DECLARE_INSTRUCTION_FACTORY_P2(HConstructDouble, HValue*, HValue*);
1780 HValue* hi() { return OperandAt(0); } in DECLARE_CONCRETE_INSTRUCTION()
1781 HValue* lo() { return OperandAt(1); } in lo()
1784 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DataEquals()
1787 explicit HConstructDouble(HValue* hi, HValue* lo) { in HConstructDouble()
1829 const ZoneList<HValue*>* values() const { return &values_; } in values()
1837 void AddAssignedValue(int index, HValue* value) { in AddAssignedValue()
1840 void AddPushedValue(HValue* value) { in AddPushedValue()
1850 virtual HValue* OperandAt(int index) const OVERRIDE { in OperandAt()
1874 virtual void InternalSetOperandAt(int index, HValue* value) OVERRIDE { in InternalSetOperandAt()
1880 void AddValue(int index, HValue* value) { in AddValue()
1896 ZoneList<HValue*> values_;
1961 HValue* context() { return OperandAt(0); } in context()
1981 HStackCheck(HValue* context, Type type) : type_(type) { in DECLARE_CONCRETE_INSTRUCTION()
2004 static HEnterInlined* New(Zone* zone, HValue* context, BailoutId return_id, in New()
2093 static HPushArguments* New(Zone* zone, HValue* context) { in New()
2096 static HPushArguments* New(Zone* zone, HValue* context, HValue* arg1) { in New()
2101 static HPushArguments* New(Zone* zone, HValue* context, HValue* arg1, in New()
2102 HValue* arg2) { in New()
2108 static HPushArguments* New(Zone* zone, HValue* context, HValue* arg1, in New()
2109 HValue* arg2, HValue* arg3) { in New()
2116 static HPushArguments* New(Zone* zone, HValue* context, HValue* arg1, in New()
2117 HValue* arg2, HValue* arg3, HValue* arg4) { in New()
2131 HValue* argument(int i) { return OperandAt(i); } in argument()
2136 virtual HValue* OperandAt(int i) const FINAL OVERRIDE { in OperandAt()
2140 void AddInput(HValue* value);
2145 virtual void InternalSetOperandAt(int i, HValue* value) FINAL OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
2155 ZoneList<HValue*> inputs_;
2170 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
2188 HValue* context() { return OperandAt(0); } in context()
2199 HDeclareGlobals(HValue* context, in HDeclareGlobals()
2242 HUnaryCall(HValue* value, int argument_count) in HUnaryCall()
2254 HValue* value() const { return OperandAt(0); } in value()
2260 HBinaryCall(HValue* first, HValue* second, int argument_count) in HBinaryCall()
2273 HValue* first() const { return OperandAt(0); } in first()
2274 HValue* second() const { return OperandAt(1); } in second()
2281 HValue* context,
2282 HValue* function,
2286 HValue* function() const { return OperandAt(0); } in function()
2306 HCallJSFunction(HValue* function, in DECLARE_CONCRETE_INSTRUCTION()
2323 static HCallWithDescriptor* New(Zone* zone, HValue* context, HValue* target, in New()
2326 const Vector<HValue*>& operands) { in New()
2336 virtual HValue* OperandAt(int index) const FINAL OVERRIDE { in OperandAt()
2367 HValue* target() { in target()
2375 HCallWithDescriptor(HValue* target, int argument_count, in HCallWithDescriptor()
2377 const Vector<HValue*>& operands, Zone* zone) in HCallWithDescriptor()
2389 void AddOperand(HValue* v, Zone* zone) { in AddOperand()
2395 HValue* value) FINAL OVERRIDE { in InternalSetOperandAt()
2400 ZoneList<HValue*> values_;
2407 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HInvokeFunction, HValue*, int);
2409 HInvokeFunction(HValue* context, in HInvokeFunction()
2410 HValue* function, in HInvokeFunction()
2423 HValue* context, in New()
2424 HValue* function, in New()
2431 HValue* context() { return first(); } in context()
2432 HValue* function() { return second(); } in function()
2443 HInvokeFunction(HValue* context, HValue* function, int argument_count) in DECLARE_CONCRETE_INSTRUCTION()
2456 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HCallFunction, HValue*, int);
2458 HCallFunction, HValue*, int, CallFunctionFlags);
2460 HValue* context() { return first(); } in context()
2461 HValue* function() { return second(); } in function()
2469 HCallFunction(HValue* context,
2470 HValue* function,
2481 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HCallNew, HValue*, int);
2483 HValue* context() { return first(); } in context()
2484 HValue* constructor() { return second(); } in constructor()
2489 HCallNew(HValue* context, HValue* constructor, int argument_count) in DECLARE_CONCRETE_INSTRUCTION()
2497 HValue*,
2501 HValue* context() { return first(); } in context()
2502 HValue* constructor() { return second(); } in constructor()
2511 HCallNewArray(HValue* context, HValue* constructor, int argument_count, in DECLARE_CONCRETE_INSTRUCTION()
2529 HValue* context() { return OperandAt(0); } in context()
2544 HCallRuntime(HValue* context, in DECLARE_CONCRETE_INSTRUCTION()
2561 DECLARE_INSTRUCTION_FACTORY_P1(HMapEnumLength, HValue*);
2570 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
2573 explicit HMapEnumLength(HValue* value) in HMapEnumLength()
2587 HValue* context,
2588 HValue* value,
2591 HValue* context() const { return OperandAt(0); } in context()
2592 HValue* value() const { return OperandAt(1); } in value()
2622 virtual HValue* Canonicalize() OVERRIDE;
2632 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
2647 HUnaryMathOperation(HValue* context, HValue* value, BuiltinFunctionId op) in HUnaryMathOperation()
2686 HValue* SimplifiedDividendForMathFloorOfDiv(HDiv* hdiv);
2687 HValue* SimplifiedDivisorForMathFloorOfDiv(HDiv* hdiv);
2707 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
2729 static HCheckMaps* New(Zone* zone, HValue* context, HValue* value,
2730 Handle<Map> map, HValue* typecheck = NULL) {
2734 static HCheckMaps* New(Zone* zone, HValue* context,
2735 HValue* value, SmallMapList* map_list,
2736 HValue* typecheck = NULL) {
2766 HValue* value() const { return OperandAt(0); } in value()
2767 HValue* typecheck() const { return OperandAt(1); } in typecheck()
2776 virtual HValue* Canonicalize() OVERRIDE;
2779 HValue* value, in CreateAndInsertAfter()
2788 HValue* value, in CreateAndInsertBefore()
2798 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
2805 HCheckMaps(HValue* value, const UniqueSet<Map>* maps, bool maps_are_stable) in HCheckMaps()
2819 HCheckMaps(HValue* value, const UniqueSet<Map>* maps, HValue* typecheck) in HCheckMaps()
2848 static HCheckValue* New(Zone* zone, HValue* context, in New()
2849 HValue* value, Handle<JSFunction> func) { in New()
2859 static HCheckValue* New(Zone* zone, HValue* context, in New()
2860 HValue* value, Unique<HeapObject> target, in New()
2874 virtual HValue* Canonicalize() OVERRIDE;
2886 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
2892 HCheckValue(HValue* value, Unique<HeapObject> object, in HCheckValue()
2916 DECLARE_INSTRUCTION_FACTORY_P2(HCheckInstanceType, HValue*, Check);
2935 virtual HValue* Canonicalize() OVERRIDE;
2949 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
2959 HCheckInstanceType(HValue* value, Check check) in HCheckInstanceType()
2971 DECLARE_INSTRUCTION_FACTORY_P1(HCheckSmi, HValue*);
2977 virtual HValue* Canonicalize() OVERRIDE { in Canonicalize()
2988 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
2991 explicit HCheckSmi(HValue* value) : HUnaryOperation(value, HType::Smi()) { in HCheckSmi()
3000 DECLARE_INSTRUCTION_FACTORY_P1(HCheckHeapObject, HValue*);
3016 virtual HValue* Canonicalize() OVERRIDE { in Canonicalize()
3023 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
3026 explicit HCheckHeapObject(HValue* value) : HUnaryOperation(value) { in HCheckHeapObject()
3038 HValue* limit;
3086 HValue* length() { return length_; } in length()
3093 ChecksRelatedToLength(HValue* length, ChecksRelatedToLength* next) in ChecksRelatedToLength()
3104 HValue* index_base,
3105 HValue* context);
3116 HValue* length_;
3131 HValue* limit;
3162 HValue* base;
3165 HValue* context;
3170 static void DecomposeBitwise(HValue* value,
3182 HValue* base() { return base_; } in base()
3184 HValue* limit() { return limit_; } in limit()
3190 HValue* additional_upper_limit() { return additional_upper_limit_; } in additional_upper_limit()
3194 HValue* additional_lower_limit() { return additional_lower_limit_; } in additional_lower_limit()
3222 InductionVariableData(HPhi* phi, HValue* base, int32_t increment) in InductionVariableData()
3232 static int32_t ComputeIncrement(HPhi* phi, HValue* phi_operand);
3234 static HValue* IgnoreOsrValue(HValue* v);
3235 static InductionVariableData* GetInductionVariableData(HValue* v);
3238 HValue* base_;
3240 HValue* limit_;
3246 HValue* additional_upper_limit_;
3248 HValue* additional_lower_limit_;
3253 class HPhi FINAL : public HValue {
3282 virtual HValue* OperandAt(int index) const OVERRIDE { in OperandAt()
3285 HValue* GetRedundantReplacement();
3286 void AddInput(HValue* value);
3347 static HPhi* cast(HValue* value) { in cast()
3351 virtual Opcode opcode() const OVERRIDE { return HValue::kPhi; } in opcode()
3360 virtual void InternalSetOperandAt(int index, HValue* value) OVERRIDE { in InternalSetOperandAt()
3365 ZoneList<HValue*> inputs_;
3386 virtual HValue* OperandAt(int index) const FINAL OVERRIDE { in OperandAt()
3400 HValue* value) FINAL OVERRIDE { in InternalSetOperandAt()
3405 ZoneList<HValue*> values_;
3411 static HArgumentsObject* New(Zone* zone, HValue* context, int count) { in New()
3417 const ZoneList<HValue*>* arguments_values() const { return &values_; } in arguments_values()
3420 void AddArgument(HValue* argument, Zone* zone) { in AddArgument()
3447 const ZoneList<HValue*>* values() const { return &values_; } in values()
3452 HValue* map_value() const { return values()->first(); } in map_value()
3486 HValue* context, in CreateAndInsertAfter()
3503 HValue* context, in CreateAndInsertBefore()
3676 virtual bool DataEquals(HValue* other) OVERRIDE { in DataEquals()
3772 HBinaryOperation(HValue* context, HValue* left, HValue* right,
3784 HValue* context() const { return OperandAt(0); } in context()
3785 HValue* left() const { return OperandAt(1); } in left()
3786 HValue* right() const { return OperandAt(2); } in right()
3803 HValue* BetterLeftOperand() { in BetterLeftOperand()
3807 HValue* BetterRightOperand() { in BetterRightOperand()
3830 HValue::UpdateRepresentation(rep, h_infer, reason); in UpdateRepresentation()
3876 DECLARE_INSTRUCTION_FACTORY_P2(HWrapReceiver, HValue*, HValue*);
3878 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DataEquals()
3884 HValue* receiver() const { return OperandAt(0); } in receiver()
3885 HValue* function() const { return OperandAt(1); } in function()
3887 virtual HValue* Canonicalize() OVERRIDE;
3895 HWrapReceiver(HValue* receiver, HValue* function) { in DECLARE_CONCRETE_INSTRUCTION()
3910 DECLARE_INSTRUCTION_FACTORY_P4(HApplyArguments, HValue*, HValue*, HValue*,
3911 HValue*);
3920 HValue* function() { return OperandAt(0); } in function()
3921 HValue* receiver() { return OperandAt(1); } in receiver()
3922 HValue* length() { return OperandAt(2); } in length()
3923 HValue* elements() { return OperandAt(3); } in elements()
3928 HApplyArguments(HValue* function, in DECLARE_CONCRETE_INSTRUCTION()
3929 HValue* receiver, in DECLARE_CONCRETE_INSTRUCTION()
3930 HValue* length, in DECLARE_CONCRETE_INSTRUCTION()
3931 HValue* elements) { in DECLARE_CONCRETE_INSTRUCTION()
3955 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DataEquals()
3973 DECLARE_INSTRUCTION_FACTORY_P1(HArgumentsLength, HValue*);
3982 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
3985 explicit HArgumentsLength(HValue* value) : HUnaryOperation(value) { in HArgumentsLength()
3996 DECLARE_INSTRUCTION_FACTORY_P3(HAccessArgumentsAt, HValue*, HValue*, HValue*);
4007 HValue* arguments() const { return OperandAt(0); } in arguments()
4008 HValue* length() const { return OperandAt(1); } in length()
4009 HValue* index() const { return OperandAt(2); } in index()
4014 HAccessArgumentsAt(HValue* arguments, HValue* length, HValue* index) { in DECLARE_CONCRETE_INSTRUCTION()
4022 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DataEquals()
4031 DECLARE_INSTRUCTION_FACTORY_P2(HBoundsCheck, HValue*, HValue*);
4036 HValue* base() const { return base_; } in base()
4066 HValue* index() const { return OperandAt(0); } in index()
4067 HValue* length() const { return OperandAt(1); } in length()
4083 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DataEquals()
4085 HValue* base_;
4095 HBoundsCheck(HValue* index, HValue* length) in HBoundsCheck()
4124 HValue* base_index() const { return OperandAt(0); } in base_index()
4142 HBitwiseBinaryOperation(HValue* context, HValue* left, HValue* right,
4192 HValue*,
4193 HValue*);
4198 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
4201 HMathFloorOfDiv(HValue* context, HValue* left, HValue* right) in HMathFloorOfDiv()
4221 HArithmeticBinaryOperation(HValue* context, HValue* left, HValue* right) in HArithmeticBinaryOperation()
4249 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(HCompareGeneric, HValue*,
4250 HValue*, Token::Value);
4264 HCompareGeneric(HValue* context, in DECLARE_CONCRETE_INSTRUCTION()
4265 HValue* left, in DECLARE_CONCRETE_INSTRUCTION()
4266 HValue* right, in DECLARE_CONCRETE_INSTRUCTION()
4282 HValue*, HValue*, Token::Value);
4284 HValue*, HValue*, Token::Value,
4287 HValue* left() const { return OperandAt(0); } in left()
4288 HValue* right() const { return OperandAt(1); } in right()
4321 HCompareNumericAndBranch(HValue* left, in DECLARE_CONCRETE_INSTRUCTION()
4322 HValue* right, in DECLARE_CONCRETE_INSTRUCTION()
4342 DECLARE_INSTRUCTION_FACTORY_P1(HCompareHoleAndBranch, HValue*);
4343 DECLARE_INSTRUCTION_FACTORY_P3(HCompareHoleAndBranch, HValue*,
4356 HCompareHoleAndBranch(HValue* value, in DECLARE_CONCRETE_INSTRUCTION()
4368 DECLARE_INSTRUCTION_FACTORY_P1(HCompareMinusZeroAndBranch, HValue*);
4382 explicit HCompareMinusZeroAndBranch(HValue* value) in DECLARE_CONCRETE_INSTRUCTION()
4390 DECLARE_INSTRUCTION_FACTORY_P2(HCompareObjectEqAndBranch, HValue*, HValue*);
4391 DECLARE_INSTRUCTION_FACTORY_P4(HCompareObjectEqAndBranch, HValue*, HValue*,
4402 HValue* left() const { return OperandAt(0); } in left()
4403 HValue* right() const { return OperandAt(1); } in right()
4418 HCompareObjectEqAndBranch(HValue* left, in DECLARE_CONCRETE_INSTRUCTION()
4419 HValue* right, in DECLARE_CONCRETE_INSTRUCTION()
4435 DECLARE_INSTRUCTION_FACTORY_P1(HIsObjectAndBranch, HValue*);
4436 DECLARE_INSTRUCTION_FACTORY_P3(HIsObjectAndBranch, HValue*,
4448 HIsObjectAndBranch(HValue* value, in DECLARE_CONCRETE_INSTRUCTION()
4457 DECLARE_INSTRUCTION_FACTORY_P1(HIsStringAndBranch, HValue*);
4458 DECLARE_INSTRUCTION_FACTORY_P3(HIsStringAndBranch, HValue*,
4479 HIsStringAndBranch(HValue* value,
4491 DECLARE_INSTRUCTION_FACTORY_P1(HIsSmiAndBranch, HValue*);
4492 DECLARE_INSTRUCTION_FACTORY_P3(HIsSmiAndBranch, HValue*,
4502 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DataEquals()
4506 HIsSmiAndBranch(HValue* value,
4517 DECLARE_INSTRUCTION_FACTORY_P1(HIsUndetectableAndBranch, HValue*);
4518 DECLARE_INSTRUCTION_FACTORY_P3(HIsUndetectableAndBranch, HValue*,
4530 HIsUndetectableAndBranch(HValue* value, in DECLARE_CONCRETE_INSTRUCTION()
4540 HValue*,
4541 HValue*,
4544 HValue* context() { return OperandAt(0); } in context()
4545 HValue* left() { return OperandAt(1); } in left()
4546 HValue* right() { return OperandAt(2); } in right()
4562 HStringCompareAndBranch(HValue* context, in DECLARE_CONCRETE_INSTRUCTION()
4563 HValue* left, in DECLARE_CONCRETE_INSTRUCTION()
4564 HValue* right, in DECLARE_CONCRETE_INSTRUCTION()
4596 HHasInstanceTypeAndBranch, HValue*, InstanceType);
4598 HHasInstanceTypeAndBranch, HValue*, InstanceType, InstanceType);
4614 HHasInstanceTypeAndBranch(HValue* value, InstanceType type) in DECLARE_CONCRETE_INSTRUCTION()
4616 HHasInstanceTypeAndBranch(HValue* value, InstanceType from, InstanceType to) in HHasInstanceTypeAndBranch()
4628 DECLARE_INSTRUCTION_FACTORY_P1(HHasCachedArrayIndexAndBranch, HValue*);
4636 explicit HHasCachedArrayIndexAndBranch(HValue* value) in DECLARE_CONCRETE_INSTRUCTION()
4643 DECLARE_INSTRUCTION_FACTORY_P1(HGetCachedArrayIndex, HValue*);
4652 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
4655 explicit HGetCachedArrayIndex(HValue* value) : HUnaryOperation(value) { in HGetCachedArrayIndex()
4666 DECLARE_INSTRUCTION_FACTORY_P2(HClassOfTestAndBranch, HValue*,
4680 HClassOfTestAndBranch(HValue* value, Handle<String> class_name) in HClassOfTestAndBranch()
4690 DECLARE_INSTRUCTION_FACTORY_P2(HTypeofIsAndBranch, HValue*, Handle<String>);
4708 HTypeofIsAndBranch(HValue* value, Handle<String> type_literal) in HTypeofIsAndBranch()
4718 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HInstanceOf, HValue*, HValue*);
4729 HInstanceOf(HValue* context, HValue* left, HValue* right) in DECLARE_CONCRETE_INSTRUCTION()
4740 HValue*,
4743 HValue* context() { return OperandAt(0); } in context()
4744 HValue* left() { return OperandAt(1); } in left()
4754 HInstanceOfKnownGlobal(HValue* context, in DECLARE_CONCRETE_INSTRUCTION()
4755 HValue* left, in DECLARE_CONCRETE_INSTRUCTION()
4771 HValue* context,
4772 HValue* left,
4773 HValue* right);
4775 HValue* left() { return OperandAt(0); } in left()
4776 HValue* right() const { return OperandAt(1); } in right()
4790 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
4793 HPower(HValue* left, HValue* right) { in HPower()
4810 HValue* context,
4811 HValue* left,
4812 HValue* right);
4821 virtual HValue* Canonicalize() OVERRIDE;
4858 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
4863 HAdd(HValue* context, HValue* left, HValue* right) in HAdd()
4873 HValue* context,
4874 HValue* left,
4875 HValue* right);
4877 virtual HValue* Canonicalize() OVERRIDE;
4891 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
4896 HSub(HValue* context, HValue* left, HValue* right) in HSub()
4906 HValue* context,
4907 HValue* left,
4908 HValue* right);
4911 HValue* context, in NewImul()
4912 HValue* left, in NewImul()
4913 HValue* right) { in NewImul()
4919 mul->ClearFlag(HValue::kCanOverflow); in NewImul()
4923 virtual HValue* Canonicalize() OVERRIDE;
4941 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
4946 HMul(HValue* context, HValue* left, HValue* right) in HMul()
4956 HValue* context,
4957 HValue* left,
4958 HValue* right);
4960 virtual HValue* Canonicalize() OVERRIDE;
4972 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
4977 HMod(HValue* context, in HMod()
4978 HValue* left, in HMod()
4979 HValue* right) : HArithmeticBinaryOperation(context, left, right) { in HMod()
4990 HValue* context,
4991 HValue* left,
4992 HValue* right);
4994 virtual HValue* Canonicalize() OVERRIDE;
5006 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
5011 HDiv(HValue* context, HValue* left, HValue* right) in HDiv()
5024 HValue* context,
5025 HValue* left,
5026 HValue* right,
5053 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
5061 HMathMinMax(HValue* context, HValue* left, HValue* right, Operation op) in HMathMinMax()
5072 HValue* context,
5074 HValue* left,
5075 HValue* right);
5081 virtual HValue* Canonicalize() OVERRIDE;
5088 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
5095 HBitwise(HValue* context, in HBitwise()
5097 HValue* left, in HBitwise()
5098 HValue* right) in HBitwise()
5134 HValue* context,
5135 HValue* left,
5136 HValue* right);
5154 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
5157 HShl(HValue* context, HValue* left, HValue* right) in HShl()
5165 HValue* context,
5166 HValue* left,
5167 HValue* right);
5193 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
5196 HShr(HValue* context, HValue* left, HValue* right) in HShr()
5204 HValue* context,
5205 HValue* left,
5206 HValue* right);
5232 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
5235 HSar(HValue* context, HValue* left, HValue* right) in HSar()
5243 HValue* context, in New()
5244 HValue* left, in New()
5245 HValue* right) { in New()
5259 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
5262 HRor(HValue* context, HValue* left, HValue* right) in HRor()
5340 HValue* context() { return value(); } in context()
5347 HCallStub(HValue* context, CodeStub::Major major_key, int argument_count) in DECLARE_CONCRETE_INSTRUCTION()
5359 HValue*, HValue*, Code::Flags);
5365 HValue* context() const { return OperandAt(0); } in context()
5366 HValue* receiver() const { return OperandAt(1); } in receiver()
5367 HValue* name() const { return OperandAt(2); } in name()
5375 HTailCallThroughMegamorphicCache(HValue* context, HValue* receiver, in DECLARE_CONCRETE_INSTRUCTION()
5376 HValue* name, Code::Flags flags) in DECLARE_CONCRETE_INSTRUCTION()
5448 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
5469 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(HLoadGlobalGeneric, HValue*,
5472 HValue* context() { return OperandAt(0); } in context()
5473 HValue* global_object() { return OperandAt(1); } in global_object()
5497 HLoadGlobalGeneric(HValue* context, HValue* global_object, in DECLARE_CONCRETE_INSTRUCTION()
5523 HValue* context,
5524 HValue* size,
5537 HValue* context() const { return OperandAt(0); } in context()
5538 HValue* size() const { return OperandAt(1); } in size()
5596 HValue* dominator) OVERRIDE;
5612 HAllocate(HValue* context,
5613 HValue* size,
5670 void UpdateSize(HValue* size) { in UpdateSize()
5705 HValue* context, in New()
5706 HValue* function, in New()
5707 HValue* code) { in New()
5715 HValue* function() { return OperandAt(0); } in function()
5716 HValue* code_object() { return OperandAt(1); } in code_object()
5721 HStoreCodeEntry(HValue* function, HValue* code) { in DECLARE_CONCRETE_INSTRUCTION()
5731 HValue* context, in New()
5732 HValue* value, in New()
5733 HValue* offset, in New()
5738 HValue* base_object() const { return OperandAt(0); } in base_object()
5739 HValue* offset() const { return OperandAt(1); } in offset()
5750 HInnerAllocatedObject(HValue* value, in DECLARE_CONCRETE_INSTRUCTION()
5751 HValue* offset, in DECLARE_CONCRETE_INSTRUCTION()
5762 inline bool StoringValueNeedsWriteBarrier(HValue* value) { in StoringValueNeedsWriteBarrier()
5771 inline bool ReceiverObjectNeedsWriteBarrier(HValue* object, in ReceiverObjectNeedsWriteBarrier()
5772 HValue* value, in ReceiverObjectNeedsWriteBarrier()
5773 HValue* dominator) { in ReceiverObjectNeedsWriteBarrier()
5811 inline PointersToHereCheck PointersToHereCheckForObject(HValue* object, in PointersToHereCheckForObject()
5812 HValue* dominator) { in PointersToHereCheckForObject()
5827 DECLARE_INSTRUCTION_FACTORY_P3(HStoreGlobalCell, HValue*,
5848 HStoreGlobalCell(HValue* value, in DECLARE_CONCRETE_INSTRUCTION()
5877 HLoadContextSlot(HValue* context, int slot_index, Mode mode) in HLoadContextSlot()
5904 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
5932 DECLARE_INSTRUCTION_FACTORY_P4(HStoreContextSlot, HValue*, int,
5933 Mode, HValue*);
5935 HValue* context() const { return OperandAt(0); } in context()
5936 HValue* value() const { return OperandAt(1); } in value()
5961 HStoreContextSlot(HValue* context, int slot_index, Mode mode, HValue* value) in DECLARE_CONCRETE_INSTRUCTION()
6289 void SetGVNFlags(HValue *instr, PropertyAccessType access_type);
6352 DECLARE_INSTRUCTION_FACTORY_P3(HLoadNamedField, HValue*,
6353 HValue*, HObjectAccess);
6354 DECLARE_INSTRUCTION_FACTORY_P5(HLoadNamedField, HValue*, HValue*,
6357 HValue* object() const { return OperandAt(0); } in object()
6358 HValue* dependency() const { in dependency()
6384 bool CanBeReplacedWith(HValue* other) const { in CanBeReplacedWith()
6385 if (!CheckFlag(HValue::kCantBeReplaced)) return false; in CanBeReplacedWith()
6398 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
6408 HLoadNamedField(HValue* object, in HLoadNamedField()
6409 HValue* dependency, in HLoadNamedField()
6442 HLoadNamedField(HValue* object, in HLoadNamedField()
6443 HValue* dependency, in HLoadNamedField()
6471 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HLoadNamedGeneric, HValue*,
6474 HValue* context() const { return OperandAt(0); } in context()
6475 HValue* object() const { return OperandAt(1); } in object()
6499 HLoadNamedGeneric(HValue* context, HValue* object, Handle<Object> name) in DECLARE_CONCRETE_INSTRUCTION()
6516 DECLARE_INSTRUCTION_FACTORY_P1(HLoadFunctionPrototype, HValue*);
6518 HValue* function() { return OperandAt(0); } in function()
6527 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
6530 explicit HLoadFunctionPrototype(HValue* function) in HLoadFunctionPrototype()
6540 virtual HValue* GetKey() = 0;
6541 virtual void SetKey(HValue* key) = 0;
6567 DECLARE_INSTRUCTION_FACTORY_P4(HLoadKeyed, HValue*, HValue*, HValue*,
6569 DECLARE_INSTRUCTION_FACTORY_P5(HLoadKeyed, HValue*, HValue*, HValue*,
6571 DECLARE_INSTRUCTION_FACTORY_P6(HLoadKeyed, HValue*, HValue*, HValue*,
6583 HValue* elements() const { return OperandAt(0); } in elements()
6584 HValue* key() const { return OperandAt(1); } in key()
6585 HValue* dependency() const { in dependency()
6592 HValue* GetKey() { return key(); } in GetKey()
6593 void SetKey(HValue* key) { SetOperandAt(1, key); } in SetKey()
6636 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
6646 HLoadKeyed(HValue* obj,
6647 HValue* key,
6648 HValue* dependency,
6751 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HLoadKeyedGeneric, HValue*,
6752 HValue*);
6753 HValue* object() const { return OperandAt(0); } in object()
6754 HValue* key() const { return OperandAt(1); } in key()
6755 HValue* context() const { return OperandAt(2); } in context()
6775 virtual HValue* Canonicalize() OVERRIDE;
6780 HLoadKeyedGeneric(HValue* context, HValue* obj, HValue* key) in DECLARE_CONCRETE_INSTRUCTION()
6807 DECLARE_INSTRUCTION_FACTORY_P3(HStoreNamedField, HValue*,
6808 HObjectAccess, HValue*);
6809 DECLARE_INSTRUCTION_FACTORY_P4(HStoreNamedField, HValue*,
6810 HObjectAccess, HValue*, StoreFieldOrKeyedMode);
6845 HValue* dominator) OVERRIDE { in HandleSideEffectDominator()
6853 HValue* object() const { return OperandAt(0); } in object()
6854 HValue* value() const { return OperandAt(1); } in value()
6855 HValue* transition() const { return OperandAt(2); } in transition()
6858 HValue* dominator() const { return dominator_; } in dominator()
6907 void UpdateValue(HValue* value) { in UpdateValue()
6925 HStoreNamedField(HValue* obj,
6927 HValue* val,
6944 HValue* dominator_;
6952 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P4(HStoreNamedGeneric, HValue*,
6953 Handle<String>, HValue*,
6955 HValue* object() const { return OperandAt(0); } in object()
6956 HValue* value() const { return OperandAt(1); } in value()
6957 HValue* context() const { return OperandAt(2); } in context()
6970 HStoreNamedGeneric(HValue* context, in DECLARE_CONCRETE_INSTRUCTION()
6971 HValue* object, in DECLARE_CONCRETE_INSTRUCTION()
6973 HValue* value, in DECLARE_CONCRETE_INSTRUCTION()
6991 DECLARE_INSTRUCTION_FACTORY_P4(HStoreKeyed, HValue*, HValue*, HValue*,
6993 DECLARE_INSTRUCTION_FACTORY_P5(HStoreKeyed, HValue*, HValue*, HValue*,
6995 DECLARE_INSTRUCTION_FACTORY_P6(HStoreKeyed, HValue*, HValue*, HValue*,
7060 HValue* elements() const { return OperandAt(0); } in elements()
7061 HValue* key() const { return OperandAt(1); } in key()
7062 HValue* value() const { return OperandAt(2); } in value()
7070 HValue* GetKey() { return key(); } in GetKey()
7071 void SetKey(HValue* key) { SetOperandAt(1, key); } in SetKey()
7084 HValue* dominator) OVERRIDE { in HandleSideEffectDominator()
7090 HValue* dominator() const { return dominator_; } in dominator()
7112 HStoreKeyed(HValue* obj, HValue* key, HValue* val, in DECLARE_CONCRETE_INSTRUCTION()
7160 HValue* dominator_;
7166 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P4(HStoreKeyedGeneric, HValue*,
7167 HValue*, HValue*, StrictMode);
7169 HValue* object() const { return OperandAt(0); } in object()
7170 HValue* key() const { return OperandAt(1); } in key()
7171 HValue* value() const { return OperandAt(2); } in value()
7172 HValue* context() const { return OperandAt(3); } in context()
7185 HStoreKeyedGeneric(HValue* context, in DECLARE_CONCRETE_INSTRUCTION()
7186 HValue* object, in DECLARE_CONCRETE_INSTRUCTION()
7187 HValue* key, in DECLARE_CONCRETE_INSTRUCTION()
7188 HValue* value, in DECLARE_CONCRETE_INSTRUCTION()
7205 HValue* context, in New()
7206 HValue* object, in New()
7217 HValue* object() const { return OperandAt(0); } in object()
7218 HValue* context() const { return OperandAt(1); } in context()
7229 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
7238 HTransitionElementsKind(HValue* context, in HTransitionElementsKind()
7239 HValue* object, in HTransitionElementsKind()
7267 HValue* context,
7268 HValue* left,
7269 HValue* right,
7287 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
7293 HStringAdd(HValue* context, in HStringAdd()
7294 HValue* left, in HStringAdd()
7295 HValue* right, in HStringAdd()
7325 HValue*,
7326 HValue*);
7335 HValue* context() const { return OperandAt(0); } in context()
7336 HValue* string() const { return OperandAt(1); } in string()
7337 HValue* index() const { return OperandAt(2); } in index()
7342 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DECLARE_CONCRETE_INSTRUCTION()
7349 HStringCharCodeAt(HValue* context, HValue* string, HValue* index) { in HStringCharCodeAt()
7368 HValue* context,
7369 HValue* char_code);
7377 HValue* context() const { return OperandAt(0); } in context()
7378 HValue* value() const { return OperandAt(1); } in value()
7380 virtual bool DataEquals(HValue* other) OVERRIDE { return true; } in DataEquals()
7385 HStringCharFromCode(HValue* context, HValue* char_code) in DECLARE_CONCRETE_INSTRUCTION()
7437 HValue* context() { return OperandAt(0); } in context()
7449 HRegExpLiteral(HValue* context, in DECLARE_CONCRETE_INSTRUCTION()
7474 HValue* context() { return OperandAt(0); } in context()
7492 HFunctionLiteral(HValue* context, Handle<SharedFunctionInfo> shared, in HFunctionLiteral()
7517 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P1(HTypeof, HValue*);
7519 HValue* context() const { return OperandAt(0); } in context()
7520 HValue* value() const { return OperandAt(1); } in value()
7531 explicit HTypeof(HValue* context, HValue* value) { in DECLARE_CONCRETE_INSTRUCTION()
7543 DECLARE_INSTRUCTION_FACTORY_P1(HTrapAllocationMemento, HValue*);
7549 HValue* object() { return OperandAt(0); } in object()
7554 explicit HTrapAllocationMemento(HValue* obj) { in DECLARE_CONCRETE_INSTRUCTION()
7562 DECLARE_INSTRUCTION_FACTORY_P1(HToFastProperties, HValue*);
7571 explicit HToFastProperties(HValue* value) : HUnaryOperation(value) { in DECLARE_CONCRETE_INSTRUCTION()
7591 DECLARE_INSTRUCTION_FACTORY_P2(HDateField, HValue*, Smi*);
7602 HDateField(HValue* date, Smi* index) in DECLARE_CONCRETE_INSTRUCTION()
7614 HValue* context,
7616 HValue* string,
7617 HValue* index);
7625 HValue* string() const { return OperandAt(0); } in string()
7626 HValue* index() const { return OperandAt(1); } in index()
7631 virtual bool DataEquals(HValue* other) OVERRIDE { in DECLARE_CONCRETE_INSTRUCTION()
7646 HValue* string, in HSeqStringGetChar()
7647 HValue* index) : encoding_(encoding) { in HSeqStringGetChar()
7665 HValue*, HValue*, HValue*);
7668 HValue* context() { return OperandAt(0); } in context()
7669 HValue* string() { return OperandAt(1); } in string()
7670 HValue* index() { return OperandAt(2); } in index()
7671 HValue* value() { return OperandAt(3); } in value()
7681 HSeqStringSetChar(HValue* context, in DECLARE_CONCRETE_INSTRUCTION()
7683 HValue* string, in DECLARE_CONCRETE_INSTRUCTION()
7684 HValue* index, in DECLARE_CONCRETE_INSTRUCTION()
7685 HValue* value) : encoding_(encoding) { in DECLARE_CONCRETE_INSTRUCTION()
7700 DECLARE_INSTRUCTION_FACTORY_P2(HCheckMapValue, HValue*, HValue*);
7713 HValue* value() const { return OperandAt(0); } in value()
7714 HValue* map() const { return OperandAt(1); } in map()
7716 virtual HValue* Canonicalize() OVERRIDE;
7723 virtual bool DataEquals(HValue* other) OVERRIDE { in DataEquals()
7728 HCheckMapValue(HValue* value, HValue* map) in HCheckMapValue()
7742 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P1(HForInPrepareMap, HValue*);
7748 HValue* context() const { return OperandAt(0); } in context()
7749 HValue* enumerable() const { return OperandAt(1); } in enumerable()
7760 HForInPrepareMap(HValue* context, in HForInPrepareMap()
7761 HValue* object) { in HForInPrepareMap()
7772 DECLARE_INSTRUCTION_FACTORY_P3(HForInCacheArray, HValue*, HValue*, int);
7778 HValue* enumerable() const { return OperandAt(0); } in enumerable()
7779 HValue* map() const { return OperandAt(1); } in map()
7799 HForInCacheArray(HValue* enumerable, in HForInCacheArray()
7800 HValue* keys, in HForInCacheArray()
7814 DECLARE_INSTRUCTION_FACTORY_P2(HLoadFieldByIndex, HValue*, HValue*);
7816 HLoadFieldByIndex(HValue* object, in HLoadFieldByIndex()
7817 HValue* index) { in HLoadFieldByIndex()
7832 HValue* object() const { return OperandAt(0); } in object()
7833 HValue* index() const { return OperandAt(1); } in index()
7850 DECLARE_INSTRUCTION_FACTORY_P1(HStoreFrameContext, HValue*);
7852 HValue* context() { return OperandAt(0); } in context()
7860 explicit HStoreFrameContext(HValue* context) in DECLARE_CONCRETE_INSTRUCTION()
7870 DECLARE_INSTRUCTION_FACTORY_P3(HAllocateBlockContext, HValue*,
7871 HValue*, Handle<ScopeInfo>);
7872 HValue* context() const { return OperandAt(0); } in context()
7873 HValue* function() const { return OperandAt(1); } in function()
7885 HAllocateBlockContext(HValue* context, in DECLARE_CONCRETE_INSTRUCTION()
7886 HValue* function, in DECLARE_CONCRETE_INSTRUCTION()