Mercurial > hg > graal-compiler
comparison src/share/vm/compiler/compileBroker.cpp @ 20489:966205f0e717
8058564: Tiered compilation performance drop in PIT
Summary: Ensure MethodCounters are created before method is enqueued for compilation
Reviewed-by: kvn, drchase, jiangli, roland
author | iveresov |
---|---|
date | Fri, 19 Sep 2014 11:53:58 -0700 |
parents | dd89808e49ba |
children | b9c94af14fd0 |
comparison
equal
deleted
inserted
replaced
20488:9c8439756c05 | 20489:966205f0e717 |
---|---|
1171 // the pending list lock or a 3-way deadlock may occur | 1171 // the pending list lock or a 3-way deadlock may occur |
1172 // between the reference handler thread, a GC (instigated | 1172 // between the reference handler thread, a GC (instigated |
1173 // by a compiler thread), and compiled method registration. | 1173 // by a compiler thread), and compiled method registration. |
1174 if (InstanceRefKlass::owns_pending_list_lock(JavaThread::current())) { | 1174 if (InstanceRefKlass::owns_pending_list_lock(JavaThread::current())) { |
1175 return; | 1175 return; |
1176 } | |
1177 | |
1178 if (TieredCompilation) { | |
1179 // Tiered policy requires MethodCounters to exist before adding a method to | |
1180 // the queue. Create if we don't have them yet. | |
1181 method->get_method_counters(thread); | |
1176 } | 1182 } |
1177 | 1183 |
1178 // Outputs from the following MutexLocker block: | 1184 // Outputs from the following MutexLocker block: |
1179 CompileTask* task = NULL; | 1185 CompileTask* task = NULL; |
1180 bool blocking = false; | 1186 bool blocking = false; |