| Index: src/ia32/assembler-ia32.cc
|
| diff --git a/src/ia32/assembler-ia32.cc b/src/ia32/assembler-ia32.cc
|
| index e6d245efbc7a1e2255b5d541b6062e761f540016..5fe3bbe48ba4197ee0240845da078d3d49946eea 100644
|
| --- a/src/ia32/assembler-ia32.cc
|
| +++ b/src/ia32/assembler-ia32.cc
|
| @@ -48,24 +48,39 @@ namespace internal {
|
| // -----------------------------------------------------------------------------
|
| // Implementation of CpuFeatures
|
|
|
| -CpuFeatures::CpuFeatures()
|
| - : supported_(0),
|
| - enabled_(0),
|
| - found_by_runtime_probing_(0) {
|
| -}
|
| +#ifdef DEBUG
|
| +bool CpuFeatures::initialized_ = false;
|
| +#endif
|
| +uint64_t CpuFeatures::supported_ = 0;
|
| +uint64_t CpuFeatures::found_by_runtime_probing_ = 0;
|
|
|
|
|
| // The Probe method needs executable memory, so it uses Heap::CreateCode.
|
| // Allocation failure is silent and leads to safe default.
|
| void CpuFeatures::Probe(bool portable) {
|
| - ASSERT(HEAP->HasBeenSetup());
|
| + ASSERT(!initialized_);
|
| ASSERT(supported_ == 0);
|
| +#ifdef DEBUG
|
| + initialized_ = true;
|
| +#endif
|
| if (portable && Serializer::enabled()) {
|
| supported_ |= OS::CpuFeaturesImpliedByPlatform();
|
| return; // No features if we might serialize.
|
| }
|
|
|
| - Assembler assm(NULL, 0);
|
| + const int kBufferSize = 4 * KB;
|
| + VirtualMemory* memory = new VirtualMemory(kBufferSize);
|
| + if (!memory->IsReserved()) {
|
| + delete memory;
|
| + return;
|
| + }
|
| + ASSERT(memory->size() >= static_cast<size_t>(kBufferSize));
|
| + if (!memory->Commit(memory->address(), kBufferSize, true/*executable*/)) {
|
| + delete memory;
|
| + return;
|
| + }
|
| +
|
| + Assembler assm(NULL, memory->address(), kBufferSize);
|
| Label cpuid, done;
|
| #define __ assm.
|
| // Save old esp, since we are going to modify the stack.
|
| @@ -119,27 +134,15 @@ void CpuFeatures::Probe(bool portable) {
|
| __ ret(0);
|
| #undef __
|
|
|
| - CodeDesc desc;
|
| - assm.GetCode(&desc);
|
| - Object* code;
|
| - { MaybeObject* maybe_code =
|
| - assm.isolate()->heap()->CreateCode(desc,
|
| - Code::ComputeFlags(Code::STUB),
|
| - Handle<Code>::null());
|
| - if (!maybe_code->ToObject(&code)) return;
|
| - }
|
| - if (!code->IsCode()) return;
|
| -
|
| - PROFILE(ISOLATE,
|
| - CodeCreateEvent(Logger::BUILTIN_TAG,
|
| - Code::cast(code), "CpuFeatures::Probe"));
|
| typedef uint64_t (*F0)();
|
| - F0 probe = FUNCTION_CAST<F0>(Code::cast(code)->entry());
|
| + F0 probe = FUNCTION_CAST<F0>(reinterpret_cast<Address>(memory->address()));
|
| supported_ = probe();
|
| found_by_runtime_probing_ = supported_;
|
| uint64_t os_guarantees = OS::CpuFeaturesImpliedByPlatform();
|
| supported_ |= os_guarantees;
|
| found_by_runtime_probing_ &= portable ? ~os_guarantees : 0;
|
| +
|
| + delete memory;
|
| }
|
|
|
|
|
| @@ -297,8 +300,8 @@ bool Operand::is_reg(Register reg) const {
|
| static void InitCoverageLog();
|
| #endif
|
|
|
| -Assembler::Assembler(void* buffer, int buffer_size)
|
| - : AssemblerBase(Isolate::Current()),
|
| +Assembler::Assembler(Isolate* arg_isolate, void* buffer, int buffer_size)
|
| + : AssemblerBase(arg_isolate),
|
| positions_recorder_(this),
|
| emit_debug_code_(FLAG_debug_code) {
|
| if (buffer == NULL) {
|
| @@ -386,7 +389,7 @@ void Assembler::CodeTargetAlign() {
|
|
|
|
|
| void Assembler::cpuid() {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(CPUID));
|
| + ASSERT(CpuFeatures::IsEnabled(CPUID));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x0F);
|
| @@ -747,7 +750,7 @@ void Assembler::movzx_w(Register dst, const Operand& src) {
|
|
|
|
|
| void Assembler::cmov(Condition cc, Register dst, int32_t imm32) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(CMOV));
|
| + ASSERT(CpuFeatures::IsEnabled(CMOV));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| UNIMPLEMENTED();
|
| @@ -758,7 +761,7 @@ void Assembler::cmov(Condition cc, Register dst, int32_t imm32) {
|
|
|
|
|
| void Assembler::cmov(Condition cc, Register dst, Handle<Object> handle) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(CMOV));
|
| + ASSERT(CpuFeatures::IsEnabled(CMOV));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| UNIMPLEMENTED();
|
| @@ -769,7 +772,7 @@ void Assembler::cmov(Condition cc, Register dst, Handle<Object> handle) {
|
|
|
|
|
| void Assembler::cmov(Condition cc, Register dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(CMOV));
|
| + ASSERT(CpuFeatures::IsEnabled(CMOV));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| // Opcode: 0f 40 + cc /r.
|
| @@ -1450,7 +1453,7 @@ void Assembler::nop() {
|
|
|
|
|
| void Assembler::rdtsc() {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(RDTSC));
|
| + ASSERT(CpuFeatures::IsEnabled(RDTSC));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x0F);
|
| @@ -1856,7 +1859,7 @@ void Assembler::fistp_s(const Operand& adr) {
|
|
|
|
|
| void Assembler::fisttp_s(const Operand& adr) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE3));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE3));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xDB);
|
| @@ -1865,7 +1868,7 @@ void Assembler::fisttp_s(const Operand& adr) {
|
|
|
|
|
| void Assembler::fisttp_d(const Operand& adr) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE3));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE3));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xDD);
|
| @@ -2134,7 +2137,7 @@ void Assembler::setcc(Condition cc, Register reg) {
|
|
|
|
|
| void Assembler::cvttss2si(Register dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF3);
|
| @@ -2145,7 +2148,7 @@ void Assembler::cvttss2si(Register dst, const Operand& src) {
|
|
|
|
|
| void Assembler::cvttsd2si(Register dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2);
|
| @@ -2156,7 +2159,7 @@ void Assembler::cvttsd2si(Register dst, const Operand& src) {
|
|
|
|
|
| void Assembler::cvtsi2sd(XMMRegister dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2);
|
| @@ -2167,7 +2170,7 @@ void Assembler::cvtsi2sd(XMMRegister dst, const Operand& src) {
|
|
|
|
|
| void Assembler::cvtss2sd(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF3);
|
| @@ -2178,7 +2181,7 @@ void Assembler::cvtss2sd(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::cvtsd2ss(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2);
|
| @@ -2189,7 +2192,7 @@ void Assembler::cvtsd2ss(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::addsd(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2);
|
| @@ -2200,7 +2203,7 @@ void Assembler::addsd(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::mulsd(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2);
|
| @@ -2211,7 +2214,7 @@ void Assembler::mulsd(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::subsd(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2);
|
| @@ -2222,7 +2225,7 @@ void Assembler::subsd(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::divsd(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2);
|
| @@ -2233,7 +2236,7 @@ void Assembler::divsd(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::xorpd(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2264,7 +2267,7 @@ void Assembler::andpd(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::ucomisd(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2275,7 +2278,7 @@ void Assembler::ucomisd(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::movmskpd(Register dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2286,7 +2289,7 @@ void Assembler::movmskpd(Register dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::cmpltsd(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2);
|
| @@ -2298,7 +2301,7 @@ void Assembler::cmpltsd(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::movaps(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x0F);
|
| @@ -2308,7 +2311,7 @@ void Assembler::movaps(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::movdqa(const Operand& dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2319,7 +2322,7 @@ void Assembler::movdqa(const Operand& dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::movdqa(XMMRegister dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2330,7 +2333,7 @@ void Assembler::movdqa(XMMRegister dst, const Operand& src) {
|
|
|
|
|
| void Assembler::movdqu(const Operand& dst, XMMRegister src ) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF3);
|
| @@ -2341,7 +2344,7 @@ void Assembler::movdqu(const Operand& dst, XMMRegister src ) {
|
|
|
|
|
| void Assembler::movdqu(XMMRegister dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF3);
|
| @@ -2352,7 +2355,7 @@ void Assembler::movdqu(XMMRegister dst, const Operand& src) {
|
|
|
|
|
| void Assembler::movntdqa(XMMRegister dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE4_1));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE4_1));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2364,7 +2367,7 @@ void Assembler::movntdqa(XMMRegister dst, const Operand& src) {
|
|
|
|
|
| void Assembler::movntdq(const Operand& dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2400,7 +2403,7 @@ void Assembler::movdbl(const Operand& dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::movsd(const Operand& dst, XMMRegister src ) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2); // double
|
| @@ -2411,7 +2414,7 @@ void Assembler::movsd(const Operand& dst, XMMRegister src ) {
|
|
|
|
|
| void Assembler::movsd(XMMRegister dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2); // double
|
| @@ -2422,7 +2425,7 @@ void Assembler::movsd(XMMRegister dst, const Operand& src) {
|
|
|
|
|
| void Assembler::movsd(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF2);
|
| @@ -2433,7 +2436,7 @@ void Assembler::movsd(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::movss(const Operand& dst, XMMRegister src ) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF3); // float
|
| @@ -2444,7 +2447,7 @@ void Assembler::movss(const Operand& dst, XMMRegister src ) {
|
|
|
|
|
| void Assembler::movss(XMMRegister dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF3); // float
|
| @@ -2455,7 +2458,7 @@ void Assembler::movss(XMMRegister dst, const Operand& src) {
|
|
|
|
|
| void Assembler::movss(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0xF3);
|
| @@ -2466,7 +2469,7 @@ void Assembler::movss(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::movd(XMMRegister dst, const Operand& src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2477,7 +2480,7 @@ void Assembler::movd(XMMRegister dst, const Operand& src) {
|
|
|
|
|
| void Assembler::movd(const Operand& dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2488,7 +2491,7 @@ void Assembler::movd(const Operand& dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::pand(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2499,7 +2502,7 @@ void Assembler::pand(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::pxor(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2510,7 +2513,7 @@ void Assembler::pxor(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::por(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2521,7 +2524,7 @@ void Assembler::por(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::ptest(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE4_1));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE4_1));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2533,7 +2536,7 @@ void Assembler::ptest(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::psllq(XMMRegister reg, int8_t shift) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2545,7 +2548,7 @@ void Assembler::psllq(XMMRegister reg, int8_t shift) {
|
|
|
|
|
| void Assembler::psllq(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2556,7 +2559,7 @@ void Assembler::psllq(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::psrlq(XMMRegister reg, int8_t shift) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2568,7 +2571,7 @@ void Assembler::psrlq(XMMRegister reg, int8_t shift) {
|
|
|
|
|
| void Assembler::psrlq(XMMRegister dst, XMMRegister src) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2579,7 +2582,7 @@ void Assembler::psrlq(XMMRegister dst, XMMRegister src) {
|
|
|
|
|
| void Assembler::pshufd(XMMRegister dst, XMMRegister src, int8_t shuffle) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE2));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE2));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2591,7 +2594,7 @@ void Assembler::pshufd(XMMRegister dst, XMMRegister src, int8_t shuffle) {
|
|
|
|
|
| void Assembler::pextrd(const Operand& dst, XMMRegister src, int8_t offset) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE4_1));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE4_1));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
| @@ -2604,7 +2607,7 @@ void Assembler::pextrd(const Operand& dst, XMMRegister src, int8_t offset) {
|
|
|
|
|
| void Assembler::pinsrd(XMMRegister dst, const Operand& src, int8_t offset) {
|
| - ASSERT(isolate()->cpu_features()->IsEnabled(SSE4_1));
|
| + ASSERT(CpuFeatures::IsEnabled(SSE4_1));
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| EMIT(0x66);
|
|
|