equal
deleted
inserted
replaced
463 } |
463 } |
464 |
464 |
465 if (task != NULL) { |
465 if (task != NULL) { |
466 // Save method pointers across unlock safepoint. The task is removed from |
466 // Save method pointers across unlock safepoint. The task is removed from |
467 // the compilation queue, which is walked during RedefineClasses. |
467 // the compilation queue, which is walked during RedefineClasses. |
468 save_method = methodHandle(task->method()); |
468 Thread* thread = Thread::current(); |
469 save_hot_method = methodHandle(task->hot_method()); |
469 save_method = methodHandle(thread, task->method()); |
|
470 save_hot_method = methodHandle(thread, task->hot_method()); |
470 |
471 |
471 remove(task); |
472 remove(task); |
472 } |
473 } |
473 purge_stale_tasks(); // may temporarily release MCQ lock |
474 purge_stale_tasks(); // may temporarily release MCQ lock |
474 return task; |
475 return task; |