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-code-stubs-x64.cc b/test/cctest/test-code-stubs-x64.cc
index b58b073..786da54 100644
--- a/test/cctest/test-code-stubs-x64.cc
+++ b/test/cctest/test-code-stubs-x64.cc
@@ -33,6 +33,7 @@
#include "src/code-stubs.h"
#include "src/factory.h"
#include "src/macro-assembler.h"
+#include "src/register-configuration.h"
#include "test/cctest/cctest.h"
#include "test/cctest/test-code-stubs.h"
@@ -50,7 +51,8 @@
Assembler::kMinimalBufferSize, &actual_size, true));
CHECK(buffer);
HandleScope handles(isolate);
- MacroAssembler assm(isolate, buffer, static_cast<int>(actual_size));
+ MacroAssembler assm(isolate, buffer, static_cast<int>(actual_size),
+ v8::internal::CodeObjectRequired::kYes);
int offset =
source_reg.is(rsp) ? 0 : (HeapNumber::kValueOffset - kSmiTagSize);
DoubleToIStub stub(isolate, source_reg, destination_reg, offset, true);
@@ -62,20 +64,25 @@
__ pushq(rsi);
__ pushq(rdi);
+
+ const RegisterConfiguration* config =
+ RegisterConfiguration::ArchDefault(RegisterConfiguration::CRANKSHAFT);
if (!source_reg.is(rsp)) {
// The argument we pass to the stub is not a heap number, but instead
// stack-allocated and offset-wise made to look like a heap number for
// the stub. We create that "heap number" after pushing all allocatable
// registers.
int double_argument_slot =
- (Register::NumAllocatableRegisters() - 1) * kPointerSize + kDoubleSize;
+ (config->num_allocatable_general_registers() - 1) * kPointerSize +
+ kDoubleSize;
__ leaq(source_reg, MemOperand(rsp, -double_argument_slot - offset));
}
// Save registers make sure they don't get clobbered.
int reg_num = 0;
- for (;reg_num < Register::NumAllocatableRegisters(); ++reg_num) {
- Register reg = Register::FromAllocationIndex(reg_num);
+ for (; reg_num < config->num_allocatable_general_registers(); ++reg_num) {
+ Register reg =
+ Register::from_code(config->GetAllocatableGeneralCode(reg_num));
if (!reg.is(rsp) && !reg.is(rbp) && !reg.is(destination_reg)) {
__ pushq(reg);
}
@@ -83,7 +90,7 @@
// Put the double argument into the designated double argument slot.
__ subq(rsp, Immediate(kDoubleSize));
- __ movsd(MemOperand(rsp, 0), xmm0);
+ __ Movsd(MemOperand(rsp, 0), xmm0);
// Call through to the actual stub
__ Call(start, RelocInfo::EXTERNAL_REFERENCE);
@@ -92,7 +99,8 @@
// Make sure no registers have been unexpectedly clobbered
for (--reg_num; reg_num >= 0; --reg_num) {
- Register reg = Register::FromAllocationIndex(reg_num);
+ Register reg =
+ Register::from_code(config->GetAllocatableGeneralCode(reg_num));
if (!reg.is(rsp) && !reg.is(rbp) && !reg.is(destination_reg)) {
__ cmpq(reg, MemOperand(rsp, 0));
__ Assert(equal, kRegisterWasClobbered);