equal
deleted
inserted
replaced
82 , _cached_blocks(*ir->linear_scan_order()) |
82 , _cached_blocks(*ir->linear_scan_order()) |
83 #ifdef X86 |
83 #ifdef X86 |
84 , _fpu_stack_allocator(NULL) |
84 , _fpu_stack_allocator(NULL) |
85 #endif |
85 #endif |
86 { |
86 { |
87 // note: to use more than on instance of LinearScan at a time this function call has to |
|
88 // be moved somewhere outside of this constructor: |
|
89 Interval::initialize(); |
|
90 |
|
91 assert(this->ir() != NULL, "check if valid"); |
87 assert(this->ir() != NULL, "check if valid"); |
92 assert(this->compilation() != NULL, "check if valid"); |
88 assert(this->compilation() != NULL, "check if valid"); |
93 assert(this->gen() != NULL, "check if valid"); |
89 assert(this->gen() != NULL, "check if valid"); |
94 assert(this->frame_map() != NULL, "check if valid"); |
90 assert(this->frame_map() != NULL, "check if valid"); |
95 } |
91 } |
3927 { |
3923 { |
3928 } |
3924 } |
3929 |
3925 |
3930 // initialize sentinel |
3926 // initialize sentinel |
3931 Range* Range::_end = NULL; |
3927 Range* Range::_end = NULL; |
3932 void Range::initialize() { |
3928 void Range::initialize(Arena* arena) { |
3933 _end = new Range(max_jint, max_jint, NULL); |
3929 _end = new (arena) Range(max_jint, max_jint, NULL); |
3934 } |
3930 } |
3935 |
3931 |
3936 int Range::intersects_at(Range* r2) const { |
3932 int Range::intersects_at(Range* r2) const { |
3937 const Range* r1 = this; |
3933 const Range* r1 = this; |
3938 |
3934 |
3974 |
3970 |
3975 // **** Implementation of Interval ********************************** |
3971 // **** Implementation of Interval ********************************** |
3976 |
3972 |
3977 // initialize sentinel |
3973 // initialize sentinel |
3978 Interval* Interval::_end = NULL; |
3974 Interval* Interval::_end = NULL; |
3979 void Interval::initialize() { |
3975 void Interval::initialize(Arena* arena) { |
3980 Range::initialize(); |
3976 Range::initialize(arena); |
3981 _end = new Interval(-1); |
3977 _end = new (arena) Interval(-1); |
3982 } |
3978 } |
3983 |
3979 |
3984 Interval::Interval(int reg_num) : |
3980 Interval::Interval(int reg_num) : |
3985 _reg_num(reg_num), |
3981 _reg_num(reg_num), |
3986 _type(T_ILLEGAL), |
3982 _type(T_ILLEGAL), |