| Index: src/ia32/stub-cache-ia32.cc
|
| diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc
|
| index 380d38f55019b93a816e7b5e3b19a5b3147cb5c9..7730ee3da330ad870fcac426354540ba66c81616 100644
|
| --- a/src/ia32/stub-cache-ia32.cc
|
| +++ b/src/ia32/stub-cache-ia32.cc
|
| @@ -1,4 +1,4 @@
|
| -// Copyright 2011 the V8 project authors. All rights reserved.
|
| +// Copyright 2006-2009 the V8 project authors. All rights reserved.
|
| // Redistribution and use in source and binary forms, with or without
|
| // modification, are permitted provided that the following conditions are
|
| // met:
|
| @@ -1921,7 +1921,7 @@ MaybeObject* CallStubCompiler::CompileMathFloorCall(Object* object,
|
| // -- esp[(argc + 1) * 4] : receiver
|
| // -----------------------------------
|
|
|
| - if (!CpuFeatures::IsSupported(SSE2)) {
|
| + if (!isolate()->cpu_features()->IsSupported(SSE2)) {
|
| return isolate()->heap()->undefined_value();
|
| }
|
|
|
| @@ -3292,7 +3292,7 @@ MaybeObject* ConstructStubCompiler::CompileConstructStub(JSFunction* function) {
|
| int arg_number = shared->GetThisPropertyAssignmentArgument(i);
|
| __ mov(ebx, edi);
|
| __ cmp(eax, arg_number);
|
| - if (CpuFeatures::IsSupported(CMOV)) {
|
| + if (isolate()->cpu_features()->IsSupported(CMOV)) {
|
| CpuFeatures::Scope use_cmov(CMOV);
|
| __ cmov(above, ebx, Operand(ecx, arg_number * -kPointerSize));
|
| } else {
|
| @@ -3611,10 +3611,10 @@ MaybeObject* ExternalArrayStubCompiler::CompileKeyedStoreStub(
|
| // processors that don't support SSE2. The code in IntegerConvert
|
| // (code-stubs-ia32.cc) is roughly what is needed here though the
|
| // conversion failure case does not need to be handled.
|
| - if (CpuFeatures::IsSupported(SSE2)) {
|
| + if (isolate()->cpu_features()->IsSupported(SSE2)) {
|
| if (array_type != kExternalIntArray &&
|
| array_type != kExternalUnsignedIntArray) {
|
| - ASSERT(CpuFeatures::IsSupported(SSE2));
|
| + ASSERT(isolate()->cpu_features()->IsSupported(SSE2));
|
| CpuFeatures::Scope scope(SSE2);
|
| __ cvttsd2si(ecx, FieldOperand(eax, HeapNumber::kValueOffset));
|
| // ecx: untagged integer value
|
| @@ -3629,7 +3629,6 @@ MaybeObject* ExternalArrayStubCompiler::CompileKeyedStoreStub(
|
| __ bind(&done);
|
| }
|
| __ mov_b(Operand(edi, ebx, times_1, 0), ecx);
|
| - break;
|
| case kExternalByteArray:
|
| case kExternalUnsignedByteArray:
|
| __ mov_b(Operand(edi, ebx, times_1, 0), ecx);
|
| @@ -3643,7 +3642,7 @@ MaybeObject* ExternalArrayStubCompiler::CompileKeyedStoreStub(
|
| break;
|
| }
|
| } else {
|
| - if (CpuFeatures::IsSupported(SSE3)) {
|
| + if (isolate()->cpu_features()->IsSupported(SSE3)) {
|
| CpuFeatures::Scope scope(SSE3);
|
| // fisttp stores values as signed integers. To represent the
|
| // entire range of int and unsigned int arrays, store as a
|
| @@ -3656,7 +3655,7 @@ MaybeObject* ExternalArrayStubCompiler::CompileKeyedStoreStub(
|
| __ pop(ecx);
|
| __ add(Operand(esp), Immediate(kPointerSize));
|
| } else {
|
| - ASSERT(CpuFeatures::IsSupported(SSE2));
|
| + ASSERT(isolate()->cpu_features()->IsSupported(SSE2));
|
| CpuFeatures::Scope scope(SSE2);
|
| // We can easily implement the correct rounding behavior for the
|
| // range [0, 2^31-1]. For the time being, to keep this code simple,
|
|
|