8205921: Optimizing best-of-2 work stealing queue selection

Bias towards stealing from queues that we recently successfully stole from to decrease the number of unsuccessful steal attempts.

Co-authored-by: Thomas Schatzl <thomas.schatzl@oracle.com>
Reviewed-by: eosterlund, kbarrett
This commit is contained in:
Zhengyu Gu 2018-08-03 11:06:10 +02:00
parent c4faf01f86
commit 4555c28590
19 changed files with 119 additions and 93 deletions

View file

@ -37,16 +37,16 @@
#include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp"
inline bool ParCompactionManager::steal(int queue_num, int* seed, oop& t) {
return stack_array()->steal(queue_num, seed, t);
inline bool ParCompactionManager::steal(int queue_num, oop& t) {
return stack_array()->steal(queue_num, t);
}
inline bool ParCompactionManager::steal_objarray(int queue_num, int* seed, ObjArrayTask& t) {
return _objarray_queues->steal(queue_num, seed, t);
inline bool ParCompactionManager::steal_objarray(int queue_num, ObjArrayTask& t) {
return _objarray_queues->steal(queue_num, t);
}
inline bool ParCompactionManager::steal(int queue_num, int* seed, size_t& region) {
return region_array()->steal(queue_num, seed, region);
inline bool ParCompactionManager::steal(int queue_num, size_t& region) {
return region_array()->steal(queue_num, region);
}
inline void ParCompactionManager::push(oop obj) {