1.1 --- a/src/share/vm/c1/c1_LinearScan.cpp Thu Jun 03 14:20:27 2010 -0700 1.2 +++ b/src/share/vm/c1/c1_LinearScan.cpp Fri Jun 04 11:18:04 2010 -0700 1.3 @@ -84,10 +84,6 @@ 1.4 , _fpu_stack_allocator(NULL) 1.5 #endif 1.6 { 1.7 - // note: to use more than on instance of LinearScan at a time this function call has to 1.8 - // be moved somewhere outside of this constructor: 1.9 - Interval::initialize(); 1.10 - 1.11 assert(this->ir() != NULL, "check if valid"); 1.12 assert(this->compilation() != NULL, "check if valid"); 1.13 assert(this->gen() != NULL, "check if valid"); 1.14 @@ -3929,8 +3925,8 @@ 1.15 1.16 // initialize sentinel 1.17 Range* Range::_end = NULL; 1.18 -void Range::initialize() { 1.19 - _end = new Range(max_jint, max_jint, NULL); 1.20 +void Range::initialize(Arena* arena) { 1.21 + _end = new (arena) Range(max_jint, max_jint, NULL); 1.22 } 1.23 1.24 int Range::intersects_at(Range* r2) const { 1.25 @@ -3976,9 +3972,9 @@ 1.26 1.27 // initialize sentinel 1.28 Interval* Interval::_end = NULL; 1.29 -void Interval::initialize() { 1.30 - Range::initialize(); 1.31 - _end = new Interval(-1); 1.32 +void Interval::initialize(Arena* arena) { 1.33 + Range::initialize(arena); 1.34 + _end = new (arena) Interval(-1); 1.35 } 1.36 1.37 Interval::Interval(int reg_num) :