Reviewers: Yang,

Message:
PTAL.

Description:
Enable the CHECK for near-jump displacement range in Release mode too.

If we're generating bad code anyway, we might as well crash immediately and at
least get a proper backtrace.


Please review this at https://chromiumcodereview.appspot.com/10697004/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/ia32/assembler-ia32.cc
  M src/x64/assembler-x64.cc


Index: src/ia32/assembler-ia32.cc
diff --git a/src/ia32/assembler-ia32.cc b/src/ia32/assembler-ia32.cc
index a42f6324e34abe4058d7ab9cc24a3faafb4f0f77..1dcf26c532fafbdc02d00d0c5c1dd7f6dde1d24e 100644
--- a/src/ia32/assembler-ia32.cc
+++ b/src/ia32/assembler-ia32.cc
@@ -1373,7 +1373,7 @@ void Assembler::bind_to(Label* L, int pos) {
     ASSERT(offset_to_next <= 0);
     // Relative address, relative to point after address.
     int disp = pos - fixup_pos - sizeof(int8_t);
-    ASSERT(0 <= disp && disp <= 127);
+    CHECK(0 <= disp && disp <= 127);
     set_byte_at(fixup_pos, disp);
     if (offset_to_next < 0) {
       L->link_to(fixup_pos + offset_to_next, Label::kNear);
Index: src/x64/assembler-x64.cc
diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc
index 2f0c542bc2ca98907a1ea2e72abd3436d6fdfe3b..89b971070ebdfeee26853233219fb6b0f0942545 100644
--- a/src/x64/assembler-x64.cc
+++ b/src/x64/assembler-x64.cc
@@ -467,7 +467,7 @@ void Assembler::bind_to(Label* L, int pos) {
         static_cast<int>(*reinterpret_cast<int8_t*>(addr_at(fixup_pos)));
     ASSERT(offset_to_next <= 0);
     int disp = pos - (fixup_pos + sizeof(int8_t));
-    ASSERT(is_int8(disp));
+    CHECK(is_int8(disp));
     set_byte_at(fixup_pos, disp);
     if (offset_to_next < 0) {
       L->link_to(fixup_pos + offset_to_next, Label::kNear);


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to