Mercurial > hg > graal-compiler
diff src/share/vm/classfile/classFileParser.cpp @ 3786:498c6cf70f7e
7058036: FieldsAllocationStyle=2 does not work in 32-bit VM
Summary: parseClassFile() incorrectly uses nonstatic_oop_map_size() method instead of nonstatic_oop_map_count().
Reviewed-by: never
Contributed-by: Krystal Mok <rednaxelafx@gmail.com>
author | kvn |
---|---|
date | Tue, 28 Jun 2011 14:30:27 -0700 |
parents | 8ce625481709 |
children | e6b1331a51d2 |
line wrap: on
line diff
--- a/src/share/vm/classfile/classFileParser.cpp Thu Jun 23 17:14:06 2011 -0700 +++ b/src/share/vm/classfile/classFileParser.cpp Tue Jun 28 14:30:27 2011 -0700 @@ -3287,9 +3287,9 @@ // Fields allocation: oops fields in super and sub classes are together. if( nonstatic_field_size > 0 && super_klass() != NULL && super_klass->nonstatic_oop_map_size() > 0 ) { - int map_size = super_klass->nonstatic_oop_map_size(); + int map_count = super_klass->nonstatic_oop_map_count(); OopMapBlock* first_map = super_klass->start_of_nonstatic_oop_maps(); - OopMapBlock* last_map = first_map + map_size - 1; + OopMapBlock* last_map = first_map + map_count - 1; int next_offset = last_map->offset() + (last_map->count() * heapOopSize); if (next_offset == next_nonstatic_field_offset) { allocation_style = 0; // allocate oops first