Mercurial > hg > graal-compiler
diff src/share/vm/memory/space.cpp @ 113:ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author | coleenp |
---|---|
date | Sun, 13 Apr 2008 17:43:42 -0400 |
parents | a61af66fc99e |
children | feeb96a45707 37f87013dfd8 |
line wrap: on
line diff
--- a/src/share/vm/memory/space.cpp Fri Apr 11 09:56:35 2008 -0400 +++ b/src/share/vm/memory/space.cpp Sun Apr 13 17:43:42 2008 -0400 @@ -25,6 +25,9 @@ # include "incls/_precompiled.incl" # include "incls/_space.cpp.incl" +void SpaceMemRegionOopsIterClosure::do_oop(oop* p) { SpaceMemRegionOopsIterClosure::do_oop_work(p); } +void SpaceMemRegionOopsIterClosure::do_oop(narrowOop* p) { SpaceMemRegionOopsIterClosure::do_oop_work(p); } + HeapWord* DirtyCardToOopClosure::get_actual_top(HeapWord* top, HeapWord* top_obj) { if (top_obj != NULL) { @@ -150,10 +153,6 @@ return new DirtyCardToOopClosure(this, cl, precision, boundary); } -void FilteringClosure::do_oop(oop* p) { - do_oop_nv(p); -} - HeapWord* ContiguousSpaceDCTOC::get_actual_top(HeapWord* top, HeapWord* top_obj) { if (top_obj != NULL && top_obj < (_sp->toContiguousSpace())->top()) { @@ -337,7 +336,7 @@ assert(q->forwardee() == NULL, "should be forwarded to NULL"); } - debug_only(MarkSweep::register_live_oop(q, size)); + VALIDATE_MARK_SWEEP_ONLY(MarkSweep::register_live_oop(q, size)); compact_top += size; // we need to update the offset table so that the beginnings of objects can be @@ -406,13 +405,13 @@ if (oop(q)->is_gc_marked()) { // q is alive - debug_only(MarkSweep::track_interior_pointers(oop(q))); + VALIDATE_MARK_SWEEP_ONLY(MarkSweep::track_interior_pointers(oop(q))); // point all the oops to the new location size_t size = oop(q)->adjust_pointers(); - debug_only(MarkSweep::check_interior_pointers()); + VALIDATE_MARK_SWEEP_ONLY(MarkSweep::check_interior_pointers()); debug_only(prev_q = q); - debug_only(MarkSweep::validate_live_oop(oop(q), size)); + VALIDATE_MARK_SWEEP_ONLY(MarkSweep::validate_live_oop(oop(q), size)); q += size; } else { @@ -884,10 +883,13 @@ class VerifyOldOopClosure : public OopClosure { public: - oop the_obj; - bool allow_dirty; + oop _the_obj; + bool _allow_dirty; void do_oop(oop* p) { - the_obj->verify_old_oop(p, allow_dirty); + _the_obj->verify_old_oop(p, _allow_dirty); + } + void do_oop(narrowOop* p) { + _the_obj->verify_old_oop(p, _allow_dirty); } }; @@ -898,7 +900,7 @@ HeapWord* p = bottom(); HeapWord* prev_p = NULL; VerifyOldOopClosure blk; // Does this do anything? - blk.allow_dirty = allow_dirty; + blk._allow_dirty = allow_dirty; int objs = 0; int blocks = 0; @@ -919,7 +921,7 @@ if (objs == OBJ_SAMPLE_INTERVAL) { oop(p)->verify(); - blk.the_obj = oop(p); + blk._the_obj = oop(p); oop(p)->oop_iterate(&blk); objs = 0; } else {