Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: src/code-stubs.h

Issue 275433004: Require SSE2 support for the ia32 port. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: addressed comments. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/code-stubs.h
diff --git a/src/code-stubs.h b/src/code-stubs.h
index 8380266d92edf0b13f644f38f3f2917c1fdaf119..c9e7ee479e0d49fdf0430f2b48b41e6ace5bee36 100644
--- a/src/code-stubs.h
+++ b/src/code-stubs.h
@@ -190,8 +190,6 @@ class CodeStub BASE_EMBEDDED {
Isolate* isolate() const { return isolate_; }
protected:
- static bool CanUseFPRegisters();
-
// Generates the assembler code for the stub.
virtual Handle<Code> GenerateCode() = 0;
@@ -1167,9 +1165,7 @@ class BinaryOpICStub : public HydrogenCodeStub {
return state_.GetExtraICState();
}
- virtual void VerifyPlatformFeatures() V8_FINAL V8_OVERRIDE {
- ASSERT(CpuFeatures::VerifyCrossCompiling(SSE2));
- }
+ virtual void VerifyPlatformFeatures() V8_FINAL V8_OVERRIDE { }
virtual Handle<Code> GenerateCode() V8_OVERRIDE;
@@ -1224,9 +1220,7 @@ class BinaryOpICWithAllocationSiteStub V8_FINAL : public PlatformCodeStub {
return state_.GetExtraICState();
}
- virtual void VerifyPlatformFeatures() V8_OVERRIDE {
- ASSERT(CpuFeatures::VerifyCrossCompiling(SSE2));
- }
+ virtual void VerifyPlatformFeatures() V8_OVERRIDE { }
virtual void Generate(MacroAssembler* masm) V8_OVERRIDE;
@@ -1307,9 +1301,7 @@ class StringAddStub V8_FINAL : public HydrogenCodeStub {
return PretenureFlagBits::decode(bit_field_);
}
- virtual void VerifyPlatformFeatures() V8_OVERRIDE {
- ASSERT(CpuFeatures::VerifyCrossCompiling(SSE2));
- }
+ virtual void VerifyPlatformFeatures() V8_OVERRIDE { }
virtual Handle<Code> GenerateCode() V8_OVERRIDE;
@@ -1521,9 +1513,7 @@ class CEntryStub : public PlatformCodeStub {
static void GenerateAheadOfTime(Isolate* isolate);
protected:
- virtual void VerifyPlatformFeatures() V8_OVERRIDE {
- ASSERT(CpuFeatures::VerifyCrossCompiling(SSE2));
- };
+ virtual void VerifyPlatformFeatures() V8_OVERRIDE { }
private:
// Number of pointers/values returned.
@@ -1919,9 +1909,7 @@ class DoubleToIStub : public PlatformCodeStub {
OffsetBits::encode(offset) |
IsTruncatingBits::encode(is_truncating) |
SkipFastPathBits::encode(skip_fastpath) |
- SSEBits::encode(
- CpuFeatures::IsSafeForSnapshot(isolate, SSE2) ?
- CpuFeatures::IsSafeForSnapshot(isolate, SSE3) ? 2 : 1 : 0);
+ SSE3Bits::encode(CpuFeatures::IsSafeForSnapshot(isolate, SSE3) ? 1 : 0);
}
Register source() {
@@ -1949,9 +1937,7 @@ class DoubleToIStub : public PlatformCodeStub {
virtual bool SometimesSetsUpAFrame() { return false; }
protected:
- virtual void VerifyPlatformFeatures() V8_OVERRIDE {
- ASSERT(CpuFeatures::VerifyCrossCompiling(SSE2));
- }
+ virtual void VerifyPlatformFeatures() V8_OVERRIDE { }
private:
static const int kBitsPerRegisterNumber = 6;
@@ -1967,8 +1953,8 @@ class DoubleToIStub : public PlatformCodeStub {
public BitField<int, 2 * kBitsPerRegisterNumber + 1, 3> {}; // NOLINT
class SkipFastPathBits:
public BitField<int, 2 * kBitsPerRegisterNumber + 4, 1> {}; // NOLINT
- class SSEBits:
- public BitField<int, 2 * kBitsPerRegisterNumber + 5, 2> {}; // NOLINT
+ class SSE3Bits:
+ public BitField<int, 2 * kBitsPerRegisterNumber + 5, 1> {}; // NOLINT
Major MajorKey() { return DoubleToI; }
int MinorKey() { return bit_field_; }
@@ -2309,15 +2295,13 @@ class KeyedStoreElementStub : public PlatformCodeStub {
: PlatformCodeStub(isolate),
is_js_array_(is_js_array),
elements_kind_(elements_kind),
- store_mode_(store_mode),
- fp_registers_(CanUseFPRegisters()) { }
+ store_mode_(store_mode) { }
Major MajorKey() { return KeyedStoreElement; }
int MinorKey() {
return ElementsKindBits::encode(elements_kind_) |
IsJSArrayBits::encode(is_js_array_) |
- StoreModeBits::encode(store_mode_) |
- FPRegisters::encode(fp_registers_);
+ StoreModeBits::encode(store_mode_);
}
void Generate(MacroAssembler* masm);
@@ -2326,12 +2310,10 @@ class KeyedStoreElementStub : public PlatformCodeStub {
class ElementsKindBits: public BitField<ElementsKind, 0, 8> {};
class StoreModeBits: public BitField<KeyedAccessStoreMode, 8, 4> {};
class IsJSArrayBits: public BitField<bool, 12, 1> {};
- class FPRegisters: public BitField<bool, 13, 1> {};
bool is_js_array_;
ElementsKind elements_kind_;
KeyedAccessStoreMode store_mode_;
- bool fp_registers_;
DISALLOW_COPY_AND_ASSIGN(KeyedStoreElementStub);
};
@@ -2469,18 +2451,14 @@ class ElementsTransitionAndStoreStub : public HydrogenCodeStub {
class StoreArrayLiteralElementStub : public PlatformCodeStub {
public:
explicit StoreArrayLiteralElementStub(Isolate* isolate)
- : PlatformCodeStub(isolate), fp_registers_(CanUseFPRegisters()) { }
+ : PlatformCodeStub(isolate) { }
private:
- class FPRegisters: public BitField<bool, 0, 1> {};
-
Major MajorKey() { return StoreArrayLiteralElement; }
- int MinorKey() { return FPRegisters::encode(fp_registers_); }
+ int MinorKey() { return 0; }
void Generate(MacroAssembler* masm);
- bool fp_registers_;
-
DISALLOW_COPY_AND_ASSIGN(StoreArrayLiteralElementStub);
};
@@ -2489,24 +2467,20 @@ class StubFailureTrampolineStub : public PlatformCodeStub {
public:
StubFailureTrampolineStub(Isolate* isolate, StubFunctionMode function_mode)
: PlatformCodeStub(isolate),
- fp_registers_(CanUseFPRegisters()),
function_mode_(function_mode) {}
static void GenerateAheadOfTime(Isolate* isolate);
private:
- class FPRegisters: public BitField<bool, 0, 1> {};
- class FunctionModeField: public BitField<StubFunctionMode, 1, 1> {};
+ class FunctionModeField: public BitField<StubFunctionMode, 0, 1> {};
Major MajorKey() { return StubFailureTrampoline; }
int MinorKey() {
- return FPRegisters::encode(fp_registers_) |
- FunctionModeField::encode(function_mode_);
+ return FunctionModeField::encode(function_mode_);
}
void Generate(MacroAssembler* masm);
- bool fp_registers_;
StubFunctionMode function_mode_;
DISALLOW_COPY_AND_ASSIGN(StubFailureTrampolineStub);
« no previous file with comments | « src/arm64/deoptimizer-arm64.cc ('k') | src/deoptimizer.h » ('j') | src/ia32/assembler-ia32.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698