Commit 7862fa2a authored by bmeurer@chromium.org's avatar bmeurer@chromium.org

[turbofan] Remove extra attributes from MachineOperatorBuilder methods.

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/585413002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent cebe41bd
...@@ -165,7 +165,7 @@ static const uint32_t kUint32Values[] = { ...@@ -165,7 +165,7 @@ static const uint32_t kUint32Values[] = {
namespace { namespace {
struct UnaryOperator { struct UnaryOperator {
const Operator* (MachineOperatorBuilder::*constructor)() const; const Operator* (MachineOperatorBuilder::*constructor)();
const char* constructor_name; const char* constructor_name;
}; };
......
...@@ -169,7 +169,7 @@ INSTANTIATE_TEST_CASE_P( ...@@ -169,7 +169,7 @@ INSTANTIATE_TEST_CASE_P(
namespace { namespace {
struct PureOperator { struct PureOperator {
const Operator* (MachineOperatorBuilder::*constructor)() const; const Operator* (MachineOperatorBuilder::*constructor)();
IrOpcode::Value opcode; IrOpcode::Value opcode;
int value_input_count; int value_input_count;
int value_output_count; int value_output_count;
......
...@@ -194,14 +194,12 @@ MachineOperatorBuilder::MachineOperatorBuilder(MachineType word) ...@@ -194,14 +194,12 @@ MachineOperatorBuilder::MachineOperatorBuilder(MachineType word)
#define PURE(Name, properties, input_count, output_count) \ #define PURE(Name, properties, input_count, output_count) \
const Operator* MachineOperatorBuilder::Name() const { \ const Operator* MachineOperatorBuilder::Name() { return &impl_.k##Name; }
return &impl_.k##Name; \
}
PURE_OP_LIST(PURE) PURE_OP_LIST(PURE)
#undef PURE #undef PURE
const Operator* MachineOperatorBuilder::Load(LoadRepresentation rep) const { const Operator* MachineOperatorBuilder::Load(LoadRepresentation rep) {
switch (rep) { switch (rep) {
#define LOAD(Type) \ #define LOAD(Type) \
case k##Type: \ case k##Type: \
...@@ -217,7 +215,7 @@ const Operator* MachineOperatorBuilder::Load(LoadRepresentation rep) const { ...@@ -217,7 +215,7 @@ const Operator* MachineOperatorBuilder::Load(LoadRepresentation rep) const {
} }
const Operator* MachineOperatorBuilder::Store(StoreRepresentation rep) const { const Operator* MachineOperatorBuilder::Store(StoreRepresentation rep) {
switch (rep.machine_type()) { switch (rep.machine_type()) {
#define STORE(Type) \ #define STORE(Type) \
case k##Type: \ case k##Type: \
......
...@@ -62,84 +62,84 @@ class MachineOperatorBuilder FINAL { ...@@ -62,84 +62,84 @@ class MachineOperatorBuilder FINAL {
public: public:
explicit MachineOperatorBuilder(MachineType word = kMachPtr); explicit MachineOperatorBuilder(MachineType word = kMachPtr);
const Operator* Word32And() const WARN_UNUSED_RESULT; const Operator* Word32And();
const Operator* Word32Or() const WARN_UNUSED_RESULT; const Operator* Word32Or();
const Operator* Word32Xor() const WARN_UNUSED_RESULT; const Operator* Word32Xor();
const Operator* Word32Shl() const WARN_UNUSED_RESULT; const Operator* Word32Shl();
const Operator* Word32Shr() const WARN_UNUSED_RESULT; const Operator* Word32Shr();
const Operator* Word32Sar() const WARN_UNUSED_RESULT; const Operator* Word32Sar();
const Operator* Word32Ror() const WARN_UNUSED_RESULT; const Operator* Word32Ror();
const Operator* Word32Equal() const WARN_UNUSED_RESULT; const Operator* Word32Equal();
const Operator* Word64And() const WARN_UNUSED_RESULT; const Operator* Word64And();
const Operator* Word64Or() const WARN_UNUSED_RESULT; const Operator* Word64Or();
const Operator* Word64Xor() const WARN_UNUSED_RESULT; const Operator* Word64Xor();
const Operator* Word64Shl() const WARN_UNUSED_RESULT; const Operator* Word64Shl();
const Operator* Word64Shr() const WARN_UNUSED_RESULT; const Operator* Word64Shr();
const Operator* Word64Sar() const WARN_UNUSED_RESULT; const Operator* Word64Sar();
const Operator* Word64Ror() const WARN_UNUSED_RESULT; const Operator* Word64Ror();
const Operator* Word64Equal() const WARN_UNUSED_RESULT; const Operator* Word64Equal();
const Operator* Int32Add() const WARN_UNUSED_RESULT; const Operator* Int32Add();
const Operator* Int32AddWithOverflow() const WARN_UNUSED_RESULT; const Operator* Int32AddWithOverflow();
const Operator* Int32Sub() const WARN_UNUSED_RESULT; const Operator* Int32Sub();
const Operator* Int32SubWithOverflow() const WARN_UNUSED_RESULT; const Operator* Int32SubWithOverflow();
const Operator* Int32Mul() const WARN_UNUSED_RESULT; const Operator* Int32Mul();
const Operator* Int32Div() const WARN_UNUSED_RESULT; const Operator* Int32Div();
const Operator* Int32UDiv() const WARN_UNUSED_RESULT; const Operator* Int32UDiv();
const Operator* Int32Mod() const WARN_UNUSED_RESULT; const Operator* Int32Mod();
const Operator* Int32UMod() const WARN_UNUSED_RESULT; const Operator* Int32UMod();
const Operator* Int32LessThan() const WARN_UNUSED_RESULT; const Operator* Int32LessThan();
const Operator* Int32LessThanOrEqual() const WARN_UNUSED_RESULT; const Operator* Int32LessThanOrEqual();
const Operator* Uint32LessThan() const WARN_UNUSED_RESULT; const Operator* Uint32LessThan();
const Operator* Uint32LessThanOrEqual() const WARN_UNUSED_RESULT; const Operator* Uint32LessThanOrEqual();
const Operator* Int64Add() const WARN_UNUSED_RESULT; const Operator* Int64Add();
const Operator* Int64Sub() const WARN_UNUSED_RESULT; const Operator* Int64Sub();
const Operator* Int64Mul() const WARN_UNUSED_RESULT; const Operator* Int64Mul();
const Operator* Int64Div() const WARN_UNUSED_RESULT; const Operator* Int64Div();
const Operator* Int64UDiv() const WARN_UNUSED_RESULT; const Operator* Int64UDiv();
const Operator* Int64Mod() const WARN_UNUSED_RESULT; const Operator* Int64Mod();
const Operator* Int64UMod() const WARN_UNUSED_RESULT; const Operator* Int64UMod();
const Operator* Int64LessThan() const WARN_UNUSED_RESULT; const Operator* Int64LessThan();
const Operator* Int64LessThanOrEqual() const WARN_UNUSED_RESULT; const Operator* Int64LessThanOrEqual();
// Convert representation of integers between float64 and int32/uint32. // Convert representation of integers between float64 and int32/uint32.
// The precise rounding mode and handling of out of range inputs are *not* // The precise rounding mode and handling of out of range inputs are *not*
// defined for these operators, since they are intended only for use with // defined for these operators, since they are intended only for use with
// integers. // integers.
const Operator* ChangeInt32ToFloat64() const WARN_UNUSED_RESULT; const Operator* ChangeInt32ToFloat64();
const Operator* ChangeUint32ToFloat64() const WARN_UNUSED_RESULT; const Operator* ChangeUint32ToFloat64();
const Operator* ChangeFloat64ToInt32() const WARN_UNUSED_RESULT; const Operator* ChangeFloat64ToInt32();
const Operator* ChangeFloat64ToUint32() const WARN_UNUSED_RESULT; const Operator* ChangeFloat64ToUint32();
// Sign/zero extend int32/uint32 to int64/uint64. // Sign/zero extend int32/uint32 to int64/uint64.
const Operator* ChangeInt32ToInt64() const WARN_UNUSED_RESULT; const Operator* ChangeInt32ToInt64();
const Operator* ChangeUint32ToUint64() const WARN_UNUSED_RESULT; const Operator* ChangeUint32ToUint64();
// Truncate double to int32 using JavaScript semantics. // Truncate double to int32 using JavaScript semantics.
const Operator* TruncateFloat64ToInt32() const WARN_UNUSED_RESULT; const Operator* TruncateFloat64ToInt32();
// Truncate the high order bits and convert the remaining bits to int32. // Truncate the high order bits and convert the remaining bits to int32.
const Operator* TruncateInt64ToInt32() const WARN_UNUSED_RESULT; const Operator* TruncateInt64ToInt32();
// Floating point operators always operate with IEEE 754 round-to-nearest. // Floating point operators always operate with IEEE 754 round-to-nearest.
const Operator* Float64Add() const WARN_UNUSED_RESULT; const Operator* Float64Add();
const Operator* Float64Sub() const WARN_UNUSED_RESULT; const Operator* Float64Sub();
const Operator* Float64Mul() const WARN_UNUSED_RESULT; const Operator* Float64Mul();
const Operator* Float64Div() const WARN_UNUSED_RESULT; const Operator* Float64Div();
const Operator* Float64Mod() const WARN_UNUSED_RESULT; const Operator* Float64Mod();
// Floating point comparisons complying to IEEE 754. // Floating point comparisons complying to IEEE 754.
const Operator* Float64Equal() const WARN_UNUSED_RESULT; const Operator* Float64Equal();
const Operator* Float64LessThan() const WARN_UNUSED_RESULT; const Operator* Float64LessThan();
const Operator* Float64LessThanOrEqual() const WARN_UNUSED_RESULT; const Operator* Float64LessThanOrEqual();
// load [base + index] // load [base + index]
const Operator* Load(LoadRepresentation rep) const WARN_UNUSED_RESULT; const Operator* Load(LoadRepresentation rep);
// store [base + index], value // store [base + index], value
const Operator* Store(StoreRepresentation rep) const WARN_UNUSED_RESULT; const Operator* Store(StoreRepresentation rep);
// Target machine word-size assumed by this builder. // Target machine word-size assumed by this builder.
bool Is32() const { return word() == kRepWord32; } bool Is32() const { return word() == kRepWord32; }
...@@ -167,7 +167,7 @@ class MachineOperatorBuilder FINAL { ...@@ -167,7 +167,7 @@ class MachineOperatorBuilder FINAL {
V(Int, LessThan) \ V(Int, LessThan) \
V(Int, LessThanOrEqual) V(Int, LessThanOrEqual)
#define PSEUDO_OP(Prefix, Suffix) \ #define PSEUDO_OP(Prefix, Suffix) \
const Operator* Prefix##Suffix() const { \ const Operator* Prefix##Suffix() { \
return Is32() ? Prefix##32##Suffix() : Prefix##64##Suffix(); \ return Is32() ? Prefix##32##Suffix() : Prefix##64##Suffix(); \
} }
PSEUDO_OP_LIST(PSEUDO_OP) PSEUDO_OP_LIST(PSEUDO_OP)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment