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

Unified Diff: test/cctest/test-compiler.cc

Issue 7308001: Correctly handle the constant pool in constant pool splitting test (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 6 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 | « src/arm/disasm-arm.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-compiler.cc
diff --git a/test/cctest/test-compiler.cc b/test/cctest/test-compiler.cc
index 5bf096c92b39d655d3c93858ac2c740f4a7db734..72907b6e9a1bd073cf7f8ab5f7064ac3379ac840 100644
--- a/test/cctest/test-compiler.cc
+++ b/test/cctest/test-compiler.cc
@@ -367,9 +367,6 @@ static void CheckCodeForUnsafeLiteral(Handle<JSFunction> f) {
disasm::Disassembler d(name_converter);
if (f->code()->kind() == Code::FUNCTION) {
-#ifdef DEBUG
- f->code()->PrintLn();
-#endif
Address pc = f->code()->instruction_start();
int decode_size =
Min(f->code()->instruction_size(),
@@ -378,12 +375,15 @@ static void CheckCodeForUnsafeLiteral(Handle<JSFunction> f) {
v8::internal::EmbeddedVector<char, 128> decode_buffer;
while (pc < end) {
- PrintF("%08x\n",
- static_cast<unsigned int>(reinterpret_cast<intptr_t>(pc)));
- pc += d.InstructionDecode(decode_buffer, pc);
- CHECK(strstr(decode_buffer.start(), "mov eax,0x178c29c") == NULL);
- CHECK(strstr(decode_buffer.start(), "push 0x178c29c") == NULL);
- CHECK(strstr(decode_buffer.start(), "0x178c29c") == NULL);
+ int num_const = d.ConstantPoolSizeAt(pc);
+ if (num_const >= 0) {
+ pc += num_const * kPointerSize;
+ } else {
+ pc += d.InstructionDecode(decode_buffer, pc);
+ CHECK(strstr(decode_buffer.start(), "mov eax,0x178c29c") == NULL);
+ CHECK(strstr(decode_buffer.start(), "push 0x178c29c") == NULL);
+ CHECK(strstr(decode_buffer.start(), "0x178c29c") == NULL);
+ }
}
}
}
« no previous file with comments | « src/arm/disasm-arm.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698