diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2011-06-29 17:26:51 +0200 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2011-06-29 17:26:51 +0200 |
commit | 33af2720f26c2b25bc7f75ce7eb454ff99db6d35 (patch) | |
tree | 9a38f0c96420edf503eebd6325dd8d2d8249f653 /deps/v8/test/cctest/test-assembler-x64.cc | |
parent | 6afdca885adeeeed9eef8cbb01c3d97af0bc084d (diff) | |
download | node-new-33af2720f26c2b25bc7f75ce7eb454ff99db6d35.tar.gz |
Upgrade V8 to 3.4.8
Diffstat (limited to 'deps/v8/test/cctest/test-assembler-x64.cc')
-rw-r--r-- | deps/v8/test/cctest/test-assembler-x64.cc | 57 |
1 files changed, 32 insertions, 25 deletions
diff --git a/deps/v8/test/cctest/test-assembler-x64.cc b/deps/v8/test/cctest/test-assembler-x64.cc index 5d292df05f..ea70f54205 100644 --- a/deps/v8/test/cctest/test-assembler-x64.cc +++ b/deps/v8/test/cctest/test-assembler-x64.cc @@ -35,31 +35,31 @@ #include "serialize.h" #include "cctest.h" -using v8::internal::byte; -using v8::internal::OS; using v8::internal::Assembler; -using v8::internal::Operand; +using v8::internal::CodeDesc; +using v8::internal::FUNCTION_CAST; using v8::internal::Immediate; +using v8::internal::Isolate; using v8::internal::Label; +using v8::internal::OS; +using v8::internal::Operand; +using v8::internal::byte; +using v8::internal::greater; +using v8::internal::less_equal; +using v8::internal::not_equal; +using v8::internal::r13; +using v8::internal::r15; +using v8::internal::r8; +using v8::internal::r9; using v8::internal::rax; -using v8::internal::rsi; -using v8::internal::rdi; +using v8::internal::rbp; using v8::internal::rcx; +using v8::internal::rdi; using v8::internal::rdx; -using v8::internal::rbp; +using v8::internal::rsi; using v8::internal::rsp; -using v8::internal::r8; -using v8::internal::r9; -using v8::internal::r12; -using v8::internal::r13; using v8::internal::times_1; -using v8::internal::FUNCTION_CAST; -using v8::internal::CodeDesc; -using v8::internal::less_equal; -using v8::internal::not_equal; -using v8::internal::greater; - // Test the x64 assembler by compiling some simple functions into // a buffer and executing them. These tests do not initialize the // V8 library, create a context, or use any V8 objects. @@ -86,13 +86,14 @@ static const v8::internal::Register arg2 = rsi; TEST(AssemblerX64ReturnOperation) { + OS::Setup(); // Allocate an executable page of memory. size_t actual_size; byte* buffer = static_cast<byte*>(OS::Allocate(Assembler::kMinimalBufferSize, &actual_size, true)); CHECK(buffer); - Assembler assm(buffer, static_cast<int>(actual_size)); + Assembler assm(Isolate::Current(), buffer, static_cast<int>(actual_size)); // Assemble a simple function that copies argument 2 and returns it. __ movq(rax, arg2); @@ -107,13 +108,14 @@ TEST(AssemblerX64ReturnOperation) { } TEST(AssemblerX64StackOperations) { + OS::Setup(); // Allocate an executable page of memory. size_t actual_size; byte* buffer = static_cast<byte*>(OS::Allocate(Assembler::kMinimalBufferSize, &actual_size, true)); CHECK(buffer); - Assembler assm(buffer, static_cast<int>(actual_size)); + Assembler assm(Isolate::Current(), buffer, static_cast<int>(actual_size)); // Assemble a simple function that copies argument 2 and returns it. // We compile without stack frame pointers, so the gdb debugger shows @@ -138,13 +140,14 @@ TEST(AssemblerX64StackOperations) { } TEST(AssemblerX64ArithmeticOperations) { + OS::Setup(); // Allocate an executable page of memory. size_t actual_size; byte* buffer = static_cast<byte*>(OS::Allocate(Assembler::kMinimalBufferSize, &actual_size, true)); CHECK(buffer); - Assembler assm(buffer, static_cast<int>(actual_size)); + Assembler assm(Isolate::Current(), buffer, static_cast<int>(actual_size)); // Assemble a simple function that adds arguments returning the sum. __ movq(rax, arg2); @@ -159,13 +162,14 @@ TEST(AssemblerX64ArithmeticOperations) { } TEST(AssemblerX64ImulOperation) { + OS::Setup(); // Allocate an executable page of memory. size_t actual_size; byte* buffer = static_cast<byte*>(OS::Allocate(Assembler::kMinimalBufferSize, &actual_size, true)); CHECK(buffer); - Assembler assm(buffer, static_cast<int>(actual_size)); + Assembler assm(Isolate::Current(), buffer, static_cast<int>(actual_size)); // Assemble a simple function that multiplies arguments returning the high // word. @@ -186,13 +190,14 @@ TEST(AssemblerX64ImulOperation) { } TEST(AssemblerX64MemoryOperands) { + OS::Setup(); // Allocate an executable page of memory. size_t actual_size; byte* buffer = static_cast<byte*>(OS::Allocate(Assembler::kMinimalBufferSize, &actual_size, true)); CHECK(buffer); - Assembler assm(buffer, static_cast<int>(actual_size)); + Assembler assm(Isolate::Current(), buffer, static_cast<int>(actual_size)); // Assemble a simple function that copies argument 2 and returns it. __ push(rbp); @@ -219,13 +224,14 @@ TEST(AssemblerX64MemoryOperands) { } TEST(AssemblerX64ControlFlow) { + OS::Setup(); // Allocate an executable page of memory. size_t actual_size; byte* buffer = static_cast<byte*>(OS::Allocate(Assembler::kMinimalBufferSize, &actual_size, true)); CHECK(buffer); - Assembler assm(buffer, static_cast<int>(actual_size)); + Assembler assm(Isolate::Current(), buffer, static_cast<int>(actual_size)); // Assemble a simple function that copies argument 1 and returns it. __ push(rbp); @@ -247,13 +253,14 @@ TEST(AssemblerX64ControlFlow) { } TEST(AssemblerX64LoopImmediates) { + OS::Setup(); // Allocate an executable page of memory. size_t actual_size; byte* buffer = static_cast<byte*>(OS::Allocate(Assembler::kMinimalBufferSize, &actual_size, true)); CHECK(buffer); - Assembler assm(buffer, static_cast<int>(actual_size)); + Assembler assm(Isolate::Current(), buffer, static_cast<int>(actual_size)); // Assemble two loops using rax as counter, and verify the ending counts. Label Fail; __ movq(rax, Immediate(-3)); @@ -317,7 +324,7 @@ TEST(OperandRegisterDependency) { CHECK(Operand(rsp, offset).AddressUsesRegister(rsp)); CHECK(!Operand(rsp, offset).AddressUsesRegister(rax)); - CHECK(!Operand(rsp, offset).AddressUsesRegister(r12)); + CHECK(!Operand(rsp, offset).AddressUsesRegister(r15)); CHECK(Operand(rbp, offset).AddressUsesRegister(rbp)); CHECK(!Operand(rbp, offset).AddressUsesRegister(rax)); @@ -333,7 +340,7 @@ TEST(OperandRegisterDependency) { CHECK(Operand(rsp, rbp, times_1, offset).AddressUsesRegister(rsp)); CHECK(Operand(rsp, rbp, times_1, offset).AddressUsesRegister(rbp)); CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(rax)); - CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(r12)); + CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(r15)); CHECK(!Operand(rsp, rbp, times_1, offset).AddressUsesRegister(r13)); } } |