Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 887168cc755d6779be50924c417fb3c79d9b776f..bef46df4ec53b5f6b78b0bccaf6781a64a05b1fc 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -210,24 +210,27 @@ class LChunkBuilder; |
V(ExternalMemory) |
-#define DECLARE_ABSTRACT_INSTRUCTION(type) \ |
- virtual bool Is##type() const { return true; } \ |
- static H##type* cast(HValue* value) { \ |
- ASSERT(value->Is##type()); \ |
- return reinterpret_cast<H##type*>(value); \ |
+#define DECLARE_ABSTRACT_INSTRUCTION(type) \ |
+ virtual bool Is##type() const V8_FINAL V8_OVERRIDE { return true; } \ |
+ static H##type* cast(HValue* value) { \ |
+ ASSERT(value->Is##type()); \ |
+ return reinterpret_cast<H##type*>(value); \ |
} |
-#define DECLARE_CONCRETE_INSTRUCTION(type) \ |
- virtual LInstruction* CompileToLithium(LChunkBuilder* builder); \ |
- static H##type* cast(HValue* value) { \ |
- ASSERT(value->Is##type()); \ |
- return reinterpret_cast<H##type*>(value); \ |
- } \ |
- virtual Opcode opcode() const { return HValue::k##type; } |
+#define DECLARE_CONCRETE_INSTRUCTION(type) \ |
+ virtual LInstruction* CompileToLithium( \ |
+ LChunkBuilder* builder) V8_FINAL V8_OVERRIDE; \ |
+ static H##type* cast(HValue* value) { \ |
+ ASSERT(value->Is##type()); \ |
+ return reinterpret_cast<H##type*>(value); \ |
+ } \ |
+ virtual Opcode opcode() const V8_FINAL V8_OVERRIDE { \ |
+ return HValue::k##type; \ |
+ } |
-class Range: public ZoneObject { |
+class Range V8_FINAL : public ZoneObject { |
public: |
Range() |
: lower_(kMinInt), |
@@ -302,7 +305,7 @@ class Range: public ZoneObject { |
}; |
-class UniqueValueId { |
+class UniqueValueId V8_FINAL { |
public: |
UniqueValueId() : raw_address_(NULL) { } |
@@ -344,7 +347,7 @@ class UniqueValueId { |
}; |
-class HType { |
+class HType V8_FINAL { |
public: |
static HType None() { return HType(kNone); } |
static HType Tagged() { return HType(kTagged); } |
@@ -495,7 +498,7 @@ class HUseListNode: public ZoneObject { |
// We reuse use list nodes behind the scenes as uses are added and deleted. |
// This class is the safe way to iterate uses while deleting them. |
-class HUseIterator BASE_EMBEDDED { |
+class HUseIterator V8_FINAL BASE_EMBEDDED { |
public: |
bool Done() { return current_ == NULL; } |
void Advance(); |
@@ -539,7 +542,7 @@ enum GVNFlag { |
}; |
-class DecompositionResult BASE_EMBEDDED { |
+class DecompositionResult V8_FINAL BASE_EMBEDDED { |
public: |
DecompositionResult() : base_(NULL), offset_(0), scale_(0) {} |
@@ -587,7 +590,7 @@ class DecompositionResult BASE_EMBEDDED { |
typedef EnumSet<GVNFlag> GVNFlagSet; |
-class HValue: public ZoneObject { |
+class HValue : public ZoneObject { |
public: |
static const int kNoNumber = -1; |
@@ -1082,12 +1085,12 @@ class HValue: public ZoneObject { |
} |
-class HInstruction: public HValue { |
+class HInstruction : public HValue { |
public: |
HInstruction* next() const { return next_; } |
HInstruction* previous() const { return previous_; } |
- virtual void PrintTo(StringStream* stream); |
+ virtual void PrintTo(StringStream* stream) V8_OVERRIDE; |
virtual void PrintDataTo(StringStream* stream); |
bool IsLinked() const { return block() != NULL; } |
@@ -1109,7 +1112,7 @@ class HInstruction: public HValue { |
virtual LInstruction* CompileToLithium(LChunkBuilder* builder) = 0; |
#ifdef DEBUG |
- virtual void Verify(); |
+ virtual void Verify() V8_OVERRIDE; |
#endif |
virtual bool IsCall() { return false; } |
@@ -1125,7 +1128,7 @@ class HInstruction: public HValue { |
SetGVNFlag(kDependsOnOsrEntries); |
} |
- virtual void DeleteFromGraph() { Unlink(); } |
+ virtual void DeleteFromGraph() V8_OVERRIDE { Unlink(); } |
private: |
void InitializeAsFirst(HBasicBlock* block) { |
@@ -1146,26 +1149,30 @@ class HInstruction: public HValue { |
template<int V> |
class HTemplateInstruction : public HInstruction { |
public: |
- int OperandCount() { return V; } |
- HValue* OperandAt(int i) const { return inputs_[i]; } |
+ virtual int OperandCount() V8_FINAL V8_OVERRIDE { return V; } |
+ virtual HValue* OperandAt(int i) const V8_FINAL V8_OVERRIDE { |
+ return inputs_[i]; |
+ } |
protected: |
HTemplateInstruction(HType type = HType::Tagged()) : HInstruction(type) {} |
- void InternalSetOperandAt(int i, HValue* value) { inputs_[i] = value; } |
+ virtual void InternalSetOperandAt(int i, HValue* value) V8_FINAL V8_OVERRIDE { |
+ inputs_[i] = value; |
+ } |
private: |
EmbeddedContainer<HValue*, V> inputs_; |
}; |
-class HControlInstruction: public HInstruction { |
+class HControlInstruction : public HInstruction { |
public: |
virtual HBasicBlock* SuccessorAt(int i) = 0; |
virtual int SuccessorCount() = 0; |
virtual void SetSuccessorAt(int i, HBasicBlock* block) = 0; |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
HBasicBlock* FirstSuccessor() { |
return SuccessorCount() > 0 ? SuccessorAt(0) : NULL; |
@@ -1178,7 +1185,7 @@ class HControlInstruction: public HInstruction { |
}; |
-class HSuccessorIterator BASE_EMBEDDED { |
+class HSuccessorIterator V8_FINAL BASE_EMBEDDED { |
public: |
explicit HSuccessorIterator(HControlInstruction* instr) |
: instr_(instr), current_(0) { } |
@@ -1194,18 +1201,22 @@ class HSuccessorIterator BASE_EMBEDDED { |
template<int S, int V> |
-class HTemplateControlInstruction: public HControlInstruction { |
+class HTemplateControlInstruction : public HControlInstruction { |
public: |
- int SuccessorCount() { return S; } |
- HBasicBlock* SuccessorAt(int i) { return successors_[i]; } |
- void SetSuccessorAt(int i, HBasicBlock* block) { successors_[i] = block; } |
+ int SuccessorCount() V8_OVERRIDE { return S; } |
+ HBasicBlock* SuccessorAt(int i) V8_OVERRIDE { return successors_[i]; } |
+ void SetSuccessorAt(int i, HBasicBlock* block) V8_OVERRIDE { |
+ successors_[i] = block; |
+ } |
- int OperandCount() { return V; } |
- HValue* OperandAt(int i) const { return inputs_[i]; } |
+ int OperandCount() V8_OVERRIDE { return V; } |
+ HValue* OperandAt(int i) const V8_OVERRIDE { return inputs_[i]; } |
protected: |
- void InternalSetOperandAt(int i, HValue* value) { inputs_[i] = value; } |
+ void InternalSetOperandAt(int i, HValue* value) V8_OVERRIDE { |
+ inputs_[i] = value; |
+ } |
private: |
EmbeddedContainer<HBasicBlock*, S> successors_; |
@@ -1213,9 +1224,9 @@ class HTemplateControlInstruction: public HControlInstruction { |
}; |
-class HBlockEntry: public HTemplateInstruction<0> { |
+class HBlockEntry V8_FINAL : public HTemplateInstruction<0> { |
public: |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -1223,7 +1234,7 @@ class HBlockEntry: public HTemplateInstruction<0> { |
}; |
-class HDummyUse: public HTemplateInstruction<1> { |
+class HDummyUse V8_FINAL : public HTemplateInstruction<1> { |
public: |
explicit HDummyUse(HValue* value) |
: HTemplateInstruction<1>(HType::Smi()) { |
@@ -1235,23 +1246,23 @@ class HDummyUse: public HTemplateInstruction<1> { |
HValue* value() { return OperandAt(0); } |
- virtual bool HasEscapingOperandAt(int index) { return false; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual bool HasEscapingOperandAt(int index) V8_OVERRIDE { return false; } |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(DummyUse); |
}; |
-class HDeoptimize: public HTemplateInstruction<0> { |
+class HDeoptimize V8_FINAL : public HTemplateInstruction<0> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P2(HDeoptimize, const char*, |
Deoptimizer::BailoutType); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -1270,9 +1281,9 @@ class HDeoptimize: public HTemplateInstruction<0> { |
// Inserts an int3/stop break instruction for debugging purposes. |
-class HDebugBreak: public HTemplateInstruction<0> { |
+class HDebugBreak V8_FINAL : public HTemplateInstruction<0> { |
public: |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -1280,23 +1291,23 @@ class HDebugBreak: public HTemplateInstruction<0> { |
}; |
-class HGoto: public HTemplateControlInstruction<1, 0> { |
+class HGoto V8_FINAL : public HTemplateControlInstruction<1, 0> { |
public: |
explicit HGoto(HBasicBlock* target) { |
SetSuccessorAt(0, target); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(Goto) |
}; |
-class HUnaryControlInstruction: public HTemplateControlInstruction<2, 1> { |
+class HUnaryControlInstruction : public HTemplateControlInstruction<2, 1> { |
public: |
HUnaryControlInstruction(HValue* value, |
HBasicBlock* true_target, |
@@ -1306,13 +1317,13 @@ class HUnaryControlInstruction: public HTemplateControlInstruction<2, 1> { |
SetSuccessorAt(1, false_target); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
HValue* value() { return OperandAt(0); } |
}; |
-class HBranch: public HUnaryControlInstruction { |
+class HBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
HBranch(HValue* value, |
ToBooleanStub::Types expected_input_types = ToBooleanStub::Types(), |
@@ -1323,10 +1334,10 @@ class HBranch: public HUnaryControlInstruction { |
SetFlag(kAllowUndefinedAsNaN); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
- virtual Representation observed_input_representation(int index); |
+ virtual Representation observed_input_representation(int index) V8_OVERRIDE; |
ToBooleanStub::Types expected_input_types() const { |
return expected_input_types_; |
@@ -1339,7 +1350,7 @@ class HBranch: public HUnaryControlInstruction { |
}; |
-class HCompareMap: public HUnaryControlInstruction { |
+class HCompareMap V8_FINAL : public HUnaryControlInstruction { |
public: |
HCompareMap(HValue* value, |
Handle<Map> map, |
@@ -1350,11 +1361,11 @@ class HCompareMap: public HUnaryControlInstruction { |
ASSERT(!map.is_null()); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
Handle<Map> map() const { return map_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -1365,20 +1376,20 @@ class HCompareMap: public HUnaryControlInstruction { |
}; |
-class HContext: public HTemplateInstruction<0> { |
+class HContext V8_FINAL : public HTemplateInstruction<0> { |
public: |
static HContext* New(Zone* zone) { |
return new(zone) HContext(); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
DECLARE_CONCRETE_INSTRUCTION(Context) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
HContext() { |
@@ -1386,11 +1397,11 @@ class HContext: public HTemplateInstruction<0> { |
SetFlag(kUseGVN); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HReturn: public HTemplateControlInstruction<0, 3> { |
+class HReturn V8_FINAL : public HTemplateControlInstruction<0, 3> { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
@@ -1405,11 +1416,11 @@ class HReturn: public HTemplateControlInstruction<0, 3> { |
return new(zone) HReturn(value, context, 0); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
HValue* value() { return OperandAt(0); } |
HValue* context() { return OperandAt(1); } |
@@ -1426,9 +1437,9 @@ class HReturn: public HTemplateControlInstruction<0, 3> { |
}; |
-class HAbnormalExit: public HTemplateControlInstruction<0, 0> { |
+class HAbnormalExit V8_FINAL : public HTemplateControlInstruction<0, 0> { |
public: |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -1436,7 +1447,7 @@ class HAbnormalExit: public HTemplateControlInstruction<0, 0> { |
}; |
-class HUnaryOperation: public HTemplateInstruction<1> { |
+class HUnaryOperation : public HTemplateInstruction<1> { |
public: |
HUnaryOperation(HValue* value, HType type = HType::Tagged()) |
: HTemplateInstruction<1>(type) { |
@@ -1448,11 +1459,11 @@ class HUnaryOperation: public HTemplateInstruction<1> { |
} |
HValue* value() const { return OperandAt(0); } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
}; |
-class HThrow: public HTemplateInstruction<2> { |
+class HThrow V8_FINAL : public HTemplateInstruction<2> { |
public: |
static HThrow* New(Zone* zone, |
HValue* context, |
@@ -1460,7 +1471,7 @@ class HThrow: public HTemplateInstruction<2> { |
return new(zone) HThrow(context, value); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -1478,11 +1489,11 @@ class HThrow: public HTemplateInstruction<2> { |
}; |
-class HUseConst: public HUnaryOperation { |
+class HUseConst V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HUseConst, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -1493,19 +1504,20 @@ class HUseConst: public HUnaryOperation { |
}; |
-class HForceRepresentation: public HTemplateInstruction<1> { |
+class HForceRepresentation V8_FINAL : public HTemplateInstruction<1> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P2(HForceRepresentation, HValue*, Representation); |
HValue* value() { return OperandAt(0); } |
- virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
+ virtual HValue* EnsureAndPropagateNotMinusZero( |
+ BitVector* visited) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return representation(); // Same as the output representation. |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(ForceRepresentation) |
@@ -1517,7 +1529,7 @@ class HForceRepresentation: public HTemplateInstruction<1> { |
}; |
-class HChange: public HUnaryOperation { |
+class HChange V8_FINAL : public HUnaryOperation { |
public: |
HChange(HValue* value, |
Representation to, |
@@ -1543,47 +1555,48 @@ class HChange: public HUnaryOperation { |
return CheckUsesForFlag(kAllowUndefinedAsNaN); |
} |
- virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
- virtual HType CalculateInferredType(); |
- virtual HValue* Canonicalize(); |
+ virtual HValue* EnsureAndPropagateNotMinusZero( |
+ BitVector* visited) V8_OVERRIDE; |
+ virtual HType CalculateInferredType() V8_OVERRIDE; |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
Representation from() const { return value()->representation(); } |
Representation to() const { return representation(); } |
bool deoptimize_on_minus_zero() const { |
return CheckFlag(kBailoutOnMinusZero); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return from(); |
} |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(Change) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
- virtual bool IsDeletable() const { |
+ virtual bool IsDeletable() const V8_OVERRIDE { |
return !from().IsTagged() || value()->type().IsSmi(); |
} |
}; |
-class HClampToUint8: public HUnaryOperation { |
+class HClampToUint8 V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HClampToUint8, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
DECLARE_CONCRETE_INSTRUCTION(ClampToUint8) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
explicit HClampToUint8(HValue* value) |
@@ -1593,7 +1606,7 @@ class HClampToUint8: public HUnaryOperation { |
SetFlag(kUseGVN); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
@@ -1603,7 +1616,7 @@ enum RemovableSimulate { |
}; |
-class HSimulate: public HInstruction { |
+class HSimulate V8_FINAL : public HInstruction { |
public: |
HSimulate(BailoutId ast_id, |
int pop_count, |
@@ -1615,9 +1628,9 @@ class HSimulate: public HInstruction { |
assigned_indexes_(2, zone), |
zone_(zone), |
removable_(removable) {} |
- virtual ~HSimulate() {} |
+ ~HSimulate() {} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
bool HasAstId() const { return !ast_id_.IsNone(); } |
BailoutId ast_id() const { return ast_id_; } |
@@ -1647,11 +1660,13 @@ class HSimulate: public HInstruction { |
} |
return -1; |
} |
- virtual int OperandCount() { return values_.length(); } |
- virtual HValue* OperandAt(int index) const { return values_[index]; } |
+ virtual int OperandCount() V8_OVERRIDE { return values_.length(); } |
+ virtual HValue* OperandAt(int index) const V8_OVERRIDE { |
+ return values_[index]; |
+ } |
- virtual bool HasEscapingOperandAt(int index) { return false; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual bool HasEscapingOperandAt(int index) V8_OVERRIDE { return false; } |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -1661,13 +1676,13 @@ class HSimulate: public HInstruction { |
DECLARE_CONCRETE_INSTRUCTION(Simulate) |
#ifdef DEBUG |
- virtual void Verify(); |
+ virtual void Verify() V8_OVERRIDE; |
void set_closure(Handle<JSFunction> closure) { closure_ = closure; } |
Handle<JSFunction> closure() const { return closure_; } |
#endif |
protected: |
- virtual void InternalSetOperandAt(int index, HValue* value) { |
+ virtual void InternalSetOperandAt(int index, HValue* value) V8_OVERRIDE { |
values_[index] = value; |
} |
@@ -1700,7 +1715,7 @@ class HSimulate: public HInstruction { |
}; |
-class HEnvironmentMarker: public HTemplateInstruction<1> { |
+class HEnvironmentMarker V8_FINAL : public HTemplateInstruction<1> { |
public: |
enum Kind { BIND, LOOKUP }; |
@@ -1714,11 +1729,11 @@ class HEnvironmentMarker: public HTemplateInstruction<1> { |
next_simulate_ = simulate; |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
#ifdef DEBUG |
void set_closure(Handle<JSFunction> closure) { |
@@ -1742,7 +1757,7 @@ class HEnvironmentMarker: public HTemplateInstruction<1> { |
}; |
-class HStackCheck: public HTemplateInstruction<1> { |
+class HStackCheck V8_FINAL : public HTemplateInstruction<1> { |
public: |
enum Type { |
kFunctionEntry, |
@@ -1753,7 +1768,7 @@ class HStackCheck: public HTemplateInstruction<1> { |
HValue* context() { return OperandAt(0); } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -1792,7 +1807,7 @@ enum InliningKind { |
class HArgumentsObject; |
-class HEnterInlined: public HTemplateInstruction<0> { |
+class HEnterInlined V8_FINAL : public HTemplateInstruction<0> { |
public: |
static HEnterInlined* New(Zone* zone, |
HValue* context, |
@@ -1811,7 +1826,7 @@ class HEnterInlined: public HTemplateInstruction<0> { |
void RegisterReturnTarget(HBasicBlock* return_target, Zone* zone); |
ZoneList<HBasicBlock*>* return_targets() { return &return_targets_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
Handle<JSFunction> closure() const { return closure_; } |
int arguments_count() const { return arguments_count_; } |
@@ -1821,7 +1836,7 @@ class HEnterInlined: public HTemplateInstruction<0> { |
InliningKind inlining_kind() const { return inlining_kind_; } |
bool undefined_receiver() const { return undefined_receiver_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -1862,11 +1877,11 @@ class HEnterInlined: public HTemplateInstruction<0> { |
}; |
-class HLeaveInlined: public HTemplateInstruction<0> { |
+class HLeaveInlined V8_FINAL : public HTemplateInstruction<0> { |
public: |
HLeaveInlined() { } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -1874,11 +1889,11 @@ class HLeaveInlined: public HTemplateInstruction<0> { |
}; |
-class HPushArgument: public HUnaryOperation { |
+class HPushArgument V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HPushArgument, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -1893,39 +1908,39 @@ class HPushArgument: public HUnaryOperation { |
}; |
-class HThisFunction: public HTemplateInstruction<0> { |
+class HThisFunction V8_FINAL : public HTemplateInstruction<0> { |
public: |
HThisFunction() { |
set_representation(Representation::Tagged()); |
SetFlag(kUseGVN); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
DECLARE_CONCRETE_INSTRUCTION(ThisFunction) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HOuterContext: public HUnaryOperation { |
+class HOuterContext V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HOuterContext, HValue*); |
DECLARE_CONCRETE_INSTRUCTION(OuterContext); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
explicit HOuterContext(HValue* inner) : HUnaryOperation(inner) { |
@@ -1933,11 +1948,11 @@ class HOuterContext: public HUnaryOperation { |
SetFlag(kUseGVN); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HDeclareGlobals: public HUnaryOperation { |
+class HDeclareGlobals V8_FINAL : public HUnaryOperation { |
public: |
HDeclareGlobals(HValue* context, |
Handle<FixedArray> pairs, |
@@ -1962,7 +1977,7 @@ class HDeclareGlobals: public HUnaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(DeclareGlobals) |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -1972,7 +1987,7 @@ class HDeclareGlobals: public HUnaryOperation { |
}; |
-class HGlobalObject: public HUnaryOperation { |
+class HGlobalObject V8_FINAL : public HUnaryOperation { |
public: |
explicit HGlobalObject(HValue* context) : HUnaryOperation(context) { |
set_representation(Representation::Tagged()); |
@@ -1985,30 +2000,30 @@ class HGlobalObject: public HUnaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(GlobalObject) |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HGlobalReceiver: public HUnaryOperation { |
+class HGlobalReceiver V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HGlobalReceiver, HValue*); |
DECLARE_CONCRETE_INSTRUCTION(GlobalReceiver) |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
explicit HGlobalReceiver(HValue* global_object) |
@@ -2017,12 +2032,12 @@ class HGlobalReceiver: public HUnaryOperation { |
SetFlag(kUseGVN); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
template <int V> |
-class HCall: public HTemplateInstruction<V> { |
+class HCall : public HTemplateInstruction<V> { |
public: |
// The argument count includes the receiver. |
explicit HCall<V>(int argument_count) : argument_count_(argument_count) { |
@@ -2030,35 +2045,38 @@ class HCall: public HTemplateInstruction<V> { |
this->SetAllSideEffects(); |
} |
- virtual HType CalculateInferredType() { return HType::Tagged(); } |
+ virtual HType CalculateInferredType() V8_FINAL V8_OVERRIDE { |
+ return HType::Tagged(); |
+ } |
virtual int argument_count() const { return argument_count_; } |
- virtual bool IsCall() { return true; } |
+ virtual bool IsCall() V8_FINAL V8_OVERRIDE { return true; } |
private: |
int argument_count_; |
}; |
-class HUnaryCall: public HCall<1> { |
+class HUnaryCall : public HCall<1> { |
public: |
HUnaryCall(HValue* value, int argument_count) |
: HCall<1>(argument_count) { |
SetOperandAt(0, value); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation( |
+ int index) V8_FINAL V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
HValue* value() { return OperandAt(0); } |
}; |
-class HBinaryCall: public HCall<2> { |
+class HBinaryCall : public HCall<2> { |
public: |
HBinaryCall(HValue* first, HValue* second, int argument_count) |
: HCall<2>(argument_count) { |
@@ -2066,9 +2084,10 @@ class HBinaryCall: public HCall<2> { |
SetOperandAt(1, second); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation( |
+ int index) V8_FINAL V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -2077,7 +2096,7 @@ class HBinaryCall: public HCall<2> { |
}; |
-class HInvokeFunction: public HBinaryCall { |
+class HInvokeFunction V8_FINAL : public HBinaryCall { |
public: |
HInvokeFunction(HValue* context, HValue* function, int argument_count) |
: HBinaryCall(context, function, argument_count) { |
@@ -2109,10 +2128,6 @@ class HInvokeFunction: public HBinaryCall { |
known_function, argument_count); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
- return Representation::Tagged(); |
- } |
- |
HValue* context() { return first(); } |
HValue* function() { return second(); } |
Handle<JSFunction> known_function() { return known_function_; } |
@@ -2126,7 +2141,7 @@ class HInvokeFunction: public HBinaryCall { |
}; |
-class HCallConstantFunction: public HCall<0> { |
+class HCallConstantFunction V8_FINAL : public HCall<0> { |
public: |
HCallConstantFunction(Handle<JSFunction> function, int argument_count) |
: HCall<0>(argument_count), |
@@ -2141,9 +2156,9 @@ class HCallConstantFunction: public HCall<0> { |
Isolate::Current()->builtins()->builtin(Builtins::kFunctionApply); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -2155,16 +2170,12 @@ class HCallConstantFunction: public HCall<0> { |
}; |
-class HCallKeyed: public HBinaryCall { |
+class HCallKeyed V8_FINAL : public HBinaryCall { |
public: |
HCallKeyed(HValue* context, HValue* key, int argument_count) |
: HBinaryCall(context, key, argument_count) { |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
- return Representation::Tagged(); |
- } |
- |
HValue* context() { return first(); } |
HValue* key() { return second(); } |
@@ -2172,29 +2183,25 @@ class HCallKeyed: public HBinaryCall { |
}; |
-class HCallNamed: public HUnaryCall { |
+class HCallNamed V8_FINAL : public HUnaryCall { |
public: |
HCallNamed(HValue* context, Handle<String> name, int argument_count) |
: HUnaryCall(context, argument_count), name_(name) { |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
HValue* context() { return value(); } |
Handle<String> name() const { return name_; } |
DECLARE_CONCRETE_INSTRUCTION(CallNamed) |
- virtual Representation RequiredInputRepresentation(int index) { |
- return Representation::Tagged(); |
- } |
- |
private: |
Handle<String> name_; |
}; |
-class HCallFunction: public HBinaryCall { |
+class HCallFunction V8_FINAL : public HBinaryCall { |
public: |
HCallFunction(HValue* context, HValue* function, int argument_count) |
: HBinaryCall(context, function, argument_count) { |
@@ -2210,15 +2217,11 @@ class HCallFunction: public HBinaryCall { |
HValue* context() { return first(); } |
HValue* function() { return second(); } |
- virtual Representation RequiredInputRepresentation(int index) { |
- return Representation::Tagged(); |
- } |
- |
DECLARE_CONCRETE_INSTRUCTION(CallFunction) |
}; |
-class HCallGlobal: public HUnaryCall { |
+class HCallGlobal V8_FINAL : public HUnaryCall { |
public: |
HCallGlobal(HValue* context, Handle<String> name, int argument_count) |
: HUnaryCall(context, argument_count), name_(name) { |
@@ -2231,15 +2234,11 @@ class HCallGlobal: public HUnaryCall { |
return new(zone) HCallGlobal(context, name, argument_count); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
HValue* context() { return value(); } |
Handle<String> name() const { return name_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
- return Representation::Tagged(); |
- } |
- |
DECLARE_CONCRETE_INSTRUCTION(CallGlobal) |
private: |
@@ -2247,19 +2246,19 @@ class HCallGlobal: public HUnaryCall { |
}; |
-class HCallKnownGlobal: public HCall<0> { |
+class HCallKnownGlobal V8_FINAL : public HCall<0> { |
public: |
HCallKnownGlobal(Handle<JSFunction> target, int argument_count) |
: HCall<0>(argument_count), |
target_(target), |
formal_parameter_count_(target->shared()->formal_parameter_count()) { } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
Handle<JSFunction> target() const { return target_; } |
int formal_parameter_count() const { return formal_parameter_count_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -2271,15 +2270,10 @@ class HCallKnownGlobal: public HCall<0> { |
}; |
-class HCallNew: public HBinaryCall { |
+class HCallNew V8_FINAL : public HBinaryCall { |
public: |
HCallNew(HValue* context, HValue* constructor, int argument_count) |
- : HBinaryCall(context, constructor, argument_count) { |
- } |
- |
- virtual Representation RequiredInputRepresentation(int index) { |
- return Representation::Tagged(); |
- } |
+ : HBinaryCall(context, constructor, argument_count) {} |
HValue* context() { return first(); } |
HValue* constructor() { return second(); } |
@@ -2288,15 +2282,18 @@ class HCallNew: public HBinaryCall { |
}; |
-class HCallNewArray: public HCallNew { |
+class HCallNewArray V8_FINAL : public HBinaryCall { |
public: |
HCallNewArray(HValue* context, HValue* constructor, int argument_count, |
Handle<Cell> type_cell, ElementsKind elements_kind) |
- : HCallNew(context, constructor, argument_count), |
+ : HBinaryCall(context, constructor, argument_count), |
elements_kind_(elements_kind), |
type_cell_(type_cell) {} |
- virtual void PrintDataTo(StringStream* stream); |
+ HValue* context() { return first(); } |
+ HValue* constructor() { return second(); } |
+ |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
Handle<Cell> property_cell() const { |
return type_cell_; |
@@ -2312,7 +2309,7 @@ class HCallNewArray: public HCallNew { |
}; |
-class HCallRuntime: public HCall<1> { |
+class HCallRuntime V8_FINAL : public HCall<1> { |
public: |
static HCallRuntime* New(Zone* zone, |
HValue* context, |
@@ -2322,13 +2319,13 @@ class HCallRuntime: public HCall<1> { |
return new(zone) HCallRuntime(context, name, c_function, argument_count); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
HValue* context() { return OperandAt(0); } |
const Runtime::Function* function() const { return c_function_; } |
Handle<String> name() const { return name_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -2348,18 +2345,18 @@ class HCallRuntime: public HCall<1> { |
}; |
-class HMapEnumLength: public HUnaryOperation { |
+class HMapEnumLength V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HMapEnumLength, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(MapEnumLength) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
explicit HMapEnumLength(HValue* value) |
@@ -2369,11 +2366,11 @@ class HMapEnumLength: public HUnaryOperation { |
SetGVNFlag(kDependsOnMaps); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HElementsKind: public HUnaryOperation { |
+class HElementsKind V8_FINAL : public HUnaryOperation { |
public: |
explicit HElementsKind(HValue* value) : HUnaryOperation(value) { |
set_representation(Representation::Integer32()); |
@@ -2381,21 +2378,21 @@ class HElementsKind: public HUnaryOperation { |
SetGVNFlag(kDependsOnElementsKind); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(ElementsKind) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HUnaryMathOperation: public HTemplateInstruction<2> { |
+class HUnaryMathOperation V8_FINAL : public HTemplateInstruction<2> { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
@@ -2405,11 +2402,12 @@ class HUnaryMathOperation: public HTemplateInstruction<2> { |
HValue* context() { return OperandAt(0); } |
HValue* value() { return OperandAt(1); } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
+ virtual HValue* EnsureAndPropagateNotMinusZero( |
+ BitVector* visited) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
if (index == 0) { |
return Representation::Tagged(); |
} else { |
@@ -2433,10 +2431,10 @@ class HUnaryMathOperation: public HTemplateInstruction<2> { |
} |
} |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
- virtual HValue* Canonicalize(); |
- virtual Representation RepresentationFromInputs(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
+ virtual Representation RepresentationFromInputs() V8_OVERRIDE; |
BuiltinFunctionId op() const { return op_; } |
const char* OpName() const; |
@@ -2444,7 +2442,7 @@ class HUnaryMathOperation: public HTemplateInstruction<2> { |
DECLARE_CONCRETE_INSTRUCTION(UnaryMathOperation) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
HUnaryMathOperation* b = HUnaryMathOperation::cast(other); |
return op_ == b->op(); |
} |
@@ -2486,28 +2484,28 @@ class HUnaryMathOperation: public HTemplateInstruction<2> { |
SetFlag(kAllowUndefinedAsNaN); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
BuiltinFunctionId op_; |
}; |
-class HLoadExternalArrayPointer: public HUnaryOperation { |
+class HLoadExternalArrayPointer V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HLoadExternalArrayPointer, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual HType CalculateInferredType() { |
+ virtual HType CalculateInferredType() V8_OVERRIDE { |
return HType::None(); |
} |
DECLARE_CONCRETE_INSTRUCTION(LoadExternalArrayPointer) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
explicit HLoadExternalArrayPointer(HValue* value) |
@@ -2520,11 +2518,11 @@ class HLoadExternalArrayPointer: public HUnaryOperation { |
SetFlag(kUseGVN); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HCheckMaps: public HTemplateInstruction<2> { |
+class HCheckMaps V8_FINAL : public HTemplateInstruction<2> { |
public: |
static HCheckMaps* New(Zone* zone, HValue* context, HValue* value, |
Handle<Map> map, CompilationInfo* info, |
@@ -2542,13 +2540,13 @@ class HCheckMaps: public HTemplateInstruction<2> { |
bool CanOmitMapChecks() { return omit_; } |
- virtual bool HasEscapingOperandAt(int index) { return false; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual bool HasEscapingOperandAt(int index) V8_OVERRIDE { return false; } |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
virtual void HandleSideEffectDominator(GVNFlag side_effect, |
- HValue* dominator); |
- virtual void PrintDataTo(StringStream* stream); |
+ HValue* dominator) V8_OVERRIDE; |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
HValue* value() { return OperandAt(0); } |
SmallMapList* map_set() { return &map_set_; } |
@@ -2557,12 +2555,12 @@ class HCheckMaps: public HTemplateInstruction<2> { |
return has_migration_target_; |
} |
- virtual void FinalizeUniqueValueId(); |
+ virtual void FinalizeUniqueValueId() V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(CheckMaps) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
ASSERT_EQ(map_set_.length(), map_unique_ids_.length()); |
HCheckMaps* b = HCheckMaps::cast(other); |
// Relies on the fact that map_set has been sorted before. |
@@ -2617,22 +2615,22 @@ class HCheckMaps: public HTemplateInstruction<2> { |
}; |
-class HCheckFunction: public HUnaryOperation { |
+class HCheckFunction V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P2(HCheckFunction, HValue*, Handle<JSFunction>); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
#ifdef DEBUG |
- virtual void Verify(); |
+ virtual void Verify() V8_OVERRIDE; |
#endif |
- virtual void FinalizeUniqueValueId() { |
+ virtual void FinalizeUniqueValueId() V8_OVERRIDE { |
target_unique_id_ = UniqueValueId(target_); |
} |
@@ -2642,7 +2640,7 @@ class HCheckFunction: public HUnaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(CheckFunction) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
HCheckFunction* b = HCheckFunction::cast(other); |
return target_unique_id_ == b->target_unique_id_; |
} |
@@ -2662,7 +2660,7 @@ class HCheckFunction: public HUnaryOperation { |
}; |
-class HCheckInstanceType: public HUnaryOperation { |
+class HCheckInstanceType V8_FINAL : public HUnaryOperation { |
public: |
static HCheckInstanceType* NewIsSpecObject(HValue* value, Zone* zone) { |
return new(zone) HCheckInstanceType(value, IS_SPEC_OBJECT); |
@@ -2678,13 +2676,13 @@ class HCheckInstanceType: public HUnaryOperation { |
return new(zone) HCheckInstanceType(value, IS_INTERNALIZED_STRING); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
bool is_interval_check() const { return check_ <= LAST_INTERVAL_CHECK; } |
void GetCheckInterval(InstanceType* first, InstanceType* last); |
@@ -2696,7 +2694,7 @@ class HCheckInstanceType: public HUnaryOperation { |
// TODO(ager): It could be nice to allow the ommision of instance |
// type checks if we have already performed an instance type check |
// with a larger range. |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
HCheckInstanceType* b = HCheckInstanceType::cast(other); |
return check_ == b->check_; |
} |
@@ -2722,15 +2720,15 @@ class HCheckInstanceType: public HUnaryOperation { |
}; |
-class HCheckSmi: public HUnaryOperation { |
+class HCheckSmi V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HCheckSmi, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual HValue* Canonicalize() { |
+ virtual HValue* Canonicalize() V8_OVERRIDE { |
HType value_type = value()->type(); |
if (value_type.IsSmi()) { |
return NULL; |
@@ -2741,7 +2739,7 @@ class HCheckSmi: public HUnaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(CheckSmi) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
explicit HCheckSmi(HValue* value) : HUnaryOperation(value, HType::Smi()) { |
@@ -2751,14 +2749,14 @@ class HCheckSmi: public HUnaryOperation { |
}; |
-class HIsNumberAndBranch: public HUnaryControlInstruction { |
+class HIsNumberAndBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
explicit HIsNumberAndBranch(HValue* value) |
: HUnaryControlInstruction(value, NULL, NULL) { |
SetFlag(kFlexibleRepresentation); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -2766,27 +2764,27 @@ class HIsNumberAndBranch: public HUnaryControlInstruction { |
}; |
-class HCheckHeapObject: public HUnaryOperation { |
+class HCheckHeapObject V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HCheckHeapObject, HValue*); |
- virtual bool HasEscapingOperandAt(int index) { return false; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual bool HasEscapingOperandAt(int index) V8_OVERRIDE { return false; } |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
#ifdef DEBUG |
- virtual void Verify(); |
+ virtual void Verify() V8_OVERRIDE; |
#endif |
- virtual HValue* Canonicalize() { |
+ virtual HValue* Canonicalize() V8_OVERRIDE { |
return value()->type().IsHeapObject() ? NULL : this; |
} |
DECLARE_CONCRETE_INSTRUCTION(CheckHeapObject) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
explicit HCheckHeapObject(HValue* value) |
@@ -2818,7 +2816,7 @@ class HConstant; |
class HBitwise; |
-class InductionVariableData : public ZoneObject { |
+class InductionVariableData V8_FINAL : public ZoneObject { |
public: |
class InductionVariableCheck : public ZoneObject { |
public: |
@@ -3018,7 +3016,7 @@ class InductionVariableData : public ZoneObject { |
}; |
-class HPhi: public HValue { |
+class HPhi V8_FINAL : public HValue { |
public: |
HPhi(int merged_index, Zone* zone) |
: inputs_(2, zone), |
@@ -3034,19 +3032,22 @@ class HPhi: public HValue { |
SetFlag(kAllowUndefinedAsNaN); |
} |
- virtual Representation RepresentationFromInputs(); |
+ virtual Representation RepresentationFromInputs() V8_OVERRIDE; |
- virtual Range* InferRange(Zone* zone); |
- virtual void InferRepresentation(HInferRepresentationPhase* h_infer); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
+ virtual void InferRepresentation( |
+ HInferRepresentationPhase* h_infer) V8_OVERRIDE; |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return representation(); |
} |
- virtual Representation KnownOptimalRepresentation() { |
+ virtual Representation KnownOptimalRepresentation() V8_OVERRIDE { |
return representation(); |
} |
- virtual HType CalculateInferredType(); |
- virtual int OperandCount() { return inputs_.length(); } |
- virtual HValue* OperandAt(int index) const { return inputs_[index]; } |
+ virtual HType CalculateInferredType() V8_OVERRIDE; |
+ virtual int OperandCount() V8_OVERRIDE { return inputs_.length(); } |
+ virtual HValue* OperandAt(int index) const V8_OVERRIDE { |
+ return inputs_[index]; |
+ } |
HValue* GetRedundantReplacement(); |
void AddInput(HValue* value); |
bool HasRealUses(); |
@@ -3071,10 +3072,10 @@ class HPhi: public HValue { |
induction_variable_data_ = InductionVariableData::ExaminePhi(this); |
} |
- virtual void PrintTo(StringStream* stream); |
+ virtual void PrintTo(StringStream* stream) V8_OVERRIDE; |
#ifdef DEBUG |
- virtual void Verify(); |
+ virtual void Verify() V8_OVERRIDE; |
#endif |
void InitRealUses(int id); |
@@ -3111,7 +3112,7 @@ class HPhi: public HValue { |
ASSERT(value->IsPhi()); |
return reinterpret_cast<HPhi*>(value); |
} |
- virtual Opcode opcode() const { return HValue::kPhi; } |
+ virtual Opcode opcode() const V8_OVERRIDE { return HValue::kPhi; } |
void SimplifyConstantInputs(); |
@@ -3119,8 +3120,8 @@ class HPhi: public HValue { |
static const int kInvalidMergedIndex = -1; |
protected: |
- virtual void DeleteFromGraph(); |
- virtual void InternalSetOperandAt(int index, HValue* value) { |
+ virtual void DeleteFromGraph() V8_OVERRIDE; |
+ virtual void InternalSetOperandAt(int index, HValue* value) V8_OVERRIDE { |
inputs_[index] = value; |
} |
@@ -3134,25 +3135,31 @@ class HPhi: public HValue { |
InductionVariableData* induction_variable_data_; |
// TODO(titzer): we can't eliminate the receiver for generating backtraces |
- virtual bool IsDeletable() const { return !IsReceiver(); } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return !IsReceiver(); } |
}; |
// Common base class for HArgumentsObject and HCapturedObject. |
-class HDematerializedObject: public HTemplateInstruction<0> { |
+class HDematerializedObject : public HInstruction { |
public: |
HDematerializedObject(int count, Zone* zone) : values_(count, zone) {} |
- virtual int OperandCount() { return values_.length(); } |
- virtual HValue* OperandAt(int index) const { return values_[index]; } |
+ virtual int OperandCount() V8_FINAL V8_OVERRIDE { return values_.length(); } |
+ virtual HValue* OperandAt(int index) const V8_FINAL V8_OVERRIDE { |
+ return values_[index]; |
+ } |
- virtual bool HasEscapingOperandAt(int index) { return false; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual bool HasEscapingOperandAt(int index) V8_FINAL V8_OVERRIDE { |
+ return false; |
+ } |
+ virtual Representation RequiredInputRepresentation( |
+ int index) V8_FINAL V8_OVERRIDE { |
return Representation::None(); |
} |
protected: |
- virtual void InternalSetOperandAt(int index, HValue* value) { |
+ virtual void InternalSetOperandAt(int index, |
+ HValue* value) V8_FINAL V8_OVERRIDE { |
values_[index] = value; |
} |
@@ -3160,11 +3167,11 @@ class HDematerializedObject: public HTemplateInstruction<0> { |
ZoneList<HValue*> values_; |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_FINAL V8_OVERRIDE { return true; } |
}; |
-class HArgumentsObject: public HDematerializedObject { |
+class HArgumentsObject V8_FINAL : public HDematerializedObject { |
public: |
static HArgumentsObject* New(Zone* zone, HValue* context, int count) { |
return new(zone) HArgumentsObject(count, zone); |
@@ -3191,7 +3198,7 @@ class HArgumentsObject: public HDematerializedObject { |
}; |
-class HCapturedObject: public HDematerializedObject { |
+class HCapturedObject V8_FINAL : public HDematerializedObject { |
public: |
HCapturedObject(int length, Zone* zone) |
: HDematerializedObject(length, zone) { |
@@ -3209,7 +3216,7 @@ class HCapturedObject: public HDematerializedObject { |
}; |
-class HConstant: public HTemplateInstruction<0> { |
+class HConstant V8_FINAL : public HTemplateInstruction<0> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HConstant, int32_t); |
DECLARE_INSTRUCTION_FACTORY_P2(HConstant, int32_t, Representation); |
@@ -3276,11 +3283,11 @@ class HConstant: public HTemplateInstruction<0> { |
return is_cell_; |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
- virtual Representation KnownOptimalRepresentation() { |
+ virtual Representation KnownOptimalRepresentation() V8_OVERRIDE { |
if (HasSmiValue() && kSmiValueSize == 31) return Representation::Smi(); |
if (HasInteger32Value()) return Representation::Integer32(); |
if (HasNumberValue()) return Representation::Double(); |
@@ -3288,8 +3295,8 @@ class HConstant: public HTemplateInstruction<0> { |
return Representation::Tagged(); |
} |
- virtual bool EmitAtUses(); |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual bool EmitAtUses() V8_OVERRIDE; |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
bool IsInteger() { return handle()->IsSmi(); } |
HConstant* CopyToRepresentation(Representation r, Zone* zone) const; |
Maybe<HConstant*> CopyToTruncatedInt32(Zone* zone); |
@@ -3346,7 +3353,7 @@ class HConstant: public HTemplateInstruction<0> { |
bool HasBooleanValue() const { return type_.IsBoolean(); } |
bool BooleanValue() const { return boolean_value_; } |
- virtual intptr_t Hashcode() { |
+ virtual intptr_t Hashcode() V8_OVERRIDE { |
if (has_int32_value_) { |
return static_cast<intptr_t>(int32_value_); |
} else if (has_double_value_) { |
@@ -3359,7 +3366,7 @@ class HConstant: public HTemplateInstruction<0> { |
} |
} |
- virtual void FinalizeUniqueValueId() { |
+ virtual void FinalizeUniqueValueId() V8_OVERRIDE { |
if (!has_double_value_ && !has_external_reference_value_) { |
ASSERT(!handle_.is_null()); |
unique_id_ = UniqueValueId(handle_); |
@@ -3372,15 +3379,15 @@ class HConstant: public HTemplateInstruction<0> { |
} |
#ifdef DEBUG |
- virtual void Verify() { } |
+ virtual void Verify() V8_OVERRIDE { } |
#endif |
DECLARE_CONCRETE_INSTRUCTION(Constant) |
protected: |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
HConstant* other_constant = HConstant::cast(other); |
if (has_int32_value_) { |
return other_constant->has_int32_value_ && |
@@ -3423,7 +3430,7 @@ class HConstant: public HTemplateInstruction<0> { |
void Initialize(Representation r); |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
// If this is a numerical constant, handle_ either points to to the |
// HeapObject the constant originated from or is null. If the |
@@ -3451,7 +3458,7 @@ class HConstant: public HTemplateInstruction<0> { |
}; |
-class HBinaryOperation: public HTemplateInstruction<3> { |
+class HBinaryOperation : public HTemplateInstruction<3> { |
public: |
HBinaryOperation(HValue* context, HValue* left, HValue* right, |
HType type = HType::Tagged()) |
@@ -3501,29 +3508,30 @@ class HBinaryOperation: public HTemplateInstruction<3> { |
observed_output_representation_ = observed; |
} |
- virtual Representation observed_input_representation(int index) { |
+ virtual Representation observed_input_representation(int index) V8_OVERRIDE { |
if (index == 0) return Representation::Tagged(); |
return observed_input_representation_[index - 1]; |
} |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
- const char* reason) { |
+ const char* reason) V8_OVERRIDE { |
Representation rep = !FLAG_smi_binop && new_rep.IsSmi() |
? Representation::Integer32() : new_rep; |
HValue::UpdateRepresentation(rep, h_infer, reason); |
} |
- virtual void InferRepresentation(HInferRepresentationPhase* h_infer); |
- virtual Representation RepresentationFromInputs(); |
+ virtual void InferRepresentation( |
+ HInferRepresentationPhase* h_infer) V8_OVERRIDE; |
+ virtual Representation RepresentationFromInputs() V8_OVERRIDE; |
Representation RepresentationFromOutput(); |
- virtual void AssumeRepresentation(Representation r); |
+ virtual void AssumeRepresentation(Representation r) V8_OVERRIDE; |
virtual bool IsCommutative() const { return false; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
if (index == 0) return Representation::Tagged(); |
return representation(); |
} |
@@ -3538,20 +3546,20 @@ class HBinaryOperation: public HTemplateInstruction<3> { |
}; |
-class HWrapReceiver: public HTemplateInstruction<2> { |
+class HWrapReceiver V8_FINAL : public HTemplateInstruction<2> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P2(HWrapReceiver, HValue*, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
HValue* receiver() { return OperandAt(0); } |
HValue* function() { return OperandAt(1); } |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(WrapReceiver) |
@@ -3564,7 +3572,7 @@ class HWrapReceiver: public HTemplateInstruction<2> { |
}; |
-class HApplyArguments: public HTemplateInstruction<4> { |
+class HApplyArguments V8_FINAL : public HTemplateInstruction<4> { |
public: |
HApplyArguments(HValue* function, |
HValue* receiver, |
@@ -3578,7 +3586,7 @@ class HApplyArguments: public HTemplateInstruction<4> { |
SetAllSideEffects(); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
// The length is untagged, all other inputs are tagged. |
return (index == 2) |
? Representation::Integer32() |
@@ -3594,20 +3602,20 @@ class HApplyArguments: public HTemplateInstruction<4> { |
}; |
-class HArgumentsElements: public HTemplateInstruction<0> { |
+class HArgumentsElements V8_FINAL : public HTemplateInstruction<0> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HArgumentsElements, bool); |
DECLARE_CONCRETE_INSTRUCTION(ArgumentsElements) |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
bool from_inlined() const { return from_inlined_; } |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
explicit HArgumentsElements(bool from_inlined) : from_inlined_(from_inlined) { |
@@ -3617,24 +3625,24 @@ class HArgumentsElements: public HTemplateInstruction<0> { |
SetFlag(kUseGVN); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
bool from_inlined_; |
}; |
-class HArgumentsLength: public HUnaryOperation { |
+class HArgumentsLength V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HArgumentsLength, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(ArgumentsLength) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
explicit HArgumentsLength(HValue* value) : HUnaryOperation(value) { |
@@ -3642,11 +3650,11 @@ class HArgumentsLength: public HUnaryOperation { |
SetFlag(kUseGVN); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HAccessArgumentsAt: public HTemplateInstruction<3> { |
+class HAccessArgumentsAt V8_FINAL : public HTemplateInstruction<3> { |
public: |
HAccessArgumentsAt(HValue* arguments, HValue* length, HValue* index) { |
set_representation(Representation::Tagged()); |
@@ -3656,9 +3664,9 @@ class HAccessArgumentsAt: public HTemplateInstruction<3> { |
SetOperandAt(2, index); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
// The arguments elements is considered tagged. |
return index == 0 |
? Representation::Tagged() |
@@ -3671,14 +3679,14 @@ class HAccessArgumentsAt: public HTemplateInstruction<3> { |
DECLARE_CONCRETE_INSTRUCTION(AccessArgumentsAt) |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
}; |
class HBoundsCheckBaseIndexInformation; |
-class HBoundsCheck: public HTemplateInstruction<2> { |
+class HBoundsCheck V8_FINAL : public HTemplateInstruction<2> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P2(HBoundsCheck, HValue*, HValue*); |
@@ -3707,27 +3715,30 @@ class HBoundsCheck: public HTemplateInstruction<2> { |
} |
} |
- virtual Representation RequiredInputRepresentation(int arg_index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return representation(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
- virtual void InferRepresentation(HInferRepresentationPhase* h_infer); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
+ virtual void InferRepresentation( |
+ HInferRepresentationPhase* h_infer) V8_OVERRIDE; |
HValue* index() { return OperandAt(0); } |
HValue* length() { return OperandAt(1); } |
bool allow_equality() { return allow_equality_; } |
void set_allow_equality(bool v) { allow_equality_ = v; } |
- virtual int RedefinedOperandIndex() { return 0; } |
- virtual bool IsPurelyInformativeDefinition() { return skip_check(); } |
+ virtual int RedefinedOperandIndex() V8_OVERRIDE { return 0; } |
+ virtual bool IsPurelyInformativeDefinition() V8_OVERRIDE { |
+ return skip_check(); |
+ } |
DECLARE_CONCRETE_INSTRUCTION(BoundsCheck) |
protected: |
friend class HBoundsCheckBaseIndexInformation; |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
bool skip_check_; |
HValue* base_; |
int offset_; |
@@ -3749,13 +3760,14 @@ class HBoundsCheck: public HTemplateInstruction<2> { |
SetFlag(kUseGVN); |
} |
- virtual bool IsDeletable() const { |
+ virtual bool IsDeletable() const V8_OVERRIDE { |
return skip_check() && !FLAG_debug_code; |
} |
}; |
-class HBoundsCheckBaseIndexInformation: public HTemplateInstruction<2> { |
+class HBoundsCheckBaseIndexInformation V8_FINAL |
+ : public HTemplateInstruction<2> { |
public: |
explicit HBoundsCheckBaseIndexInformation(HBoundsCheck* check) { |
DecompositionResult decomposition; |
@@ -3772,18 +3784,18 @@ class HBoundsCheckBaseIndexInformation: public HTemplateInstruction<2> { |
DECLARE_CONCRETE_INSTRUCTION(BoundsCheckBaseIndexInformation) |
- virtual Representation RequiredInputRepresentation(int arg_index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return representation(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual int RedefinedOperandIndex() { return 0; } |
- virtual bool IsPurelyInformativeDefinition() { return true; } |
+ virtual int RedefinedOperandIndex() V8_OVERRIDE { return 0; } |
+ virtual bool IsPurelyInformativeDefinition() V8_OVERRIDE { return true; } |
}; |
-class HBitwiseBinaryOperation: public HBinaryOperation { |
+class HBitwiseBinaryOperation : public HBinaryOperation { |
public: |
HBitwiseBinaryOperation(HValue* context, HValue* left, HValue* right, |
HType type = HType::Tagged()) |
@@ -3794,7 +3806,7 @@ class HBitwiseBinaryOperation: public HBinaryOperation { |
SetAllSideEffects(); |
} |
- virtual void RepresentationChanged(Representation to) { |
+ virtual void RepresentationChanged(Representation to) V8_OVERRIDE { |
if (!to.IsTagged()) { |
ASSERT(to.IsSmiOrInteger32()); |
ClearAllSideEffects(); |
@@ -3807,13 +3819,13 @@ class HBitwiseBinaryOperation: public HBinaryOperation { |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
- const char* reason) { |
+ const char* reason) V8_OVERRIDE { |
// We only generate either int32 or generic tagged bitwise operations. |
if (new_rep.IsDouble()) new_rep = Representation::Integer32(); |
HBinaryOperation::UpdateRepresentation(new_rep, h_infer, reason); |
} |
- virtual Representation observed_input_representation(int index) { |
+ virtual Representation observed_input_representation(int index) V8_OVERRIDE { |
Representation r = HBinaryOperation::observed_input_representation(index); |
if (r.IsDouble()) return Representation::Integer32(); |
return r; |
@@ -3827,11 +3839,11 @@ class HBitwiseBinaryOperation: public HBinaryOperation { |
DECLARE_ABSTRACT_INSTRUCTION(BitwiseBinaryOperation) |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HMathFloorOfDiv: public HBinaryOperation { |
+class HMathFloorOfDiv V8_FINAL : public HBinaryOperation { |
public: |
static HMathFloorOfDiv* New(Zone* zone, |
HValue* context, |
@@ -3840,12 +3852,13 @@ class HMathFloorOfDiv: public HBinaryOperation { |
return new(zone) HMathFloorOfDiv(context, left, right); |
} |
- virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
+ virtual HValue* EnsureAndPropagateNotMinusZero( |
+ BitVector* visited) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(MathFloorOfDiv) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
HMathFloorOfDiv(HValue* context, HValue* left, HValue* right) |
@@ -3859,11 +3872,11 @@ class HMathFloorOfDiv: public HBinaryOperation { |
SetFlag(kAllowUndefinedAsNaN); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HArithmeticBinaryOperation: public HBinaryOperation { |
+class HArithmeticBinaryOperation : public HBinaryOperation { |
public: |
HArithmeticBinaryOperation(HValue* context, HValue* left, HValue* right) |
: HBinaryOperation(context, left, right, HType::TaggedNumber()) { |
@@ -3872,7 +3885,7 @@ class HArithmeticBinaryOperation: public HBinaryOperation { |
SetFlag(kAllowUndefinedAsNaN); |
} |
- virtual void RepresentationChanged(Representation to) { |
+ virtual void RepresentationChanged(Representation to) V8_OVERRIDE { |
if (to.IsTagged()) { |
SetAllSideEffects(); |
ClearFlag(kUseGVN); |
@@ -3885,11 +3898,11 @@ class HArithmeticBinaryOperation: public HBinaryOperation { |
DECLARE_ABSTRACT_INSTRUCTION(ArithmeticBinaryOperation) |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HCompareGeneric: public HBinaryOperation { |
+class HCompareGeneric V8_FINAL : public HBinaryOperation { |
public: |
HCompareGeneric(HValue* context, |
HValue* left, |
@@ -3902,14 +3915,14 @@ class HCompareGeneric: public HBinaryOperation { |
SetAllSideEffects(); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return index == 0 |
? Representation::Tagged() |
: representation(); |
} |
Token::Value token() const { return token_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(CompareGeneric) |
@@ -3918,7 +3931,7 @@ class HCompareGeneric: public HBinaryOperation { |
}; |
-class HCompareNumericAndBranch: public HTemplateControlInstruction<2, 2> { |
+class HCompareNumericAndBranch : public HTemplateControlInstruction<2, 2> { |
public: |
HCompareNumericAndBranch(HValue* left, HValue* right, Token::Value token) |
: token_(token) { |
@@ -3938,15 +3951,16 @@ class HCompareNumericAndBranch: public HTemplateControlInstruction<2, 2> { |
observed_input_representation_[1] = right; |
} |
- virtual void InferRepresentation(HInferRepresentationPhase* h_infer); |
+ virtual void InferRepresentation( |
+ HInferRepresentationPhase* h_infer) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return representation(); |
} |
- virtual Representation observed_input_representation(int index) { |
+ virtual Representation observed_input_representation(int index) V8_OVERRIDE { |
return observed_input_representation_[index]; |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(CompareNumericAndBranch) |
@@ -3956,7 +3970,8 @@ class HCompareNumericAndBranch: public HTemplateControlInstruction<2, 2> { |
}; |
-class HCompareHoleAndBranch: public HTemplateControlInstruction<2, 1> { |
+class HCompareHoleAndBranch V8_FINAL |
+ : public HTemplateControlInstruction<2, 1> { |
public: |
// TODO(danno): make this private when the IfBuilder properly constructs |
// control flow instructions. |
@@ -3970,19 +3985,20 @@ class HCompareHoleAndBranch: public HTemplateControlInstruction<2, 1> { |
HValue* object() { return OperandAt(0); } |
- virtual void InferRepresentation(HInferRepresentationPhase* h_infer); |
+ virtual void InferRepresentation( |
+ HInferRepresentationPhase* h_infer) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return representation(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(CompareHoleAndBranch) |
}; |
-class HCompareObjectEqAndBranch: public HTemplateControlInstruction<2, 2> { |
+class HCompareObjectEqAndBranch : public HTemplateControlInstruction<2, 2> { |
public: |
// TODO(danno): make this private when the IfBuilder properly constructs |
// control flow instructions. |
@@ -3997,13 +4013,13 @@ class HCompareObjectEqAndBranch: public HTemplateControlInstruction<2, 2> { |
HValue* left() { return OperandAt(0); } |
HValue* right() { return OperandAt(1); } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual Representation observed_input_representation(int index) { |
+ virtual Representation observed_input_representation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -4011,24 +4027,24 @@ class HCompareObjectEqAndBranch: public HTemplateControlInstruction<2, 2> { |
}; |
-class HIsObjectAndBranch: public HUnaryControlInstruction { |
+class HIsObjectAndBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
explicit HIsObjectAndBranch(HValue* value) |
: HUnaryControlInstruction(value, NULL, NULL) { } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch) |
}; |
-class HIsStringAndBranch: public HUnaryControlInstruction { |
+class HIsStringAndBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
explicit HIsStringAndBranch(HValue* value) |
: HUnaryControlInstruction(value, NULL, NULL) { } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -4036,28 +4052,28 @@ class HIsStringAndBranch: public HUnaryControlInstruction { |
}; |
-class HIsSmiAndBranch: public HUnaryControlInstruction { |
+class HIsSmiAndBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
explicit HIsSmiAndBranch(HValue* value) |
: HUnaryControlInstruction(value, NULL, NULL) { } |
DECLARE_CONCRETE_INSTRUCTION(IsSmiAndBranch) |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
}; |
-class HIsUndetectableAndBranch: public HUnaryControlInstruction { |
+class HIsUndetectableAndBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
explicit HIsUndetectableAndBranch(HValue* value) |
: HUnaryControlInstruction(value, NULL, NULL) { } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -4065,7 +4081,7 @@ class HIsUndetectableAndBranch: public HUnaryControlInstruction { |
}; |
-class HStringCompareAndBranch: public HTemplateControlInstruction<2, 3> { |
+class HStringCompareAndBranch : public HTemplateControlInstruction<2, 3> { |
public: |
HStringCompareAndBranch(HValue* context, |
HValue* left, |
@@ -4085,9 +4101,9 @@ class HStringCompareAndBranch: public HTemplateControlInstruction<2, 3> { |
HValue* right() { return OperandAt(2); } |
Token::Value token() const { return token_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -4102,9 +4118,9 @@ class HStringCompareAndBranch: public HTemplateControlInstruction<2, 3> { |
}; |
-class HIsConstructCallAndBranch: public HTemplateControlInstruction<2, 0> { |
+class HIsConstructCallAndBranch : public HTemplateControlInstruction<2, 0> { |
public: |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -4112,7 +4128,7 @@ class HIsConstructCallAndBranch: public HTemplateControlInstruction<2, 0> { |
}; |
-class HHasInstanceTypeAndBranch: public HUnaryControlInstruction { |
+class HHasInstanceTypeAndBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
HHasInstanceTypeAndBranch(HValue* value, InstanceType type) |
: HUnaryControlInstruction(value, NULL, NULL), from_(type), to_(type) { } |
@@ -4124,9 +4140,9 @@ class HHasInstanceTypeAndBranch: public HUnaryControlInstruction { |
InstanceType from() { return from_; } |
InstanceType to() { return to_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -4138,12 +4154,12 @@ class HHasInstanceTypeAndBranch: public HUnaryControlInstruction { |
}; |
-class HHasCachedArrayIndexAndBranch: public HUnaryControlInstruction { |
+class HHasCachedArrayIndexAndBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
explicit HHasCachedArrayIndexAndBranch(HValue* value) |
: HUnaryControlInstruction(value, NULL, NULL) { } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -4151,28 +4167,28 @@ class HHasCachedArrayIndexAndBranch: public HUnaryControlInstruction { |
}; |
-class HGetCachedArrayIndex: public HUnaryOperation { |
+class HGetCachedArrayIndex V8_FINAL : public HUnaryOperation { |
public: |
explicit HGetCachedArrayIndex(HValue* value) : HUnaryOperation(value) { |
set_representation(Representation::Tagged()); |
SetFlag(kUseGVN); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(GetCachedArrayIndex) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HClassOfTestAndBranch: public HUnaryControlInstruction { |
+class HClassOfTestAndBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
HClassOfTestAndBranch(HValue* value, Handle<String> class_name) |
: HUnaryControlInstruction(value, NULL, NULL), |
@@ -4180,11 +4196,11 @@ class HClassOfTestAndBranch: public HUnaryControlInstruction { |
DECLARE_CONCRETE_INSTRUCTION(ClassOfTestAndBranch) |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
Handle<String> class_name() const { return class_name_; } |
@@ -4193,18 +4209,18 @@ class HClassOfTestAndBranch: public HUnaryControlInstruction { |
}; |
-class HTypeofIsAndBranch: public HUnaryControlInstruction { |
+class HTypeofIsAndBranch V8_FINAL : public HUnaryControlInstruction { |
public: |
HTypeofIsAndBranch(HValue* value, Handle<String> type_literal) |
: HUnaryControlInstruction(value, NULL, NULL), |
type_literal_(type_literal) { } |
Handle<String> type_literal() { return type_literal_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(TypeofIsAndBranch) |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -4213,7 +4229,7 @@ class HTypeofIsAndBranch: public HUnaryControlInstruction { |
}; |
-class HInstanceOf: public HBinaryOperation { |
+class HInstanceOf V8_FINAL : public HBinaryOperation { |
public: |
HInstanceOf(HValue* context, HValue* left, HValue* right) |
: HBinaryOperation(context, left, right, HType::Boolean()) { |
@@ -4221,17 +4237,17 @@ class HInstanceOf: public HBinaryOperation { |
SetAllSideEffects(); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(InstanceOf) |
}; |
-class HInstanceOfKnownGlobal: public HTemplateInstruction<2> { |
+class HInstanceOfKnownGlobal V8_FINAL : public HTemplateInstruction<2> { |
public: |
HInstanceOfKnownGlobal(HValue* context, |
HValue* left, |
@@ -4247,7 +4263,7 @@ class HInstanceOfKnownGlobal: public HTemplateInstruction<2> { |
HValue* left() { return OperandAt(1); } |
Handle<JSFunction> function() { return function_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -4261,7 +4277,7 @@ class HInstanceOfKnownGlobal: public HTemplateInstruction<2> { |
// TODO(mstarzinger): This instruction should be modeled as a load of the map |
// field followed by a load of the instance size field once HLoadNamedField is |
// flexible enough to accommodate byte-field loads. |
-class HInstanceSize: public HTemplateInstruction<1> { |
+class HInstanceSize V8_FINAL : public HTemplateInstruction<1> { |
public: |
explicit HInstanceSize(HValue* object) { |
SetOperandAt(0, object); |
@@ -4270,7 +4286,7 @@ class HInstanceSize: public HTemplateInstruction<1> { |
HValue* object() { return OperandAt(0); } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -4278,7 +4294,7 @@ class HInstanceSize: public HTemplateInstruction<1> { |
}; |
-class HPower: public HTemplateInstruction<2> { |
+class HPower V8_FINAL : public HTemplateInstruction<2> { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
@@ -4288,19 +4304,19 @@ class HPower: public HTemplateInstruction<2> { |
HValue* left() { return OperandAt(0); } |
HValue* right() const { return OperandAt(1); } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return index == 0 |
? Representation::Double() |
: Representation::None(); |
} |
- virtual Representation observed_input_representation(int index) { |
+ virtual Representation observed_input_representation(int index) V8_OVERRIDE { |
return RequiredInputRepresentation(index); |
} |
DECLARE_CONCRETE_INSTRUCTION(Power) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
HPower(HValue* left, HValue* right) { |
@@ -4311,13 +4327,13 @@ class HPower: public HTemplateInstruction<2> { |
SetGVNFlag(kChangesNewSpacePromotion); |
} |
- virtual bool IsDeletable() const { |
+ virtual bool IsDeletable() const V8_OVERRIDE { |
return !right()->representation().IsTagged(); |
} |
}; |
-class HRandom: public HTemplateInstruction<1> { |
+class HRandom V8_FINAL : public HTemplateInstruction<1> { |
public: |
explicit HRandom(HValue* global_object) { |
SetOperandAt(0, global_object); |
@@ -4326,18 +4342,18 @@ class HRandom: public HTemplateInstruction<1> { |
HValue* global_object() { return OperandAt(0); } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(Random) |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HAdd: public HArithmeticBinaryOperation { |
+class HAdd V8_FINAL : public HArithmeticBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
@@ -4346,15 +4362,16 @@ class HAdd: public HArithmeticBinaryOperation { |
// Add is only commutative if two integer values are added and not if two |
// tagged values are added (because it might be a String concatenation). |
- virtual bool IsCommutative() const { |
+ virtual bool IsCommutative() const V8_OVERRIDE { |
return !representation().IsTagged(); |
} |
- virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
+ virtual HValue* EnsureAndPropagateNotMinusZero( |
+ BitVector* visited) V8_OVERRIDE; |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
- virtual bool TryDecompose(DecompositionResult* decomposition) { |
+ virtual bool TryDecompose(DecompositionResult* decomposition) V8_OVERRIDE { |
if (left()->IsInteger32Constant()) { |
decomposition->Apply(right(), left()->GetInteger32Constant()); |
return true; |
@@ -4366,7 +4383,7 @@ class HAdd: public HArithmeticBinaryOperation { |
} |
} |
- virtual void RepresentationChanged(Representation to) { |
+ virtual void RepresentationChanged(Representation to) V8_OVERRIDE { |
if (to.IsTagged()) ClearFlag(kAllowUndefinedAsNaN); |
HArithmeticBinaryOperation::RepresentationChanged(to); |
} |
@@ -4374,9 +4391,9 @@ class HAdd: public HArithmeticBinaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(Add) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
private: |
HAdd(HValue* context, HValue* left, HValue* right) |
@@ -4386,18 +4403,19 @@ class HAdd: public HArithmeticBinaryOperation { |
}; |
-class HSub: public HArithmeticBinaryOperation { |
+class HSub V8_FINAL : public HArithmeticBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
HValue* left, |
HValue* right); |
- virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
+ virtual HValue* EnsureAndPropagateNotMinusZero( |
+ BitVector* visited) V8_OVERRIDE; |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
- virtual bool TryDecompose(DecompositionResult* decomposition) { |
+ virtual bool TryDecompose(DecompositionResult* decomposition) V8_OVERRIDE { |
if (right()->IsInteger32Constant()) { |
decomposition->Apply(left(), -right()->GetInteger32Constant()); |
return true; |
@@ -4409,9 +4427,9 @@ class HSub: public HArithmeticBinaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(Sub) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
private: |
HSub(HValue* context, HValue* left, HValue* right) |
@@ -4421,7 +4439,7 @@ class HSub: public HArithmeticBinaryOperation { |
}; |
-class HMul: public HArithmeticBinaryOperation { |
+class HMul V8_FINAL : public HArithmeticBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
@@ -4439,18 +4457,19 @@ class HMul: public HArithmeticBinaryOperation { |
return mul; |
} |
- virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
+ virtual HValue* EnsureAndPropagateNotMinusZero( |
+ BitVector* visited) V8_OVERRIDE; |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
// Only commutative if it is certain that not two objects are multiplicated. |
- virtual bool IsCommutative() const { |
+ virtual bool IsCommutative() const V8_OVERRIDE { |
return !representation().IsTagged(); |
} |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
- const char* reason) { |
+ const char* reason) V8_OVERRIDE { |
if (new_rep.IsSmi()) new_rep = Representation::Integer32(); |
HArithmeticBinaryOperation::UpdateRepresentation(new_rep, h_infer, reason); |
} |
@@ -4458,9 +4477,9 @@ class HMul: public HArithmeticBinaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(Mul) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
private: |
HMul(HValue* context, HValue* left, HValue* right) |
@@ -4470,7 +4489,7 @@ class HMul: public HArithmeticBinaryOperation { |
}; |
-class HMod: public HArithmeticBinaryOperation { |
+class HMod V8_FINAL : public HArithmeticBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
@@ -4490,13 +4509,14 @@ class HMod: public HArithmeticBinaryOperation { |
return false; |
} |
- virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
+ virtual HValue* EnsureAndPropagateNotMinusZero( |
+ BitVector* visited) V8_OVERRIDE; |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
- const char* reason) { |
+ const char* reason) V8_OVERRIDE { |
if (new_rep.IsSmi()) new_rep = Representation::Integer32(); |
HArithmeticBinaryOperation::UpdateRepresentation(new_rep, h_infer, reason); |
} |
@@ -4504,9 +4524,9 @@ class HMod: public HArithmeticBinaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(Mod) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
private: |
HMod(HValue* context, |
@@ -4523,7 +4543,7 @@ class HMod: public HArithmeticBinaryOperation { |
}; |
-class HDiv: public HArithmeticBinaryOperation { |
+class HDiv V8_FINAL : public HArithmeticBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
@@ -4539,13 +4559,14 @@ class HDiv: public HArithmeticBinaryOperation { |
return false; |
} |
- virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
+ virtual HValue* EnsureAndPropagateNotMinusZero( |
+ BitVector* visited) V8_OVERRIDE; |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
- const char* reason) { |
+ const char* reason) V8_OVERRIDE { |
if (new_rep.IsSmi()) new_rep = Representation::Integer32(); |
HArithmeticBinaryOperation::UpdateRepresentation(new_rep, h_infer, reason); |
} |
@@ -4553,9 +4574,9 @@ class HDiv: public HArithmeticBinaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(Div) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
private: |
HDiv(HValue* context, HValue* left, HValue* right) |
@@ -4566,7 +4587,7 @@ class HDiv: public HArithmeticBinaryOperation { |
}; |
-class HMathMinMax: public HArithmeticBinaryOperation { |
+class HMathMinMax V8_FINAL : public HArithmeticBinaryOperation { |
public: |
enum Operation { kMathMin, kMathMax }; |
@@ -4576,18 +4597,14 @@ class HMathMinMax: public HArithmeticBinaryOperation { |
HValue* right, |
Operation op); |
- virtual Representation RequiredInputRepresentation(int index) { |
- return index == 0 ? Representation::Tagged() |
- : representation(); |
- } |
- |
- virtual Representation observed_input_representation(int index) { |
+ virtual Representation observed_input_representation(int index) V8_OVERRIDE { |
return RequiredInputRepresentation(index); |
} |
- virtual void InferRepresentation(HInferRepresentationPhase* h_infer); |
+ virtual void InferRepresentation( |
+ HInferRepresentationPhase* h_infer) V8_OVERRIDE; |
- virtual Representation RepresentationFromInputs() { |
+ virtual Representation RepresentationFromInputs() V8_OVERRIDE { |
Representation left_rep = left()->representation(); |
Representation right_rep = right()->representation(); |
Representation result = Representation::Smi(); |
@@ -4597,19 +4614,19 @@ class HMathMinMax: public HArithmeticBinaryOperation { |
return result; |
} |
- virtual bool IsCommutative() const { return true; } |
+ virtual bool IsCommutative() const V8_OVERRIDE { return true; } |
Operation operation() { return operation_; } |
DECLARE_CONCRETE_INSTRUCTION(MathMinMax) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
return other->IsMathMinMax() && |
HMathMinMax::cast(other)->operation_ == operation_; |
} |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
private: |
HMathMinMax(HValue* context, HValue* left, HValue* right, Operation op) |
@@ -4620,7 +4637,7 @@ class HMathMinMax: public HArithmeticBinaryOperation { |
}; |
-class HBitwise: public HBitwiseBinaryOperation { |
+class HBitwise V8_FINAL : public HBitwiseBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
@@ -4630,20 +4647,20 @@ class HBitwise: public HBitwiseBinaryOperation { |
Token::Value op() const { return op_; } |
- virtual bool IsCommutative() const { return true; } |
+ virtual bool IsCommutative() const V8_OVERRIDE { return true; } |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(Bitwise) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
return op() == HBitwise::cast(other)->op(); |
} |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
private: |
HBitwise(HValue* context, |
@@ -4680,18 +4697,18 @@ class HBitwise: public HBitwiseBinaryOperation { |
}; |
-class HShl: public HBitwiseBinaryOperation { |
+class HShl V8_FINAL : public HBitwiseBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
HValue* left, |
HValue* right); |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
- const char* reason) { |
+ const char* reason) V8_OVERRIDE { |
if (new_rep.IsSmi() && |
!(right()->IsInteger32Constant() && |
right()->GetInteger32Constant() >= 0)) { |
@@ -4703,7 +4720,7 @@ class HShl: public HBitwiseBinaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(Shl) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
HShl(HValue* context, HValue* left, HValue* right) |
@@ -4711,14 +4728,14 @@ class HShl: public HBitwiseBinaryOperation { |
}; |
-class HShr: public HBitwiseBinaryOperation { |
+class HShr V8_FINAL : public HBitwiseBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
HValue* left, |
HValue* right); |
- virtual bool TryDecompose(DecompositionResult* decomposition) { |
+ virtual bool TryDecompose(DecompositionResult* decomposition) V8_OVERRIDE { |
if (right()->IsInteger32Constant()) { |
if (decomposition->Apply(left(), 0, right()->GetInteger32Constant())) { |
// This is intended to look for HAdd and HSub, to handle compounds |
@@ -4730,11 +4747,11 @@ class HShr: public HBitwiseBinaryOperation { |
return false; |
} |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
- const char* reason) { |
+ const char* reason) V8_OVERRIDE { |
if (new_rep.IsSmi()) new_rep = Representation::Integer32(); |
HBitwiseBinaryOperation::UpdateRepresentation(new_rep, h_infer, reason); |
} |
@@ -4742,7 +4759,7 @@ class HShr: public HBitwiseBinaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(Shr) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
HShr(HValue* context, HValue* left, HValue* right) |
@@ -4750,14 +4767,14 @@ class HShr: public HBitwiseBinaryOperation { |
}; |
-class HSar: public HBitwiseBinaryOperation { |
+class HSar V8_FINAL : public HBitwiseBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
HValue* left, |
HValue* right); |
- virtual bool TryDecompose(DecompositionResult* decomposition) { |
+ virtual bool TryDecompose(DecompositionResult* decomposition) V8_OVERRIDE { |
if (right()->IsInteger32Constant()) { |
if (decomposition->Apply(left(), 0, right()->GetInteger32Constant())) { |
// This is intended to look for HAdd and HSub, to handle compounds |
@@ -4769,11 +4786,11 @@ class HSar: public HBitwiseBinaryOperation { |
return false; |
} |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
- const char* reason) { |
+ const char* reason) V8_OVERRIDE { |
if (new_rep.IsSmi()) new_rep = Representation::Integer32(); |
HBitwiseBinaryOperation::UpdateRepresentation(new_rep, h_infer, reason); |
} |
@@ -4781,7 +4798,7 @@ class HSar: public HBitwiseBinaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(Sar) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
HSar(HValue* context, HValue* left, HValue* right) |
@@ -4789,7 +4806,7 @@ class HSar: public HBitwiseBinaryOperation { |
}; |
-class HRor: public HBitwiseBinaryOperation { |
+class HRor V8_FINAL : public HBitwiseBinaryOperation { |
public: |
HRor(HValue* context, HValue* left, HValue* right) |
: HBitwiseBinaryOperation(context, left, right) { |
@@ -4798,7 +4815,7 @@ class HRor: public HBitwiseBinaryOperation { |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
- const char* reason) { |
+ const char* reason) V8_OVERRIDE { |
if (new_rep.IsSmi()) new_rep = Representation::Integer32(); |
HBitwiseBinaryOperation::UpdateRepresentation(new_rep, h_infer, reason); |
} |
@@ -4806,17 +4823,17 @@ class HRor: public HBitwiseBinaryOperation { |
DECLARE_CONCRETE_INSTRUCTION(Ror) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
}; |
-class HOsrEntry: public HTemplateInstruction<0> { |
+class HOsrEntry V8_FINAL : public HTemplateInstruction<0> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HOsrEntry, BailoutId); |
BailoutId ast_id() const { return ast_id_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -4832,7 +4849,7 @@ class HOsrEntry: public HTemplateInstruction<0> { |
}; |
-class HParameter: public HTemplateInstruction<0> { |
+class HParameter V8_FINAL : public HTemplateInstruction<0> { |
public: |
enum ParameterKind { |
STACK_PARAMETER, |
@@ -4847,9 +4864,9 @@ class HParameter: public HTemplateInstruction<0> { |
unsigned index() const { return index_; } |
ParameterKind kind() const { return kind_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -4876,7 +4893,7 @@ class HParameter: public HTemplateInstruction<0> { |
}; |
-class HCallStub: public HUnaryCall { |
+class HCallStub V8_FINAL : public HUnaryCall { |
public: |
HCallStub(HValue* context, CodeStub::Major major_key, int argument_count) |
: HUnaryCall(context, argument_count), |
@@ -4895,11 +4912,7 @@ class HCallStub: public HUnaryCall { |
return transcendental_type_; |
} |
- virtual void PrintDataTo(StringStream* stream); |
- |
- virtual Representation RequiredInputRepresentation(int index) { |
- return Representation::Tagged(); |
- } |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(CallStub) |
@@ -4909,11 +4922,11 @@ class HCallStub: public HUnaryCall { |
}; |
-class HUnknownOSRValue: public HTemplateInstruction<0> { |
+class HUnknownOSRValue V8_FINAL : public HTemplateInstruction<0> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P0(HUnknownOSRValue) |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
@@ -4925,7 +4938,7 @@ class HUnknownOSRValue: public HTemplateInstruction<0> { |
return incoming_value_; |
} |
- virtual Representation KnownOptimalRepresentation() { |
+ virtual Representation KnownOptimalRepresentation() V8_OVERRIDE { |
if (incoming_value_ == NULL) return Representation::None(); |
return incoming_value_->KnownOptimalRepresentation(); |
} |
@@ -4942,7 +4955,7 @@ class HUnknownOSRValue: public HTemplateInstruction<0> { |
}; |
-class HLoadGlobalCell: public HTemplateInstruction<0> { |
+class HLoadGlobalCell V8_FINAL : public HTemplateInstruction<0> { |
public: |
HLoadGlobalCell(Handle<Cell> cell, PropertyDetails details) |
: cell_(cell), details_(details), unique_id_() { |
@@ -4954,30 +4967,30 @@ class HLoadGlobalCell: public HTemplateInstruction<0> { |
Handle<Cell> cell() const { return cell_; } |
bool RequiresHoleCheck() const; |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual intptr_t Hashcode() { |
+ virtual intptr_t Hashcode() V8_OVERRIDE { |
return unique_id_.Hashcode(); |
} |
- virtual void FinalizeUniqueValueId() { |
+ virtual void FinalizeUniqueValueId() V8_OVERRIDE { |
unique_id_ = UniqueValueId(cell_); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::None(); |
} |
DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
HLoadGlobalCell* b = HLoadGlobalCell::cast(other); |
return unique_id_ == b->unique_id_; |
} |
private: |
- virtual bool IsDeletable() const { return !RequiresHoleCheck(); } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return !RequiresHoleCheck(); } |
Handle<Cell> cell_; |
PropertyDetails details_; |
@@ -4985,7 +4998,7 @@ class HLoadGlobalCell: public HTemplateInstruction<0> { |
}; |
-class HLoadGlobalGeneric: public HTemplateInstruction<2> { |
+class HLoadGlobalGeneric V8_FINAL : public HTemplateInstruction<2> { |
public: |
HLoadGlobalGeneric(HValue* context, |
HValue* global_object, |
@@ -5004,9 +5017,9 @@ class HLoadGlobalGeneric: public HTemplateInstruction<2> { |
Handle<Object> name() const { return name_; } |
bool for_typeof() const { return for_typeof_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -5018,7 +5031,7 @@ class HLoadGlobalGeneric: public HTemplateInstruction<2> { |
}; |
-class HAllocate: public HTemplateInstruction<2> { |
+class HAllocate V8_FINAL : public HTemplateInstruction<2> { |
public: |
static HAllocate* New(Zone* zone, |
HValue* context, |
@@ -5036,7 +5049,7 @@ class HAllocate: public HTemplateInstruction<2> { |
HValue* context() { return OperandAt(0); } |
HValue* size() { return OperandAt(1); } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
if (index == 0) { |
return Representation::Tagged(); |
} else { |
@@ -5085,9 +5098,9 @@ class HAllocate: public HTemplateInstruction<2> { |
} |
virtual void HandleSideEffectDominator(GVNFlag side_effect, |
- HValue* dominator); |
+ HValue* dominator) V8_OVERRIDE; |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(Allocate) |
@@ -5127,7 +5140,7 @@ class HAllocate: public HTemplateInstruction<2> { |
}; |
-class HInnerAllocatedObject: public HTemplateInstruction<1> { |
+class HInnerAllocatedObject V8_FINAL : public HTemplateInstruction<1> { |
public: |
static HInnerAllocatedObject* New(Zone* zone, |
HValue* context, |
@@ -5140,11 +5153,11 @@ class HInnerAllocatedObject: public HTemplateInstruction<1> { |
HValue* base_object() { return OperandAt(0); } |
int offset() { return offset_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(InnerAllocatedObject) |
@@ -5191,7 +5204,7 @@ inline bool ReceiverObjectNeedsWriteBarrier(HValue* object, |
} |
-class HStoreGlobalCell: public HUnaryOperation { |
+class HStoreGlobalCell V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P3(HStoreGlobalCell, HValue*, |
Handle<PropertyCell>, PropertyDetails); |
@@ -5204,10 +5217,10 @@ class HStoreGlobalCell: public HUnaryOperation { |
return StoringValueNeedsWriteBarrier(value()); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell) |
@@ -5226,7 +5239,7 @@ class HStoreGlobalCell: public HUnaryOperation { |
}; |
-class HStoreGlobalGeneric: public HTemplateInstruction<3> { |
+class HStoreGlobalGeneric : public HTemplateInstruction<3> { |
public: |
inline static HStoreGlobalGeneric* New(Zone* zone, |
HValue* context, |
@@ -5244,9 +5257,9 @@ class HStoreGlobalGeneric: public HTemplateInstruction<3> { |
HValue* value() { return OperandAt(2); } |
StrictModeFlag strict_mode_flag() { return strict_mode_flag_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -5272,7 +5285,7 @@ class HStoreGlobalGeneric: public HTemplateInstruction<3> { |
}; |
-class HLoadContextSlot: public HUnaryOperation { |
+class HLoadContextSlot V8_FINAL : public HUnaryOperation { |
public: |
enum Mode { |
// Perform a normal load of the context slot without checking its value. |
@@ -5317,29 +5330,29 @@ class HLoadContextSlot: public HUnaryOperation { |
return mode_ != kNoCheck; |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
HLoadContextSlot* b = HLoadContextSlot::cast(other); |
return (slot_index() == b->slot_index()); |
} |
private: |
- virtual bool IsDeletable() const { return !RequiresHoleCheck(); } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return !RequiresHoleCheck(); } |
int slot_index_; |
Mode mode_; |
}; |
-class HStoreContextSlot: public HTemplateInstruction<2> { |
+class HStoreContextSlot V8_FINAL : public HTemplateInstruction<2> { |
public: |
enum Mode { |
// Perform a normal store to the context slot without checking its previous |
@@ -5374,11 +5387,11 @@ class HStoreContextSlot: public HTemplateInstruction<2> { |
return mode_ != kNoCheck; |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot) |
@@ -5397,7 +5410,7 @@ class HStoreContextSlot: public HTemplateInstruction<2> { |
// Represents an access to a portion of an object, such as the map pointer, |
// array elements pointer, etc, but not accesses to array elements themselves. |
-class HObjectAccess { |
+class HObjectAccess V8_FINAL { |
public: |
inline bool IsInobject() const { |
return portion() != kBackingStore && portion() != kExternalMemory; |
@@ -5572,7 +5585,7 @@ class HObjectAccess { |
}; |
-class HLoadNamedField: public HTemplateInstruction<2> { |
+class HLoadNamedField V8_FINAL : public HTemplateInstruction<2> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P2(HLoadNamedField, HValue*, HObjectAccess); |
DECLARE_INSTRUCTION_FACTORY_P3(HLoadNamedField, HValue*, HObjectAccess, |
@@ -5591,21 +5604,21 @@ class HLoadNamedField: public HTemplateInstruction<2> { |
return access_.representation(); |
} |
- virtual bool HasEscapingOperandAt(int index) { return false; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual bool HasEscapingOperandAt(int index) V8_OVERRIDE { return false; } |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
if (index == 0 && access().IsExternalMemory()) { |
// object must be external in case of external memory access |
return Representation::External(); |
} |
return Representation::Tagged(); |
} |
- virtual Range* InferRange(Zone* zone); |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(LoadNamedField) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
HLoadNamedField* b = HLoadNamedField::cast(other); |
return access_.Equals(b->access_); |
} |
@@ -5637,13 +5650,13 @@ class HLoadNamedField: public HTemplateInstruction<2> { |
access.SetGVNFlags(this, false); |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
HObjectAccess access_; |
}; |
-class HLoadNamedGeneric: public HTemplateInstruction<2> { |
+class HLoadNamedGeneric V8_FINAL : public HTemplateInstruction<2> { |
public: |
HLoadNamedGeneric(HValue* context, HValue* object, Handle<Object> name) |
: name_(name) { |
@@ -5657,11 +5670,11 @@ class HLoadNamedGeneric: public HTemplateInstruction<2> { |
HValue* object() { return OperandAt(1); } |
Handle<Object> name() const { return name_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric) |
@@ -5670,7 +5683,7 @@ class HLoadNamedGeneric: public HTemplateInstruction<2> { |
}; |
-class HLoadFunctionPrototype: public HUnaryOperation { |
+class HLoadFunctionPrototype V8_FINAL : public HUnaryOperation { |
public: |
explicit HLoadFunctionPrototype(HValue* function) |
: HUnaryOperation(function) { |
@@ -5681,14 +5694,14 @@ class HLoadFunctionPrototype: public HUnaryOperation { |
HValue* function() { return OperandAt(0); } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(LoadFunctionPrototype) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
}; |
class ArrayInstructionInterface { |
@@ -5713,7 +5726,7 @@ enum LoadKeyedHoleMode { |
}; |
-class HLoadKeyed |
+class HLoadKeyed V8_FINAL |
: public HTemplateInstruction<3>, public ArrayInstructionInterface { |
public: |
DECLARE_INSTRUCTION_FACTORY_P4(HLoadKeyed, HValue*, HValue*, HValue*, |
@@ -5748,7 +5761,7 @@ class HLoadKeyed |
return HoleModeField::decode(bit_field_); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
// kind_fast: tagged[int32] (none) |
// kind_double: tagged[int32] (none) |
// kind_external: external[int32] (none) |
@@ -5763,22 +5776,22 @@ class HLoadKeyed |
return Representation::None(); |
} |
- virtual Representation observed_input_representation(int index) { |
+ virtual Representation observed_input_representation(int index) V8_OVERRIDE { |
return RequiredInputRepresentation(index); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
bool UsesMustHandleHole() const; |
bool AllUsesCanTreatHoleAsNaN() const; |
bool RequiresHoleCheck() const; |
- virtual Range* InferRange(Zone* zone); |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(LoadKeyed) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
if (!other->IsLoadKeyed()) return false; |
HLoadKeyed* other_load = HLoadKeyed::cast(other); |
@@ -5838,7 +5851,7 @@ class HLoadKeyed |
SetFlag(kUseGVN); |
} |
- virtual bool IsDeletable() const { |
+ virtual bool IsDeletable() const V8_OVERRIDE { |
return !RequiresHoleCheck(); |
} |
@@ -5874,7 +5887,7 @@ class HLoadKeyed |
}; |
-class HLoadKeyedGeneric: public HTemplateInstruction<3> { |
+class HLoadKeyedGeneric V8_FINAL : public HTemplateInstruction<3> { |
public: |
HLoadKeyedGeneric(HValue* context, HValue* obj, HValue* key) { |
set_representation(Representation::Tagged()); |
@@ -5888,28 +5901,30 @@ class HLoadKeyedGeneric: public HTemplateInstruction<3> { |
HValue* key() { return OperandAt(1); } |
HValue* context() { return OperandAt(2); } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
// tagged[tagged] |
return Representation::Tagged(); |
} |
- virtual HValue* Canonicalize(); |
+ virtual HValue* Canonicalize() V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric) |
}; |
-class HStoreNamedField: public HTemplateInstruction<3> { |
+class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P3(HStoreNamedField, HValue*, |
HObjectAccess, HValue*); |
DECLARE_CONCRETE_INSTRUCTION(StoreNamedField) |
- virtual bool HasEscapingOperandAt(int index) { return index == 1; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual bool HasEscapingOperandAt(int index) V8_OVERRIDE { |
+ return index == 1; |
+ } |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
if (index == 0 && access().IsExternalMemory()) { |
// object must be external in case of external memory access |
return Representation::External(); |
@@ -5922,11 +5937,11 @@ class HStoreNamedField: public HTemplateInstruction<3> { |
return Representation::Tagged(); |
} |
virtual void HandleSideEffectDominator(GVNFlag side_effect, |
- HValue* dominator) { |
+ HValue* dominator) V8_OVERRIDE { |
ASSERT(side_effect == kChangesNewSpacePromotion); |
new_space_dominator_ = dominator; |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
void SkipWriteBarrier() { write_barrier_mode_ = SKIP_WRITE_BARRIER; } |
bool IsSkipWriteBarrier() const { |
@@ -6001,7 +6016,7 @@ class HStoreNamedField: public HTemplateInstruction<3> { |
}; |
-class HStoreNamedGeneric: public HTemplateInstruction<3> { |
+class HStoreNamedGeneric V8_FINAL : public HTemplateInstruction<3> { |
public: |
HStoreNamedGeneric(HValue* context, |
HValue* object, |
@@ -6022,9 +6037,9 @@ class HStoreNamedGeneric: public HTemplateInstruction<3> { |
Handle<String> name() { return name_; } |
StrictModeFlag strict_mode_flag() { return strict_mode_flag_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -6036,13 +6051,13 @@ class HStoreNamedGeneric: public HTemplateInstruction<3> { |
}; |
-class HStoreKeyed |
+class HStoreKeyed V8_FINAL |
: public HTemplateInstruction<3>, public ArrayInstructionInterface { |
public: |
DECLARE_INSTRUCTION_FACTORY_P4(HStoreKeyed, HValue*, HValue*, HValue*, |
ElementsKind); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
// kind_fast: tagged[int32] = tagged |
// kind_double: tagged[int32] = double |
// kind_smi : tagged[int32] = smi |
@@ -6072,7 +6087,7 @@ class HStoreKeyed |
return IsExternalArrayElementsKind(elements_kind()); |
} |
- virtual Representation observed_input_representation(int index) { |
+ virtual Representation observed_input_representation(int index) V8_OVERRIDE { |
if (index < 2) return RequiredInputRepresentation(index); |
if (IsUninitialized()) { |
return Representation::None(); |
@@ -6113,7 +6128,7 @@ class HStoreKeyed |
} |
virtual void HandleSideEffectDominator(GVNFlag side_effect, |
- HValue* dominator) { |
+ HValue* dominator) V8_OVERRIDE { |
ASSERT(side_effect == kChangesNewSpacePromotion); |
new_space_dominator_ = dominator; |
} |
@@ -6131,7 +6146,7 @@ class HStoreKeyed |
bool NeedsCanonicalization(); |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(StoreKeyed) |
@@ -6177,7 +6192,7 @@ class HStoreKeyed |
}; |
-class HStoreKeyedGeneric: public HTemplateInstruction<4> { |
+class HStoreKeyedGeneric V8_FINAL : public HTemplateInstruction<4> { |
public: |
HStoreKeyedGeneric(HValue* context, |
HValue* object, |
@@ -6198,12 +6213,12 @@ class HStoreKeyedGeneric: public HTemplateInstruction<4> { |
HValue* context() { return OperandAt(3); } |
StrictModeFlag strict_mode_flag() { return strict_mode_flag_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
// tagged[tagged] = tagged |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric) |
@@ -6212,7 +6227,7 @@ class HStoreKeyedGeneric: public HTemplateInstruction<4> { |
}; |
-class HTransitionElementsKind: public HTemplateInstruction<2> { |
+class HTransitionElementsKind V8_FINAL : public HTemplateInstruction<2> { |
public: |
inline static HTransitionElementsKind* New(Zone* zone, |
HValue* context, |
@@ -6223,7 +6238,7 @@ class HTransitionElementsKind: public HTemplateInstruction<2> { |
original_map, transitioned_map); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -6234,9 +6249,9 @@ class HTransitionElementsKind: public HTemplateInstruction<2> { |
ElementsKind from_kind() { return from_kind_; } |
ElementsKind to_kind() { return to_kind_; } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual void FinalizeUniqueValueId() { |
+ virtual void FinalizeUniqueValueId() V8_OVERRIDE { |
original_map_unique_id_ = UniqueValueId(original_map_); |
transitioned_map_unique_id_ = UniqueValueId(transitioned_map_); |
} |
@@ -6244,7 +6259,7 @@ class HTransitionElementsKind: public HTemplateInstruction<2> { |
DECLARE_CONCRETE_INSTRUCTION(TransitionElementsKind) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
HTransitionElementsKind* instr = HTransitionElementsKind::cast(other); |
return original_map_unique_id_ == instr->original_map_unique_id_ && |
transitioned_map_unique_id_ == instr->transitioned_map_unique_id_; |
@@ -6281,7 +6296,7 @@ class HTransitionElementsKind: public HTemplateInstruction<2> { |
}; |
-class HStringAdd: public HBinaryOperation { |
+class HStringAdd V8_FINAL : public HBinaryOperation { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
@@ -6291,14 +6306,14 @@ class HStringAdd: public HBinaryOperation { |
StringAddFlags flags() const { return flags_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(StringAdd) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
private: |
HStringAdd(HValue* context, HValue* left, HValue* right, StringAddFlags flags) |
@@ -6311,13 +6326,13 @@ class HStringAdd: public HBinaryOperation { |
// No side-effects except possible allocation. |
// NOTE: this instruction _does not_ call ToString() on its inputs. |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
const StringAddFlags flags_; |
}; |
-class HStringCharCodeAt: public HTemplateInstruction<3> { |
+class HStringCharCodeAt V8_FINAL : public HTemplateInstruction<3> { |
public: |
static HStringCharCodeAt* New(Zone* zone, |
HValue* context, |
@@ -6340,9 +6355,9 @@ class HStringCharCodeAt: public HTemplateInstruction<3> { |
DECLARE_CONCRETE_INSTRUCTION(StringCharCodeAt) |
protected: |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
- virtual Range* InferRange(Zone* zone) { |
+ virtual Range* InferRange(Zone* zone) V8_OVERRIDE { |
return new(zone) Range(0, String::kMaxUtf16CodeUnit); |
} |
@@ -6358,17 +6373,17 @@ class HStringCharCodeAt: public HTemplateInstruction<3> { |
} |
// No side effects: runtime function assumes string + number inputs. |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HStringCharFromCode: public HTemplateInstruction<2> { |
+class HStringCharFromCode V8_FINAL : public HTemplateInstruction<2> { |
public: |
static HInstruction* New(Zone* zone, |
HValue* context, |
HValue* char_code); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return index == 0 |
? Representation::Tagged() |
: Representation::Integer32(); |
@@ -6377,7 +6392,7 @@ class HStringCharFromCode: public HTemplateInstruction<2> { |
HValue* context() const { return OperandAt(0); } |
HValue* value() const { return OperandAt(1); } |
- virtual bool DataEquals(HValue* other) { return true; } |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { return true; } |
DECLARE_CONCRETE_INSTRUCTION(StringCharFromCode) |
@@ -6391,14 +6406,14 @@ class HStringCharFromCode: public HTemplateInstruction<2> { |
SetGVNFlag(kChangesNewSpacePromotion); |
} |
- virtual bool IsDeletable() const { |
+ virtual bool IsDeletable() const V8_OVERRIDE { |
return !value()->ToNumberCanBeObserved(); |
} |
}; |
template <int V> |
-class HMaterializedLiteral: public HTemplateInstruction<V> { |
+class HMaterializedLiteral : public HTemplateInstruction<V> { |
public: |
HMaterializedLiteral<V>(int index, int depth, AllocationSiteMode mode) |
: literal_index_(index), depth_(depth), allocation_site_mode_(mode) { |
@@ -6418,7 +6433,7 @@ class HMaterializedLiteral: public HTemplateInstruction<V> { |
} |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_FINAL V8_OVERRIDE { return true; } |
int literal_index_; |
int depth_; |
@@ -6426,7 +6441,7 @@ class HMaterializedLiteral: public HTemplateInstruction<V> { |
}; |
-class HRegExpLiteral: public HMaterializedLiteral<1> { |
+class HRegExpLiteral V8_FINAL : public HMaterializedLiteral<1> { |
public: |
HRegExpLiteral(HValue* context, |
Handle<FixedArray> literals, |
@@ -6447,7 +6462,7 @@ class HRegExpLiteral: public HMaterializedLiteral<1> { |
Handle<String> pattern() { return pattern_; } |
Handle<String> flags() { return flags_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -6460,7 +6475,7 @@ class HRegExpLiteral: public HMaterializedLiteral<1> { |
}; |
-class HFunctionLiteral: public HTemplateInstruction<1> { |
+class HFunctionLiteral V8_FINAL : public HTemplateInstruction<1> { |
public: |
HFunctionLiteral(HValue* context, |
Handle<SharedFunctionInfo> shared, |
@@ -6478,7 +6493,7 @@ class HFunctionLiteral: public HTemplateInstruction<1> { |
HValue* context() { return OperandAt(0); } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -6491,7 +6506,7 @@ class HFunctionLiteral: public HTemplateInstruction<1> { |
LanguageMode language_mode() const { return language_mode_; } |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
Handle<SharedFunctionInfo> shared_info_; |
bool pretenure_ : 1; |
@@ -6501,7 +6516,7 @@ class HFunctionLiteral: public HTemplateInstruction<1> { |
}; |
-class HTypeof: public HTemplateInstruction<2> { |
+class HTypeof V8_FINAL : public HTemplateInstruction<2> { |
public: |
explicit HTypeof(HValue* context, HValue* value) { |
SetOperandAt(0, context); |
@@ -6512,24 +6527,24 @@ class HTypeof: public HTemplateInstruction<2> { |
HValue* context() { return OperandAt(0); } |
HValue* value() { return OperandAt(1); } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(Typeof) |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HTrapAllocationMemento : public HTemplateInstruction<1> { |
+class HTrapAllocationMemento V8_FINAL : public HTemplateInstruction<1> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HTrapAllocationMemento, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -6544,11 +6559,11 @@ class HTrapAllocationMemento : public HTemplateInstruction<1> { |
}; |
-class HToFastProperties: public HUnaryOperation { |
+class HToFastProperties V8_FINAL : public HUnaryOperation { |
public: |
DECLARE_INSTRUCTION_FACTORY_P1(HToFastProperties, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -6570,28 +6585,28 @@ class HToFastProperties: public HUnaryOperation { |
#endif |
} |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HValueOf: public HUnaryOperation { |
+class HValueOf V8_FINAL : public HUnaryOperation { |
public: |
explicit HValueOf(HValue* value) : HUnaryOperation(value) { |
set_representation(Representation::Tagged()); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(ValueOf) |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |
-class HDateField: public HUnaryOperation { |
+class HDateField V8_FINAL : public HUnaryOperation { |
public: |
HDateField(HValue* date, Smi* index) |
: HUnaryOperation(date), index_(index) { |
@@ -6600,7 +6615,7 @@ class HDateField: public HUnaryOperation { |
Smi* index() const { return index_; } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -6611,7 +6626,7 @@ class HDateField: public HUnaryOperation { |
}; |
-class HSeqStringSetChar: public HTemplateInstruction<3> { |
+class HSeqStringSetChar V8_FINAL : public HTemplateInstruction<3> { |
public: |
HSeqStringSetChar(String::Encoding encoding, |
HValue* string, |
@@ -6628,7 +6643,7 @@ class HSeqStringSetChar: public HTemplateInstruction<3> { |
HValue* index() { return OperandAt(1); } |
HValue* value() { return OperandAt(2); } |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return (index == 0) ? Representation::Tagged() |
: Representation::Integer32(); |
} |
@@ -6640,17 +6655,17 @@ class HSeqStringSetChar: public HTemplateInstruction<3> { |
}; |
-class HCheckMapValue: public HTemplateInstruction<2> { |
+class HCheckMapValue V8_FINAL : public HTemplateInstruction<2> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P2(HCheckMapValue, HValue*, HValue*); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual HType CalculateInferredType() { |
+ virtual HType CalculateInferredType() V8_OVERRIDE { |
return HType::Tagged(); |
} |
@@ -6660,7 +6675,7 @@ class HCheckMapValue: public HTemplateInstruction<2> { |
DECLARE_CONCRETE_INSTRUCTION(CheckMapValue) |
protected: |
- virtual bool DataEquals(HValue* other) { |
+ virtual bool DataEquals(HValue* other) V8_OVERRIDE { |
return true; |
} |
@@ -6677,7 +6692,7 @@ class HCheckMapValue: public HTemplateInstruction<2> { |
}; |
-class HForInPrepareMap : public HTemplateInstruction<2> { |
+class HForInPrepareMap V8_FINAL : public HTemplateInstruction<2> { |
public: |
static HForInPrepareMap* New(Zone* zone, |
HValue* context, |
@@ -6685,16 +6700,16 @@ class HForInPrepareMap : public HTemplateInstruction<2> { |
return new(zone) HForInPrepareMap(context, object); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
HValue* context() { return OperandAt(0); } |
HValue* enumerable() { return OperandAt(1); } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual HType CalculateInferredType() { |
+ virtual HType CalculateInferredType() V8_OVERRIDE { |
return HType::Tagged(); |
} |
@@ -6711,11 +6726,11 @@ class HForInPrepareMap : public HTemplateInstruction<2> { |
}; |
-class HForInCacheArray : public HTemplateInstruction<2> { |
+class HForInCacheArray V8_FINAL : public HTemplateInstruction<2> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P3(HForInCacheArray, HValue*, HValue*, int); |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
@@ -6731,9 +6746,9 @@ class HForInCacheArray : public HTemplateInstruction<2> { |
index_cache_ = index_cache; |
} |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual HType CalculateInferredType() { |
+ virtual HType CalculateInferredType() V8_OVERRIDE { |
return HType::Tagged(); |
} |
@@ -6753,7 +6768,7 @@ class HForInCacheArray : public HTemplateInstruction<2> { |
}; |
-class HLoadFieldByIndex : public HTemplateInstruction<2> { |
+class HLoadFieldByIndex V8_FINAL : public HTemplateInstruction<2> { |
public: |
HLoadFieldByIndex(HValue* object, |
HValue* index) { |
@@ -6762,23 +6777,23 @@ class HLoadFieldByIndex : public HTemplateInstruction<2> { |
set_representation(Representation::Tagged()); |
} |
- virtual Representation RequiredInputRepresentation(int index) { |
+ virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
return Representation::Tagged(); |
} |
HValue* object() { return OperandAt(0); } |
HValue* index() { return OperandAt(1); } |
- virtual void PrintDataTo(StringStream* stream); |
+ virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
- virtual HType CalculateInferredType() { |
+ virtual HType CalculateInferredType() V8_OVERRIDE { |
return HType::Tagged(); |
} |
DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex); |
private: |
- virtual bool IsDeletable() const { return true; } |
+ virtual bool IsDeletable() const V8_OVERRIDE { return true; } |
}; |