Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/javaClasses.hpp @ 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 | 90f5ddc7297b |
children | 60b728ec77c1 |
comparison
equal
deleted
inserted
replaced
110:a49a647afe9a | 113:ba764ed4b6f2 |
---|---|
689 static int static_lock_offset; | 689 static int static_lock_offset; |
690 static int static_pending_offset; | 690 static int static_pending_offset; |
691 static int number_of_fake_oop_fields; | 691 static int number_of_fake_oop_fields; |
692 | 692 |
693 // Accessors | 693 // Accessors |
694 static oop referent(oop ref) { return *referent_addr(ref); } | 694 static oop referent(oop ref) { |
695 static void set_referent(oop ref, oop value); | 695 return ref->obj_field(referent_offset); |
696 static oop* referent_addr(oop ref); | 696 } |
697 | 697 static void set_referent(oop ref, oop value) { |
698 static oop next(oop ref) { return *next_addr(ref); } | 698 ref->obj_field_put(referent_offset, value); |
699 static void set_next(oop ref, oop value); | 699 } |
700 static oop* next_addr(oop ref); | 700 static void set_referent_raw(oop ref, oop value) { |
701 | 701 ref->obj_field_raw_put(referent_offset, value); |
702 static oop discovered(oop ref) { return *discovered_addr(ref); } | 702 } |
703 static void set_discovered(oop ref, oop value); | 703 static HeapWord* referent_addr(oop ref) { |
704 static oop* discovered_addr(oop ref); | 704 return ref->obj_field_addr<HeapWord>(referent_offset); |
705 | 705 } |
706 static oop next(oop ref) { | |
707 return ref->obj_field(next_offset); | |
708 } | |
709 static void set_next(oop ref, oop value) { | |
710 ref->obj_field_put(next_offset, value); | |
711 } | |
712 static void set_next_raw(oop ref, oop value) { | |
713 ref->obj_field_raw_put(next_offset, value); | |
714 } | |
715 static HeapWord* next_addr(oop ref) { | |
716 return ref->obj_field_addr<HeapWord>(next_offset); | |
717 } | |
718 static oop discovered(oop ref) { | |
719 return ref->obj_field(discovered_offset); | |
720 } | |
721 static void set_discovered(oop ref, oop value) { | |
722 ref->obj_field_put(discovered_offset, value); | |
723 } | |
724 static void set_discovered_raw(oop ref, oop value) { | |
725 ref->obj_field_raw_put(discovered_offset, value); | |
726 } | |
727 static HeapWord* discovered_addr(oop ref) { | |
728 return ref->obj_field_addr<HeapWord>(discovered_offset); | |
729 } | |
706 // Accessors for statics | 730 // Accessors for statics |
707 static oop pending_list_lock() { return *pending_list_lock_addr(); } | 731 static oop pending_list_lock(); |
708 static oop pending_list() { return *pending_list_addr(); } | 732 static oop pending_list(); |
709 | 733 |
710 static oop* pending_list_lock_addr(); | 734 static HeapWord* pending_list_addr(); |
711 static oop* pending_list_addr(); | |
712 }; | 735 }; |
713 | 736 |
714 | 737 |
715 // Interface to java.lang.ref.SoftReference objects | 738 // Interface to java.lang.ref.SoftReference objects |
716 | 739 |