Mercurial > hg > graal-jvmci-8
comparison src/share/vm/c1/c1_LinearScan.cpp @ 1584:b812ff5abc73
6958292: C1: Enable parallel compilation
Summary: Enable parallel compilation in C1
Reviewed-by: never, kvn
author | iveresov |
---|---|
date | Fri, 04 Jun 2010 11:18:04 -0700 |
parents | c18cbe5936b8 |
children | 126ea7725993 |
comparison
equal
deleted
inserted
replaced
1583:02e771df338e | 1584:b812ff5abc73 |
---|---|
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), |