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