Upgrade V8 to version 4.9.385.28
https://chromium.googlesource.com/v8/v8/+/4.9.385.28
FPIIM-449
Change-Id: I4b2e74289d4bf3667f2f3dc8aa2e541f63e26eb4
diff --git a/test/cctest/test-disasm-ia32.cc b/test/cctest/test-disasm-ia32.cc
index a2eaa15..669e37a 100644
--- a/test/cctest/test-disasm-ia32.cc
+++ b/test/cctest/test-disasm-ia32.cc
@@ -29,12 +29,12 @@
#include "src/v8.h"
-#include "src/debug.h"
+#include "src/debug/debug.h"
#include "src/disasm.h"
#include "src/disassembler.h"
+#include "src/ia32/frames-ia32.h"
#include "src/ic/ic.h"
#include "src/macro-assembler.h"
-#include "src/serialize.h"
#include "test/cctest/cctest.h"
using namespace v8::internal;
@@ -288,7 +288,7 @@
__ bind(&L2);
__ call(Operand(ebx, ecx, times_4, 10000));
__ nop();
- Handle<Code> ic(LoadIC::initialize_stub(isolate, NOT_CONTEXTUAL));
+ Handle<Code> ic(LoadIC::initialize_stub(isolate, NOT_INSIDE_TYPEOF));
__ call(ic, RelocInfo::CODE_TARGET);
__ nop();
__ call(FUNCTION_ADDR(DummyStaticFunction), RelocInfo::RUNTIME_ENTRY);
@@ -409,6 +409,12 @@
__ subss(xmm1, Operand(ebx, ecx, times_4, 10000));
__ divss(xmm1, xmm0);
__ divss(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ maxss(xmm1, xmm0);
+ __ maxss(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ minss(xmm1, xmm0);
+ __ minss(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ sqrtss(xmm1, xmm0);
+ __ sqrtss(xmm1, Operand(ebx, ecx, times_4, 10000));
__ addps(xmm1, xmm0);
__ addps(xmm1, Operand(ebx, ecx, times_4, 10000));
__ subps(xmm1, xmm0);
@@ -442,6 +448,10 @@
__ subsd(xmm1, Operand(ebx, ecx, times_4, 10000));
__ divsd(xmm1, xmm0);
__ divsd(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ minsd(xmm1, xmm0);
+ __ minsd(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ maxsd(xmm1, xmm0);
+ __ maxsd(xmm1, Operand(ebx, ecx, times_4, 10000));
__ ucomisd(xmm0, xmm1);
__ cmpltsd(xmm0, xmm1);
@@ -451,6 +461,11 @@
__ psrlq(xmm0, 17);
__ psrlq(xmm0, xmm1);
__ por(xmm0, xmm1);
+
+ __ pcmpeqd(xmm1, xmm0);
+
+ __ punpckldq(xmm1, xmm6);
+ __ punpckhdq(xmm7, xmm5);
}
// cmov.
@@ -494,6 +509,33 @@
__ vsubsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
__ vdivsd(xmm0, xmm1, xmm2);
__ vdivsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vminsd(xmm0, xmm1, xmm2);
+ __ vminsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vmaxsd(xmm0, xmm1, xmm2);
+ __ vmaxsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+
+ __ vaddss(xmm0, xmm1, xmm2);
+ __ vaddss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vmulss(xmm0, xmm1, xmm2);
+ __ vmulss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vsubss(xmm0, xmm1, xmm2);
+ __ vsubss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vdivss(xmm0, xmm1, xmm2);
+ __ vdivss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vminss(xmm0, xmm1, xmm2);
+ __ vminss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vmaxss(xmm0, xmm1, xmm2);
+ __ vmaxss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+
+ __ vandps(xmm0, xmm1, xmm2);
+ __ vandps(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vxorps(xmm0, xmm1, xmm2);
+ __ vxorps(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+
+ __ vandpd(xmm0, xmm1, xmm2);
+ __ vandpd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vxorpd(xmm0, xmm1, xmm2);
+ __ vxorpd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
}
}
@@ -559,6 +601,66 @@
}
}
+ // BMI1 instructions
+ {
+ if (CpuFeatures::IsSupported(BMI1)) {
+ CpuFeatureScope scope(&assm, BMI1);
+ __ andn(eax, ebx, ecx);
+ __ andn(eax, ebx, Operand(ebx, ecx, times_4, 10000));
+ __ bextr(eax, ebx, ecx);
+ __ bextr(eax, Operand(ebx, ecx, times_4, 10000), ebx);
+ __ blsi(eax, ebx);
+ __ blsi(eax, Operand(ebx, ecx, times_4, 10000));
+ __ blsmsk(eax, ebx);
+ __ blsmsk(eax, Operand(ebx, ecx, times_4, 10000));
+ __ blsr(eax, ebx);
+ __ blsr(eax, Operand(ebx, ecx, times_4, 10000));
+ __ tzcnt(eax, ebx);
+ __ tzcnt(eax, Operand(ebx, ecx, times_4, 10000));
+ }
+ }
+
+ // LZCNT instructions
+ {
+ if (CpuFeatures::IsSupported(LZCNT)) {
+ CpuFeatureScope scope(&assm, LZCNT);
+ __ lzcnt(eax, ebx);
+ __ lzcnt(eax, Operand(ebx, ecx, times_4, 10000));
+ }
+ }
+
+ // POPCNT instructions
+ {
+ if (CpuFeatures::IsSupported(POPCNT)) {
+ CpuFeatureScope scope(&assm, POPCNT);
+ __ popcnt(eax, ebx);
+ __ popcnt(eax, Operand(ebx, ecx, times_4, 10000));
+ }
+ }
+
+ // BMI2 instructions
+ {
+ if (CpuFeatures::IsSupported(BMI2)) {
+ CpuFeatureScope scope(&assm, BMI2);
+ __ bzhi(eax, ebx, ecx);
+ __ bzhi(eax, Operand(ebx, ecx, times_4, 10000), ebx);
+ __ mulx(eax, ebx, ecx);
+ __ mulx(eax, ebx, Operand(ebx, ecx, times_4, 10000));
+ __ pdep(eax, ebx, ecx);
+ __ pdep(eax, ebx, Operand(ebx, ecx, times_4, 10000));
+ __ pext(eax, ebx, ecx);
+ __ pext(eax, ebx, Operand(ebx, ecx, times_4, 10000));
+ __ sarx(eax, ebx, ecx);
+ __ sarx(eax, Operand(ebx, ecx, times_4, 10000), ebx);
+ __ shlx(eax, ebx, ecx);
+ __ shlx(eax, Operand(ebx, ecx, times_4, 10000), ebx);
+ __ shrx(eax, ebx, ecx);
+ __ shrx(eax, Operand(ebx, ecx, times_4, 10000), ebx);
+ __ rorx(eax, ebx, 31);
+ __ rorx(eax, Operand(ebx, ecx, times_4, 10000), 31);
+ }
+ }
+
// xchg.
{
__ xchg(eax, eax);