Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(367)

Unified Diff: test/cctest/test-disasm-x64.cc

Issue 178193028: Print properly signed displacement in disassembler. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Port to x64. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/cctest/test-disasm-ia32.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/test-disasm-x64.cc
diff --git a/test/cctest/test-disasm-x64.cc b/test/cctest/test-disasm-x64.cc
index 9fce25fae440d0574b7535d2705bbfb15d5d6d94..a1f2e4ed985e61a00516f8531645070f1add1f1d 100644
--- a/test/cctest/test-disasm-x64.cc
+++ b/test/cctest/test-disasm-x64.cc
@@ -34,6 +34,7 @@
#include "disassembler.h"
#include "macro-assembler.h"
#include "serialize.h"
+#include "stub-cache.h"
#include "cctest.h"
using namespace v8::internal;
@@ -48,9 +49,10 @@ static void DummyStaticFunction(Object* result) {
TEST(DisasmX64) {
CcTest::InitializeVM();
- v8::HandleScope scope;
+ Isolate* isolate = CcTest::i_isolate();
+ HandleScope scope(isolate);
v8::internal::byte buffer[2048];
- Assembler assm(CcTest::i_isolate(), buffer, sizeof buffer);
+ Assembler assm(isolate, buffer, sizeof buffer);
DummyStaticFunction(NULL); // just bloody use it (DELETE; debugging)
// Short immediate instructions
@@ -68,12 +70,23 @@ TEST(DisasmX64) {
__ addq(rdx, Operand(rbx, 0));
__ addq(rdx, Operand(rbx, 16));
__ addq(rdx, Operand(rbx, 1999));
+ __ addq(rdx, Operand(rbx, -4));
+ __ addq(rdx, Operand(rbx, -1999));
__ addq(rdx, Operand(rsp, 0));
__ addq(rdx, Operand(rsp, 16));
__ addq(rdx, Operand(rsp, 1999));
+ __ addq(rdx, Operand(rsp, -4));
+ __ addq(rdx, Operand(rsp, -1999));
+ __ nop();
+ __ addq(rsi, Operand(rcx, times_4, 0));
+ __ addq(rsi, Operand(rcx, times_4, 24));
+ __ addq(rsi, Operand(rcx, times_4, -4));
+ __ addq(rsi, Operand(rcx, times_4, -1999));
__ nop();
__ addq(rdi, Operand(rbp, rcx, times_4, 0));
__ addq(rdi, Operand(rbp, rcx, times_4, 12));
+ __ addq(rdi, Operand(rbp, rcx, times_4, -8));
+ __ addq(rdi, Operand(rbp, rcx, times_4, -3999));
__ addq(Operand(rbp, rcx, times_4, 12), Immediate(12));
__ nop();
@@ -157,7 +170,8 @@ TEST(DisasmX64) {
__ incq(Operand(rbx, rcx, times_4, 10000));
__ push(Operand(rbx, rcx, times_4, 10000));
__ pop(Operand(rbx, rcx, times_4, 10000));
- __ jmp(Operand(rbx, rcx, times_4, 10000));
+ // TODO(mstarzinger): The following is protected.
+ // __ jmp(Operand(rbx, rcx, times_4, 10000));
__ lea(rdx, Operand(rbx, rcx, times_4, 10000));
__ or_(rdx, Immediate(12345));
@@ -233,20 +247,20 @@ TEST(DisasmX64) {
__ call(&L2);
__ nop();
__ bind(&L2);
- __ call(Operand(rbx, rcx, times_4, 10000));
+ // TODO(mstarzinger): The following is protected.
+ // __ call(Operand(rbx, rcx, times_4, 10000));
__ nop();
- Handle<Code> ic(CcTest::i_isolate()->builtins()->builtin(
- Builtins::kLoadIC_Initialize));
+ Handle<Code> ic(LoadIC::initialize_stub(isolate, NOT_CONTEXTUAL));
__ call(ic, RelocInfo::CODE_TARGET);
__ nop();
__ nop();
__ jmp(&L1);
- __ jmp(Operand(rbx, rcx, times_4, 10000));
+ // TODO(mstarzinger): The following is protected.
+ // __ jmp(Operand(rbx, rcx, times_4, 10000));
#ifdef ENABLE_DEBUGGER_SUPPORT
ExternalReference after_break_target =
- ExternalReference(Debug_Address::AfterBreakTarget(),
- assm.isolate());
+ ExternalReference(Debug_Address::AfterBreakTarget(), isolate);
USE(after_break_target);
#endif // ENABLE_DEBUGGER_SUPPORT
__ jmp(ic, RelocInfo::CODE_TARGET);
@@ -345,9 +359,9 @@ TEST(DisasmX64) {
__ andps(xmm0, xmm1);
__ andps(xmm0, Operand(rbx, rcx, times_4, 10000));
__ orps(xmm0, xmm1);
- __ ordps(xmm0, Operand(rbx, rcx, times_4, 10000));
+ __ orps(xmm0, Operand(rbx, rcx, times_4, 10000));
__ xorps(xmm0, xmm1);
- __ xordps(xmm0, Operand(rbx, rcx, times_4, 10000));
+ __ xorps(xmm0, Operand(rbx, rcx, times_4, 10000));
// Arithmetic operation
__ addps(xmm1, xmm0);
@@ -355,7 +369,7 @@ TEST(DisasmX64) {
__ subps(xmm1, xmm0);
__ subps(xmm1, Operand(rbx, rcx, times_4, 10000));
__ mulps(xmm1, xmm0);
- __ mulps(xmm1, Operand(rbx, ecx, times_4, 10000));
+ __ mulps(xmm1, Operand(rbx, rcx, times_4, 10000));
__ divps(xmm1, xmm0);
__ divps(xmm1, Operand(rbx, rcx, times_4, 10000));
}
« no previous file with comments | « test/cctest/test-disasm-ia32.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698