Mercurial > hg > truffle
comparison src/share/vm/memory/space.cpp @ 1579:e9ff18c4ace7
Merge
author | jrose |
---|---|
date | Wed, 02 Jun 2010 22:45:42 -0700 |
parents | c18cbe5936b8 2d127394260e |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1562:dfe27f03244a | 1579:e9ff18c4ace7 |
---|---|
859 if (factor > 0) { | 859 if (factor > 0) { |
860 size -= size/factor; | 860 size -= size/factor; |
861 } | 861 } |
862 size = align_object_size(size); | 862 size = align_object_size(size); |
863 | 863 |
864 const size_t min_int_array_size = typeArrayOopDesc::header_size(T_INT); | 864 const size_t array_header_size = typeArrayOopDesc::header_size(T_INT); |
865 if (size >= min_int_array_size) { | 865 if (size >= (size_t)align_object_size(array_header_size)) { |
866 size_t length = (size - min_int_array_size) * (HeapWordSize / sizeof(jint)); | 866 size_t length = (size - array_header_size) * (HeapWordSize / sizeof(jint)); |
867 // allocate uninitialized int array | 867 // allocate uninitialized int array |
868 typeArrayOop t = (typeArrayOop) allocate(size); | 868 typeArrayOop t = (typeArrayOop) allocate(size); |
869 assert(t != NULL, "allocation should succeed"); | 869 assert(t != NULL, "allocation should succeed"); |
870 t->set_mark(markOopDesc::prototype()); | 870 t->set_mark(markOopDesc::prototype()); |
871 t->set_klass(Universe::intArrayKlassObj()); | 871 t->set_klass(Universe::intArrayKlassObj()); |
872 t->set_length((int)length); | 872 t->set_length((int)length); |
873 } else { | 873 } else { |
874 assert((int) size == instanceOopDesc::header_size(), | 874 assert(size == CollectedHeap::min_fill_size(), |
875 "size for smallest fake object doesn't match"); | 875 "size for smallest fake object doesn't match"); |
876 instanceOop obj = (instanceOop) allocate(size); | 876 instanceOop obj = (instanceOop) allocate(size); |
877 obj->set_mark(markOopDesc::prototype()); | 877 obj->set_mark(markOopDesc::prototype()); |
878 obj->set_klass_gap(0); | 878 obj->set_klass_gap(0); |
879 obj->set_klass(SystemDictionary::Object_klass()); | 879 obj->set_klass(SystemDictionary::Object_klass()); |