| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 9b25319a9b82716db689057d95c94d9de2e63ec5..d2101ae293b6cee60ef3ca597bc483ab9b4d18ba 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -209,6 +209,7 @@ class CodeStub BASE_EMBEDDED {
|
| // Generates the assembler code for the stub.
|
| virtual Handle<Code> GenerateCode(Isolate* isolate) = 0;
|
|
|
| + virtual void VerifyPlatformFeatures(Isolate* isolate);
|
|
|
| // Returns whether the code generated for this stub needs to be allocated as
|
| // a fixed (non-moveable) code object.
|
| @@ -1043,6 +1044,10 @@ class BinaryOpStub: public HydrogenCodeStub {
|
| return MONOMORPHIC;
|
| }
|
|
|
| + virtual void VerifyPlatformFeatures(Isolate* isolate) V8_OVERRIDE {
|
| + ASSERT(CpuFeatures::VerifyCrossCompiling(SSE2));
|
| + }
|
| +
|
| virtual Code::ExtraICState GetExtraICState() {
|
| bool sse_field = Max(result_state_, Max(left_state_, right_state_)) > SMI &&
|
| CpuFeatures::IsSafeForSnapshot(SSE2);
|
| @@ -1348,6 +1353,11 @@ class CEntryStub : public PlatformCodeStub {
|
| virtual bool IsPregenerated(Isolate* isolate) V8_OVERRIDE;
|
| static void GenerateAheadOfTime(Isolate* isolate);
|
|
|
| + protected:
|
| + virtual void VerifyPlatformFeatures(Isolate* isolate) V8_OVERRIDE {
|
| + ASSERT(CpuFeatures::VerifyCrossCompiling(SSE2));
|
| + };
|
| +
|
| private:
|
| void GenerateCore(MacroAssembler* masm,
|
| Label* throw_normal_exception,
|
| @@ -1766,6 +1776,11 @@ class DoubleToIStub : public PlatformCodeStub {
|
|
|
| virtual bool SometimesSetsUpAFrame() { return false; }
|
|
|
| + protected:
|
| + virtual void VerifyPlatformFeatures(Isolate* isolate) V8_OVERRIDE {
|
| + ASSERT(CpuFeatures::VerifyCrossCompiling(SSE2));
|
| + }
|
| +
|
| private:
|
| static const int kBitsPerRegisterNumber = 6;
|
| STATIC_ASSERT((1L << kBitsPerRegisterNumber) >= Register::kNumRegisters);
|
|
|