610 ImmutableOopMapBuilder::ImmutableOopMapBuilder(const OopMapSet* set) : _set(set), _new_set(NULL), _empty(NULL), _last(NULL), _empty_offset(-1), _last_offset(-1), _offset(0), _required(-1) { |
610 ImmutableOopMapBuilder::ImmutableOopMapBuilder(const OopMapSet* set) : _set(set), _new_set(NULL), _empty(NULL), _last(NULL), _empty_offset(-1), _last_offset(-1), _offset(0), _required(-1) { |
611 _mapping = NEW_RESOURCE_ARRAY(Mapping, _set->size()); |
611 _mapping = NEW_RESOURCE_ARRAY(Mapping, _set->size()); |
612 } |
612 } |
613 |
613 |
614 int ImmutableOopMapBuilder::size_for(const OopMap* map) const { |
614 int ImmutableOopMapBuilder::size_for(const OopMap* map) const { |
615 return align_size_up((int)sizeof(ImmutableOopMap) + map->data_size(), 8); |
615 return align_up((int)sizeof(ImmutableOopMap) + map->data_size(), 8); |
616 } |
616 } |
617 |
617 |
618 int ImmutableOopMapBuilder::heap_size() { |
618 int ImmutableOopMapBuilder::heap_size() { |
619 int base = sizeof(ImmutableOopMapSet); |
619 int base = sizeof(ImmutableOopMapSet); |
620 base = align_size_up(base, 8); |
620 base = align_up(base, 8); |
621 |
621 |
622 // all of ours pc / offset pairs |
622 // all of ours pc / offset pairs |
623 int pairs = _set->size() * sizeof(ImmutableOopMapPair); |
623 int pairs = _set->size() * sizeof(ImmutableOopMapPair); |
624 pairs = align_size_up(pairs, 8); |
624 pairs = align_up(pairs, 8); |
625 |
625 |
626 for (int i = 0; i < _set->size(); ++i) { |
626 for (int i = 0; i < _set->size(); ++i) { |
627 int size = 0; |
627 int size = 0; |
628 OopMap* map = _set->at(i); |
628 OopMap* map = _set->at(i); |
629 |
629 |