< prev index next >

hotspot/src/share/vm/c1/c1_LinearScan.hpp

Print this page
rev 10452 : imported patch primitive arrays

*** 42,63 **** class MoveResolver; class Range; typedef GrowableArray<Interval*> IntervalArray; typedef GrowableArray<Interval*> IntervalList; ! ! define_array(IntervalsArray, IntervalList*) ! define_stack(IntervalsList, IntervalsArray) ! ! define_array(OopMapArray, OopMap*) ! define_stack(OopMapList, OopMapArray) ! ! define_array(ScopeValueArray, ScopeValue*) ! ! define_array(LIR_OpListArray, LIR_OpList*); ! define_stack(LIR_OpListStack, LIR_OpListArray); ! enum IntervalUseKind { // priority of use kinds must be ascending noUse = 0, loopEndMarker = 1, --- 42,54 ---- class MoveResolver; class Range; typedef GrowableArray<Interval*> IntervalArray; typedef GrowableArray<Interval*> IntervalList; ! typedef GrowableArray<IntervalList*> IntervalsList; ! typedef GrowableArray<ScopeValue*> ScopeValueArray; ! typedef GrowableArray<LIR_OpList*> LIR_OpListStack; enum IntervalUseKind { // priority of use kinds must be ascending noUse = 0, loopEndMarker = 1,
*** 65,77 **** mustHaveRegister = 3, firstValidKind = 1, lastValidKind = 3 }; - define_array(UseKindArray, IntervalUseKind) - define_stack(UseKindStack, UseKindArray) - enum IntervalKind { fixedKind = 0, // interval pre-colored by LIR_Generator anyKind = 1, // no register/memory allocated by LIR_Generator nofKinds, --- 56,65 ----
*** 617,627 **** // manipulating intervals void add_use_pos(int pos, IntervalUseKind use_kind); void add_range(int from, int to); Interval* split(int split_pos); Interval* split_from_start(int split_pos); ! void remove_first_use_pos() { _use_pos_and_kinds.truncate(_use_pos_and_kinds.length() - 2); } // test intersection bool covers(int op_id, LIR_OpVisitState::OprMode mode) const; bool has_hole_between(int from, int to); bool intersects(Interval* i) const { return _first->intersects(i->_first); } --- 605,615 ---- // manipulating intervals void add_use_pos(int pos, IntervalUseKind use_kind); void add_range(int from, int to); Interval* split(int split_pos); Interval* split_from_start(int split_pos); ! void remove_first_use_pos() { _use_pos_and_kinds.trunc_to(_use_pos_and_kinds.length() - 2); } // test intersection bool covers(int op_id, LIR_OpVisitState::OprMode mode) const; bool has_hole_between(int from, int to); bool intersects(Interval* i) const { return _first->intersects(i->_first); }
< prev index next >