Mercurial > hg > truffle
comparison src/cpu/x86/vm/x86_64.ad @ 12316:190899198332
7195622: CheckUnhandledOops has limited usefulness now
Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.
Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
Contributed-by: lois.foltan@oracle.com
author | hseigel |
---|---|
date | Thu, 26 Sep 2013 10:25:02 -0400 |
parents | 7944aba7ba41 |
children | 268e7a2178d7 |
comparison
equal
deleted
inserted
replaced
12315:c1fbf21c7397 | 12316:190899198332 |
---|---|
527 void emit_d32_reloc(CodeBuffer& cbuf, int d32, RelocationHolder const& rspec, int format) { | 527 void emit_d32_reloc(CodeBuffer& cbuf, int d32, RelocationHolder const& rspec, int format) { |
528 #ifdef ASSERT | 528 #ifdef ASSERT |
529 if (rspec.reloc()->type() == relocInfo::oop_type && | 529 if (rspec.reloc()->type() == relocInfo::oop_type && |
530 d32 != 0 && d32 != (intptr_t) Universe::non_oop_word()) { | 530 d32 != 0 && d32 != (intptr_t) Universe::non_oop_word()) { |
531 assert(Universe::heap()->is_in_reserved((address)(intptr_t)d32), "should be real oop"); | 531 assert(Universe::heap()->is_in_reserved((address)(intptr_t)d32), "should be real oop"); |
532 assert(oop((intptr_t)d32)->is_oop() && (ScavengeRootsInCode || !oop((intptr_t)d32)->is_scavengable()), "cannot embed scavengable oops in code"); | 532 assert(cast_to_oop((intptr_t)d32)->is_oop() && (ScavengeRootsInCode || !cast_to_oop((intptr_t)d32)->is_scavengable()), "cannot embed scavengable oops in code"); |
533 } | 533 } |
534 #endif | 534 #endif |
535 cbuf.relocate(cbuf.insts_mark(), rspec, format); | 535 cbuf.relocate(cbuf.insts_mark(), rspec, format); |
536 cbuf.insts()->emit_int32(d32); | 536 cbuf.insts()->emit_int32(d32); |
537 } | 537 } |
554 void emit_d64_reloc(CodeBuffer& cbuf, int64_t d64, RelocationHolder const& rspec, int format) { | 554 void emit_d64_reloc(CodeBuffer& cbuf, int64_t d64, RelocationHolder const& rspec, int format) { |
555 #ifdef ASSERT | 555 #ifdef ASSERT |
556 if (rspec.reloc()->type() == relocInfo::oop_type && | 556 if (rspec.reloc()->type() == relocInfo::oop_type && |
557 d64 != 0 && d64 != (int64_t) Universe::non_oop_word()) { | 557 d64 != 0 && d64 != (int64_t) Universe::non_oop_word()) { |
558 assert(Universe::heap()->is_in_reserved((address)d64), "should be real oop"); | 558 assert(Universe::heap()->is_in_reserved((address)d64), "should be real oop"); |
559 assert(oop(d64)->is_oop() && (ScavengeRootsInCode || !oop(d64)->is_scavengable()), | 559 assert(cast_to_oop(d64)->is_oop() && (ScavengeRootsInCode || !cast_to_oop(d64)->is_scavengable()), |
560 "cannot embed scavengable oops in code"); | 560 "cannot embed scavengable oops in code"); |
561 } | 561 } |
562 #endif | 562 #endif |
563 cbuf.relocate(cbuf.insts_mark(), rspec, format); | 563 cbuf.relocate(cbuf.insts_mark(), rspec, format); |
564 cbuf.insts()->emit_int64(d64); | 564 cbuf.insts()->emit_int64(d64); |