Index: src/ppc/lithium-ppc.h |
diff --git a/src/arm/lithium-arm.h b/src/ppc/lithium-ppc.h |
similarity index 90% |
copy from src/arm/lithium-arm.h |
copy to src/ppc/lithium-ppc.h |
index 16f522e5b6a0334cbd647e99379a2584583f7974..2a89178c93f8e65d3729ce88e1417740e89b6ddf 100644 |
--- a/src/arm/lithium-arm.h |
+++ b/src/ppc/lithium-ppc.h |
@@ -1,9 +1,12 @@ |
// Copyright 2012 the V8 project authors. All rights reserved. |
+// |
+// Copyright IBM Corp. 2012, 2013. All rights reserved. |
+// |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef V8_ARM_LITHIUM_ARM_H_ |
-#define V8_ARM_LITHIUM_ARM_H_ |
+#ifndef V8_PPC_LITHIUM_PPC_H_ |
+#define V8_PPC_LITHIUM_PPC_H_ |
#include "src/hydrogen.h" |
#include "src/lithium.h" |
@@ -165,24 +168,22 @@ class LCodeGen; |
V(WrapReceiver) |
-#define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \ |
- virtual Opcode opcode() const V8_FINAL V8_OVERRIDE { \ |
- return LInstruction::k##type; \ |
- } \ |
- virtual void CompileToNative(LCodeGen* generator) V8_FINAL V8_OVERRIDE; \ |
- virtual const char* Mnemonic() const V8_FINAL V8_OVERRIDE { \ |
- return mnemonic; \ |
- } \ |
- static L##type* cast(LInstruction* instr) { \ |
- DCHECK(instr->Is##type()); \ |
- return reinterpret_cast<L##type*>(instr); \ |
+#define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \ |
+ virtual Opcode opcode() const V8_FINAL V8_OVERRIDE { \ |
+ return LInstruction::k##type; \ |
+ } \ |
+ virtual void CompileToNative(LCodeGen* generator) V8_FINAL V8_OVERRIDE; \ |
+ virtual const char* Mnemonic() const V8_FINAL V8_OVERRIDE { \ |
+ return mnemonic; \ |
+ } \ |
+ static L##type* cast(LInstruction* instr) { \ |
+ DCHECK(instr->Is##type()); \ |
+ return reinterpret_cast<L##type*>(instr); \ |
} |
-#define DECLARE_HYDROGEN_ACCESSOR(type) \ |
- H##type* hydrogen() const { \ |
- return H##type::cast(hydrogen_value()); \ |
- } |
+#define DECLARE_HYDROGEN_ACCESSOR(type) \ |
+ H##type* hydrogen() const { return H##type::cast(hydrogen_value()); } |
class LInstruction : public ZoneObject { |
@@ -190,8 +191,7 @@ class LInstruction : public ZoneObject { |
LInstruction() |
: environment_(NULL), |
hydrogen_value_(NULL), |
- bit_field_(IsCallBits::encode(false)) { |
- } |
+ bit_field_(IsCallBits::encode(false)) {} |
virtual ~LInstruction() {} |
@@ -202,16 +202,15 @@ class LInstruction : public ZoneObject { |
virtual void PrintOutputOperandTo(StringStream* stream); |
enum Opcode { |
- // Declare a unique enum value for each instruction. |
+// Declare a unique enum value for each instruction. |
#define DECLARE_OPCODE(type) k##type, |
- LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_OPCODE) |
- kNumberOfInstructions |
+ LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_OPCODE) kNumberOfInstructions |
#undef DECLARE_OPCODE |
}; |
virtual Opcode opcode() const = 0; |
- // Declare non-virtual type testers for all leaf IR classes. |
+// Declare non-virtual type testers for all leaf IR classes. |
#define DECLARE_PREDICATE(type) \ |
bool Is##type() const { return opcode() == k##type; } |
LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_PREDICATE) |
@@ -237,7 +236,7 @@ class LInstruction : public ZoneObject { |
void set_hydrogen_value(HValue* value) { hydrogen_value_ = value; } |
HValue* hydrogen_value() const { return hydrogen_value_; } |
- virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { } |
+ virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) {} |
void MarkAsCall() { bit_field_ = IsCallBits::update(bit_field_, true); } |
bool IsCall() const { return IsCallBits::decode(bit_field_); } |
@@ -275,7 +274,7 @@ class LInstruction : public ZoneObject { |
virtual int TempCount() = 0; |
virtual LOperand* TempAt(int i) = 0; |
- class IsCallBits: public BitField<bool, 0, 1> {}; |
+ class IsCallBits : public BitField<bool, 0, 1> {}; |
LEnvironment* environment_; |
SetOncePointer<LPointerMap> pointer_map_; |
@@ -285,7 +284,7 @@ class LInstruction : public ZoneObject { |
// R = number of result operands (0 or 1). |
-template<int R> |
+template <int R> |
class LTemplateResultInstruction : public LInstruction { |
public: |
// Allow 0 or 1 output operands. |
@@ -304,7 +303,7 @@ class LTemplateResultInstruction : public LInstruction { |
// R = number of result operands (0 or 1). |
// I = number of input operands. |
// T = number of temporary operands. |
-template<int R, int I, int T> |
+template <int R, int I, int T> |
class LTemplateInstruction : public LTemplateResultInstruction<R> { |
protected: |
EmbeddedContainer<LOperand*, I> inputs_; |
@@ -322,8 +321,7 @@ class LTemplateInstruction : public LTemplateResultInstruction<R> { |
class LGap : public LTemplateInstruction<0, 0, 0> { |
public: |
- explicit LGap(HBasicBlock* block) |
- : block_(block) { |
+ explicit LGap(HBasicBlock* block) : block_(block) { |
parallel_moves_[BEFORE] = NULL; |
parallel_moves_[START] = NULL; |
parallel_moves_[END] = NULL; |
@@ -351,14 +349,14 @@ class LGap : public LTemplateInstruction<0, 0, 0> { |
LAST_INNER_POSITION = AFTER |
}; |
- LParallelMove* GetOrCreateParallelMove(InnerPosition pos, Zone* zone) { |
+ LParallelMove* GetOrCreateParallelMove(InnerPosition pos, Zone* zone) { |
if (parallel_moves_[pos] == NULL) { |
- parallel_moves_[pos] = new(zone) LParallelMove(zone); |
+ parallel_moves_[pos] = new (zone) LParallelMove(zone); |
} |
return parallel_moves_[pos]; |
} |
- LParallelMove* GetParallelMove(InnerPosition pos) { |
+ LParallelMove* GetParallelMove(InnerPosition pos) { |
return parallel_moves_[pos]; |
} |
@@ -370,7 +368,7 @@ class LGap : public LTemplateInstruction<0, 0, 0> { |
class LInstructionGap V8_FINAL : public LGap { |
public: |
- explicit LInstructionGap(HBasicBlock* block) : LGap(block) { } |
+ explicit LInstructionGap(HBasicBlock* block) : LGap(block) {} |
virtual bool HasInterestingComment(LCodeGen* gen) const V8_OVERRIDE { |
return !IsRedundant(); |
@@ -382,7 +380,7 @@ class LInstructionGap V8_FINAL : public LGap { |
class LGoto V8_FINAL : public LTemplateInstruction<0, 0, 0> { |
public: |
- explicit LGoto(HBasicBlock* block) : block_(block) { } |
+ explicit LGoto(HBasicBlock* block) : block_(block) {} |
virtual bool HasInterestingComment(LCodeGen* gen) const V8_OVERRIDE; |
DECLARE_CONCRETE_INSTRUCTION(Goto, "goto") |
@@ -398,7 +396,7 @@ class LGoto V8_FINAL : public LTemplateInstruction<0, 0, 0> { |
class LLazyBailout V8_FINAL : public LTemplateInstruction<0, 0, 0> { |
public: |
- LLazyBailout() : gap_instructions_size_(0) { } |
+ LLazyBailout() : gap_instructions_size_(0) {} |
DECLARE_CONCRETE_INSTRUCTION(LazyBailout, "lazy-bailout") |
@@ -421,9 +419,7 @@ class LDummy V8_FINAL : public LTemplateInstruction<1, 0, 0> { |
class LDummyUse V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LDummyUse(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LDummyUse(LOperand* value) { inputs_[0] = value; } |
DECLARE_CONCRETE_INSTRUCTION(DummyUse, "dummy-use") |
}; |
@@ -438,8 +434,7 @@ class LDeoptimize V8_FINAL : public LTemplateInstruction<0, 0, 0> { |
class LLabel V8_FINAL : public LGap { |
public: |
- explicit LLabel(HBasicBlock* block) |
- : LGap(block), replacement_(NULL) { } |
+ explicit LLabel(HBasicBlock* block) : LGap(block), replacement_(NULL) {} |
virtual bool HasInterestingComment(LCodeGen* gen) const V8_OVERRIDE { |
return false; |
@@ -471,9 +466,7 @@ class LParameter V8_FINAL : public LTemplateInstruction<1, 0, 0> { |
class LCallStub V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LCallStub(LOperand* context) { |
- inputs_[0] = context; |
- } |
+ explicit LCallStub(LOperand* context) { inputs_[0] = context; } |
LOperand* context() { return inputs_[0]; } |
@@ -491,10 +484,10 @@ class LUnknownOSRValue V8_FINAL : public LTemplateInstruction<1, 0, 0> { |
}; |
-template<int I, int T> |
+template <int I, int T> |
class LControlInstruction : public LTemplateInstruction<0, I, T> { |
public: |
- LControlInstruction() : false_label_(NULL), true_label_(NULL) { } |
+ LControlInstruction() : false_label_(NULL), true_label_(NULL) {} |
virtual bool IsControl() const V8_FINAL V8_OVERRIDE { return true; } |
@@ -552,9 +545,7 @@ class LWrapReceiver V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LApplyArguments V8_FINAL : public LTemplateInstruction<1, 4, 0> { |
public: |
- LApplyArguments(LOperand* function, |
- LOperand* receiver, |
- LOperand* length, |
+ LApplyArguments(LOperand* function, LOperand* receiver, LOperand* length, |
LOperand* elements) { |
inputs_[0] = function; |
inputs_[1] = receiver; |
@@ -591,9 +582,7 @@ class LAccessArgumentsAt V8_FINAL : public LTemplateInstruction<1, 3, 0> { |
class LArgumentsLength V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LArgumentsLength(LOperand* elements) { |
- inputs_[0] = elements; |
- } |
+ explicit LArgumentsLength(LOperand* elements) { inputs_[0] = elements; } |
LOperand* elements() { return inputs_[0]; } |
@@ -644,19 +633,15 @@ class LModByConstI V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
}; |
-class LModI V8_FINAL : public LTemplateInstruction<1, 2, 2> { |
+class LModI V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
public: |
- LModI(LOperand* left, LOperand* right, LOperand* temp, LOperand* temp2) { |
+ LModI(LOperand* left, LOperand* right) { |
inputs_[0] = left; |
inputs_[1] = right; |
- temps_[0] = temp; |
- temps_[1] = temp2; |
} |
LOperand* left() { return inputs_[0]; } |
LOperand* right() { return inputs_[1]; } |
- LOperand* temp() { return temps_[0]; } |
- LOperand* temp2() { return temps_[1]; } |
DECLARE_CONCRETE_INSTRUCTION(ModI, "mod-i") |
DECLARE_HYDROGEN_ACCESSOR(Mod) |
@@ -699,17 +684,15 @@ class LDivByConstI V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
}; |
-class LDivI V8_FINAL : public LTemplateInstruction<1, 2, 1> { |
+class LDivI V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
public: |
- LDivI(LOperand* dividend, LOperand* divisor, LOperand* temp) { |
+ LDivI(LOperand* dividend, LOperand* divisor) { |
inputs_[0] = dividend; |
inputs_[1] = divisor; |
- temps_[0] = temp; |
} |
LOperand* dividend() { return inputs_[0]; } |
LOperand* divisor() { return inputs_[1]; } |
- LOperand* temp() { return temps_[0]; } |
DECLARE_CONCRETE_INSTRUCTION(DivI, "div-i") |
DECLARE_HYDROGEN_ACCESSOR(BinaryOperation) |
@@ -735,7 +718,7 @@ class LFlooringDivByPowerOf2I V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
}; |
-class LFlooringDivByConstI V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
+class LFlooringDivByConstI V8_FINAL : public LTemplateInstruction<1, 1, 1> { |
public: |
LFlooringDivByConstI(LOperand* dividend, int32_t divisor, LOperand* temp) { |
inputs_[0] = dividend; |
@@ -755,17 +738,15 @@ class LFlooringDivByConstI V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
}; |
-class LFlooringDivI V8_FINAL : public LTemplateInstruction<1, 2, 1> { |
+class LFlooringDivI V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
public: |
- LFlooringDivI(LOperand* dividend, LOperand* divisor, LOperand* temp) { |
+ LFlooringDivI(LOperand* dividend, LOperand* divisor) { |
inputs_[0] = dividend; |
inputs_[1] = divisor; |
- temps_[0] = temp; |
} |
LOperand* dividend() { return inputs_[0]; } |
LOperand* divisor() { return inputs_[1]; } |
- LOperand* temp() { return temps_[0]; } |
DECLARE_CONCRETE_INSTRUCTION(FlooringDivI, "flooring-div-i") |
DECLARE_HYDROGEN_ACCESSOR(MathFloorOfDiv) |
@@ -844,9 +825,7 @@ class LCompareNumericAndBranch V8_FINAL : public LControlInstruction<2, 0> { |
DECLARE_HYDROGEN_ACCESSOR(CompareNumericAndBranch) |
Token::Value op() const { return hydrogen()->token(); } |
- bool is_double() const { |
- return hydrogen()->representation().IsDouble(); |
- } |
+ bool is_double() const { return hydrogen()->representation().IsDouble(); } |
virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
}; |
@@ -854,9 +833,7 @@ class LCompareNumericAndBranch V8_FINAL : public LControlInstruction<2, 0> { |
class LMathFloor V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LMathFloor(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LMathFloor(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -907,9 +884,7 @@ class LMathAbs V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LMathLog V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LMathLog(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LMathLog(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -919,9 +894,7 @@ class LMathLog V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LMathClz32 V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LMathClz32(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LMathClz32(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -931,9 +904,7 @@ class LMathClz32 V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LMathExp V8_FINAL : public LTemplateInstruction<1, 1, 3> { |
public: |
- LMathExp(LOperand* value, |
- LOperand* double_temp, |
- LOperand* temp1, |
+ LMathExp(LOperand* value, LOperand* double_temp, LOperand* temp1, |
LOperand* temp2) { |
inputs_[0] = value; |
temps_[0] = temp1; |
@@ -953,9 +924,7 @@ class LMathExp V8_FINAL : public LTemplateInstruction<1, 1, 3> { |
class LMathSqrt V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LMathSqrt(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LMathSqrt(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -965,9 +934,7 @@ class LMathSqrt V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LMathPowHalf V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LMathPowHalf(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LMathPowHalf(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -992,9 +959,7 @@ class LCmpObjectEqAndBranch V8_FINAL : public LControlInstruction<2, 0> { |
class LCmpHoleAndBranch V8_FINAL : public LControlInstruction<1, 0> { |
public: |
- explicit LCmpHoleAndBranch(LOperand* object) { |
- inputs_[0] = object; |
- } |
+ explicit LCmpHoleAndBranch(LOperand* object) { inputs_[0] = object; } |
LOperand* object() { return inputs_[0]; } |
@@ -1055,9 +1020,7 @@ class LIsStringAndBranch V8_FINAL : public LControlInstruction<1, 1> { |
class LIsSmiAndBranch V8_FINAL : public LControlInstruction<1, 0> { |
public: |
- explicit LIsSmiAndBranch(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LIsSmiAndBranch(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -1110,9 +1073,7 @@ class LStringCompareAndBranch V8_FINAL : public LControlInstruction<3, 0> { |
class LHasInstanceTypeAndBranch V8_FINAL : public LControlInstruction<1, 0> { |
public: |
- explicit LHasInstanceTypeAndBranch(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LHasInstanceTypeAndBranch(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -1126,9 +1087,7 @@ class LHasInstanceTypeAndBranch V8_FINAL : public LControlInstruction<1, 0> { |
class LGetCachedArrayIndex V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LGetCachedArrayIndex(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LGetCachedArrayIndex(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -1164,8 +1123,7 @@ class LClassOfTestAndBranch V8_FINAL : public LControlInstruction<1, 1> { |
LOperand* value() { return inputs_[0]; } |
LOperand* temp() { return temps_[0]; } |
- DECLARE_CONCRETE_INSTRUCTION(ClassOfTestAndBranch, |
- "class-of-test-and-branch") |
+ DECLARE_CONCRETE_INSTRUCTION(ClassOfTestAndBranch, "class-of-test-and-branch") |
DECLARE_HYDROGEN_ACCESSOR(ClassOfTestAndBranch) |
virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
@@ -1227,8 +1185,8 @@ class LInstanceOfKnownGlobal V8_FINAL : public LTemplateInstruction<1, 2, 1> { |
LEnvironment* GetDeferredLazyDeoptimizationEnvironment() { |
return lazy_deopt_env_; |
} |
- virtual void SetDeferredLazyDeoptimizationEnvironment( |
- LEnvironment* env) V8_OVERRIDE { |
+ virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) |
+ V8_OVERRIDE { |
lazy_deopt_env_ = env; |
} |
@@ -1371,9 +1329,7 @@ class LConstantT V8_FINAL : public LTemplateInstruction<1, 0, 0> { |
class LBranch V8_FINAL : public LControlInstruction<1, 0> { |
public: |
- explicit LBranch(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LBranch(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -1403,9 +1359,7 @@ class LCmpMapAndBranch V8_FINAL : public LControlInstruction<1, 1> { |
class LMapEnumLength V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LMapEnumLength(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LMapEnumLength(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -1449,9 +1403,7 @@ class LSeqStringGetChar V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LSeqStringSetChar V8_FINAL : public LTemplateInstruction<1, 4, 0> { |
public: |
- LSeqStringSetChar(LOperand* context, |
- LOperand* string, |
- LOperand* index, |
+ LSeqStringSetChar(LOperand* context, LOperand* string, LOperand* index, |
LOperand* value) { |
inputs_[0] = context; |
inputs_[1] = string; |
@@ -1515,8 +1467,7 @@ class LPower V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LArithmeticD V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
public: |
- LArithmeticD(Token::Value op, LOperand* left, LOperand* right) |
- : op_(op) { |
+ LArithmeticD(Token::Value op, LOperand* left, LOperand* right) : op_(op) { |
inputs_[0] = left; |
inputs_[1] = right; |
} |
@@ -1538,9 +1489,7 @@ class LArithmeticD V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LArithmeticT V8_FINAL : public LTemplateInstruction<1, 3, 0> { |
public: |
- LArithmeticT(Token::Value op, |
- LOperand* context, |
- LOperand* left, |
+ LArithmeticT(Token::Value op, LOperand* context, LOperand* left, |
LOperand* right) |
: op_(op) { |
inputs_[0] = context; |
@@ -1589,9 +1538,7 @@ class LReturn V8_FINAL : public LTemplateInstruction<0, 3, 0> { |
class LLoadNamedField V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LLoadNamedField(LOperand* object) { |
- inputs_[0] = object; |
- } |
+ explicit LLoadNamedField(LOperand* object) { inputs_[0] = object; } |
LOperand* object() { return inputs_[0]; } |
@@ -1621,9 +1568,7 @@ class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> { |
class LLoadFunctionPrototype V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LLoadFunctionPrototype(LOperand* function) { |
- inputs_[0] = function; |
- } |
+ explicit LLoadFunctionPrototype(LOperand* function) { inputs_[0] = function; } |
LOperand* function() { return inputs_[0]; } |
@@ -1650,12 +1595,8 @@ class LLoadKeyed V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
LOperand* elements() { return inputs_[0]; } |
LOperand* key() { return inputs_[1]; } |
- ElementsKind elements_kind() const { |
- return hydrogen()->elements_kind(); |
- } |
- bool is_external() const { |
- return hydrogen()->is_external(); |
- } |
+ ElementsKind elements_kind() const { return hydrogen()->elements_kind(); } |
+ bool is_external() const { return hydrogen()->is_external(); } |
bool is_fixed_typed_array() const { |
return hydrogen()->is_fixed_typed_array(); |
} |
@@ -1736,9 +1677,7 @@ class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 1> { |
class LLoadContextSlot V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LLoadContextSlot(LOperand* context) { |
- inputs_[0] = context; |
- } |
+ explicit LLoadContextSlot(LOperand* context) { inputs_[0] = context; } |
LOperand* context() { return inputs_[0]; } |
@@ -1772,9 +1711,7 @@ class LStoreContextSlot V8_FINAL : public LTemplateInstruction<0, 2, 0> { |
class LPushArgument V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
public: |
- explicit LPushArgument(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LPushArgument(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -1784,7 +1721,7 @@ class LPushArgument V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
class LDrop V8_FINAL : public LTemplateInstruction<0, 0, 0> { |
public: |
- explicit LDrop(int count) : count_(count) { } |
+ explicit LDrop(int count) : count_(count) {} |
int count() const { return count_; } |
@@ -1795,7 +1732,7 @@ class LDrop V8_FINAL : public LTemplateInstruction<0, 0, 0> { |
}; |
-class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 2, 0> { |
+class LStoreCodeEntry V8_FINAL : public LTemplateInstruction<0, 2, 0> { |
public: |
LStoreCodeEntry(LOperand* function, LOperand* code_object) { |
inputs_[0] = function; |
@@ -1812,7 +1749,7 @@ class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 2, 0> { |
}; |
-class LInnerAllocatedObject V8_FINAL: public LTemplateInstruction<1, 2, 0> { |
+class LInnerAllocatedObject V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
public: |
LInnerAllocatedObject(LOperand* base_object, LOperand* offset) { |
inputs_[0] = base_object; |
@@ -1844,9 +1781,7 @@ class LContext V8_FINAL : public LTemplateInstruction<1, 0, 0> { |
class LDeclareGlobals V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
public: |
- explicit LDeclareGlobals(LOperand* context) { |
- inputs_[0] = context; |
- } |
+ explicit LDeclareGlobals(LOperand* context) { inputs_[0] = context; } |
LOperand* context() { return inputs_[0]; } |
@@ -1857,9 +1792,7 @@ class LDeclareGlobals V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
class LCallJSFunction V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LCallJSFunction(LOperand* function) { |
- inputs_[0] = function; |
- } |
+ explicit LCallJSFunction(LOperand* function) { inputs_[0] = function; } |
LOperand* function() { return inputs_[0]; } |
@@ -1875,10 +1808,9 @@ class LCallJSFunction V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> { |
public: |
LCallWithDescriptor(const InterfaceDescriptor* descriptor, |
- const ZoneList<LOperand*>& operands, |
- Zone* zone) |
- : descriptor_(descriptor), |
- inputs_(descriptor->GetRegisterParameterCount() + 1, zone) { |
+ const ZoneList<LOperand*>& operands, Zone* zone) |
+ : descriptor_(descriptor), |
+ inputs_(descriptor->GetRegisterParameterCount() + 1, zone) { |
DCHECK(descriptor->GetRegisterParameterCount() + 1 == operands.length()); |
inputs_.AddAll(operands, zone); |
} |
@@ -1983,9 +1915,7 @@ class LCallNewArray V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LCallRuntime V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LCallRuntime(LOperand* context) { |
- inputs_[0] = context; |
- } |
+ explicit LCallRuntime(LOperand* context) { inputs_[0] = context; } |
LOperand* context() { return inputs_[0]; } |
@@ -2004,9 +1934,7 @@ class LCallRuntime V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LInteger32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LInteger32ToDouble(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LInteger32ToDouble(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2016,9 +1944,7 @@ class LInteger32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LUint32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LUint32ToDouble(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LUint32ToDouble(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2077,9 +2003,7 @@ class LNumberTagD V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
class LDoubleToSmi V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LDoubleToSmi(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LDoubleToSmi(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2093,9 +2017,7 @@ class LDoubleToSmi V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
// Sometimes truncating conversion from a tagged value to an int32. |
class LDoubleToI V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LDoubleToI(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LDoubleToI(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2109,9 +2031,7 @@ class LDoubleToI V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
// Truncating conversion from a tagged value to an int32. |
class LTaggedToI V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
public: |
- LTaggedToI(LOperand* value, |
- LOperand* temp, |
- LOperand* temp2) { |
+ LTaggedToI(LOperand* value, LOperand* temp, LOperand* temp2) { |
inputs_[0] = value; |
temps_[0] = temp; |
temps_[1] = temp2; |
@@ -2130,9 +2050,7 @@ class LTaggedToI V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LSmiTag(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LSmiTag(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2143,9 +2061,7 @@ class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LNumberUntagD V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LNumberUntagD(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LNumberUntagD(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2156,8 +2072,7 @@ class LNumberUntagD V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LSmiUntag V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- LSmiUntag(LOperand* value, bool needs_check) |
- : needs_check_(needs_check) { |
+ LSmiUntag(LOperand* value, bool needs_check) : needs_check_(needs_check) { |
inputs_[0] = value; |
} |
@@ -2234,9 +2149,7 @@ class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> { |
LOperand* elements() { return inputs_[0]; } |
LOperand* key() { return inputs_[1]; } |
LOperand* value() { return inputs_[2]; } |
- ElementsKind elements_kind() const { |
- return hydrogen()->elements_kind(); |
- } |
+ ElementsKind elements_kind() const { return hydrogen()->elements_kind(); } |
DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed") |
DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) |
@@ -2255,9 +2168,7 @@ class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> { |
class LStoreKeyedGeneric V8_FINAL : public LTemplateInstruction<0, 4, 0> { |
public: |
- LStoreKeyedGeneric(LOperand* context, |
- LOperand* obj, |
- LOperand* key, |
+ LStoreKeyedGeneric(LOperand* context, LOperand* obj, LOperand* key, |
LOperand* value) { |
inputs_[0] = context; |
inputs_[1] = obj; |
@@ -2281,8 +2192,7 @@ class LStoreKeyedGeneric V8_FINAL : public LTemplateInstruction<0, 4, 0> { |
class LTransitionElementsKind V8_FINAL : public LTemplateInstruction<0, 2, 1> { |
public: |
- LTransitionElementsKind(LOperand* object, |
- LOperand* context, |
+ LTransitionElementsKind(LOperand* object, LOperand* context, |
LOperand* new_map_temp) { |
inputs_[0] = object; |
inputs_[1] = context; |
@@ -2310,8 +2220,7 @@ class LTransitionElementsKind V8_FINAL : public LTemplateInstruction<0, 2, 1> { |
class LTrapAllocationMemento V8_FINAL : public LTemplateInstruction<0, 1, 1> { |
public: |
- LTrapAllocationMemento(LOperand* object, |
- LOperand* temp) { |
+ LTrapAllocationMemento(LOperand* object, LOperand* temp) { |
inputs_[0] = object; |
temps_[0] = temp; |
} |
@@ -2319,8 +2228,7 @@ class LTrapAllocationMemento V8_FINAL : public LTemplateInstruction<0, 1, 1> { |
LOperand* object() { return inputs_[0]; } |
LOperand* temp() { return temps_[0]; } |
- DECLARE_CONCRETE_INSTRUCTION(TrapAllocationMemento, |
- "trap-allocation-memento") |
+ DECLARE_CONCRETE_INSTRUCTION(TrapAllocationMemento, "trap-allocation-memento") |
}; |
@@ -2341,7 +2249,6 @@ class LStringAdd V8_FINAL : public LTemplateInstruction<1, 3, 0> { |
}; |
- |
class LStringCharCodeAt V8_FINAL : public LTemplateInstruction<1, 3, 0> { |
public: |
LStringCharCodeAt(LOperand* context, LOperand* string, LOperand* index) { |
@@ -2376,9 +2283,7 @@ class LStringCharFromCode V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LCheckValue V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
public: |
- explicit LCheckValue(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LCheckValue(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2389,9 +2294,7 @@ class LCheckValue V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
class LCheckInstanceType V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
public: |
- explicit LCheckInstanceType(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LCheckInstanceType(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2402,9 +2305,7 @@ class LCheckInstanceType V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
class LCheckMaps V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
public: |
- explicit LCheckMaps(LOperand* value = NULL) { |
- inputs_[0] = value; |
- } |
+ explicit LCheckMaps(LOperand* value = NULL) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2415,9 +2316,7 @@ class LCheckMaps V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
class LCheckSmi V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LCheckSmi(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LCheckSmi(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2427,9 +2326,7 @@ class LCheckSmi V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LCheckNonSmi V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
public: |
- explicit LCheckNonSmi(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LCheckNonSmi(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2440,9 +2337,7 @@ class LCheckNonSmi V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
class LClampDToUint8 V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LClampDToUint8(LOperand* unclamped) { |
- inputs_[0] = unclamped; |
- } |
+ explicit LClampDToUint8(LOperand* unclamped) { inputs_[0] = unclamped; } |
LOperand* unclamped() { return inputs_[0]; } |
@@ -2452,9 +2347,7 @@ class LClampDToUint8 V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LClampIToUint8 V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LClampIToUint8(LOperand* unclamped) { |
- inputs_[0] = unclamped; |
- } |
+ explicit LClampIToUint8(LOperand* unclamped) { inputs_[0] = unclamped; } |
LOperand* unclamped() { return inputs_[0]; } |
@@ -2478,9 +2371,7 @@ class LClampTToUint8 V8_FINAL : public LTemplateInstruction<1, 1, 1> { |
class LDoubleBits V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LDoubleBits(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LDoubleBits(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2505,9 +2396,7 @@ class LConstructDouble V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LAllocate V8_FINAL : public LTemplateInstruction<1, 2, 2> { |
public: |
- LAllocate(LOperand* context, |
- LOperand* size, |
- LOperand* temp1, |
+ LAllocate(LOperand* context, LOperand* size, LOperand* temp1, |
LOperand* temp2) { |
inputs_[0] = context; |
inputs_[1] = size; |
@@ -2527,9 +2416,7 @@ class LAllocate V8_FINAL : public LTemplateInstruction<1, 2, 2> { |
class LRegExpLiteral V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LRegExpLiteral(LOperand* context) { |
- inputs_[0] = context; |
- } |
+ explicit LRegExpLiteral(LOperand* context) { inputs_[0] = context; } |
LOperand* context() { return inputs_[0]; } |
@@ -2540,9 +2427,7 @@ class LRegExpLiteral V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LFunctionLiteral V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LFunctionLiteral(LOperand* context) { |
- inputs_[0] = context; |
- } |
+ explicit LFunctionLiteral(LOperand* context) { inputs_[0] = context; } |
LOperand* context() { return inputs_[0]; } |
@@ -2553,9 +2438,7 @@ class LFunctionLiteral V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
class LToFastProperties V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LToFastProperties(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LToFastProperties(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2580,9 +2463,7 @@ class LTypeof V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LTypeofIsAndBranch V8_FINAL : public LControlInstruction<1, 0> { |
public: |
- explicit LTypeofIsAndBranch(LOperand* value) { |
- inputs_[0] = value; |
- } |
+ explicit LTypeofIsAndBranch(LOperand* value) { inputs_[0] = value; } |
LOperand* value() { return inputs_[0]; } |
@@ -2597,9 +2478,7 @@ class LTypeofIsAndBranch V8_FINAL : public LControlInstruction<1, 0> { |
class LIsConstructCallAndBranch V8_FINAL : public LControlInstruction<0, 1> { |
public: |
- explicit LIsConstructCallAndBranch(LOperand* temp) { |
- temps_[0] = temp; |
- } |
+ explicit LIsConstructCallAndBranch(LOperand* temp) { temps_[0] = temp; } |
LOperand* temp() { return temps_[0]; } |
@@ -2621,9 +2500,7 @@ class LOsrEntry V8_FINAL : public LTemplateInstruction<0, 0, 0> { |
class LStackCheck V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
public: |
- explicit LStackCheck(LOperand* context) { |
- inputs_[0] = context; |
- } |
+ explicit LStackCheck(LOperand* context) { inputs_[0] = context; } |
LOperand* context() { return inputs_[0]; } |
@@ -2653,17 +2530,13 @@ class LForInPrepareMap V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
class LForInCacheArray V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LForInCacheArray(LOperand* map) { |
- inputs_[0] = map; |
- } |
+ explicit LForInCacheArray(LOperand* map) { inputs_[0] = map; } |
LOperand* map() { return inputs_[0]; } |
DECLARE_CONCRETE_INSTRUCTION(ForInCacheArray, "for-in-cache-array") |
- int idx() { |
- return HForInCacheArray::cast(this->hydrogen_value())->idx(); |
- } |
+ int idx() { return HForInCacheArray::cast(this->hydrogen_value())->idx(); } |
}; |
@@ -2695,11 +2568,9 @@ class LLoadFieldByIndex V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
}; |
-class LStoreFrameContext: public LTemplateInstruction<0, 1, 0> { |
+class LStoreFrameContext : public LTemplateInstruction<0, 1, 0> { |
public: |
- explicit LStoreFrameContext(LOperand* context) { |
- inputs_[0] = context; |
- } |
+ explicit LStoreFrameContext(LOperand* context) { inputs_[0] = context; } |
LOperand* context() { return inputs_[0]; } |
@@ -2707,7 +2578,7 @@ class LStoreFrameContext: public LTemplateInstruction<0, 1, 0> { |
}; |
-class LAllocateBlockContext: public LTemplateInstruction<1, 2, 0> { |
+class LAllocateBlockContext : public LTemplateInstruction<1, 2, 0> { |
public: |
LAllocateBlockContext(LOperand* context, LOperand* function) { |
inputs_[0] = context; |
@@ -2727,8 +2598,7 @@ class LAllocateBlockContext: public LTemplateInstruction<1, 2, 0> { |
class LChunkBuilder; |
class LPlatformChunk V8_FINAL : public LChunk { |
public: |
- LPlatformChunk(CompilationInfo* info, HGraph* graph) |
- : LChunk(info, graph) { } |
+ LPlatformChunk(CompilationInfo* info, HGraph* graph) : LChunk(info, graph) {} |
int GetNextSpillIndex(RegisterKind kind); |
LOperand* GetNextSpillSlot(RegisterKind kind); |
@@ -2746,14 +2616,14 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase { |
current_instruction_(NULL), |
current_block_(NULL), |
next_block_(NULL), |
- allocator_(allocator) { } |
+ allocator_(allocator) {} |
Isolate* isolate() const { return graph_->isolate(); } |
// Build the sequence for the graph. |
LPlatformChunk* Build(); |
- // Declare methods that deal with the individual node types. |
+// Declare methods that deal with the individual node types. |
#define DECLARE_DO(type) LInstruction* Do##type(H##type* node); |
HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) |
#undef DECLARE_DO |
@@ -2784,12 +2654,7 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase { |
LInstruction* DoFlooringDivI(HMathFloorOfDiv* instr); |
private: |
- enum Status { |
- UNUSED, |
- BUILDING, |
- DONE, |
- ABORTED |
- }; |
+ enum Status { UNUSED, BUILDING, DONE, ABORTED }; |
LPlatformChunk* chunk() const { return chunk_; } |
CompilationInfo* info() const { return info_; } |
@@ -2859,8 +2724,7 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase { |
LInstruction* DefineAsSpilled(LTemplateResultInstruction<1>* instr, |
int index); |
LInstruction* DefineSameAsFirst(LTemplateResultInstruction<1>* instr); |
- LInstruction* DefineFixed(LTemplateResultInstruction<1>* instr, |
- Register reg); |
+ LInstruction* DefineFixed(LTemplateResultInstruction<1>* instr, Register reg); |
LInstruction* DefineFixedDouble(LTemplateResultInstruction<1>* instr, |
DoubleRegister reg); |
LInstruction* AssignEnvironment(LInstruction* instr); |
@@ -2872,8 +2736,7 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase { |
// cannot deoptimize eagerly and we do not attach environment to this |
// instruction. |
LInstruction* MarkAsCall( |
- LInstruction* instr, |
- HInstruction* hinstr, |
+ LInstruction* instr, HInstruction* hinstr, |
CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); |
void VisitInstruction(HInstruction* current); |
@@ -2883,8 +2746,7 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase { |
LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); |
LInstruction* DoArithmeticD(Token::Value op, |
HArithmeticBinaryOperation* instr); |
- LInstruction* DoArithmeticT(Token::Value op, |
- HBinaryOperation* instr); |
+ LInstruction* DoArithmeticT(Token::Value op, HBinaryOperation* instr); |
LPlatformChunk* chunk_; |
CompilationInfo* info_; |
@@ -2900,7 +2762,7 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase { |
#undef DECLARE_HYDROGEN_ACCESSOR |
#undef DECLARE_CONCRETE_INSTRUCTION |
+} |
+} // namespace v8::internal |
-} } // namespace v8::internal |
- |
-#endif // V8_ARM_LITHIUM_ARM_H_ |
+#endif // V8_PPC_LITHIUM_PPC_H_ |