equal
deleted
inserted
replaced
36 Semaphore* _running; |
36 Semaphore* _running; |
37 Semaphore* _test_complete; |
37 Semaphore* _test_complete; |
38 VM_StopSafepoint(Semaphore* running, Semaphore* wait_for) : |
38 VM_StopSafepoint(Semaphore* running, Semaphore* wait_for) : |
39 _running(running), _test_complete(wait_for) {} |
39 _running(running), _test_complete(wait_for) {} |
40 VMOp_Type type() const { return VMOp_None; } |
40 VMOp_Type type() const { return VMOp_None; } |
41 Mode evaluation_mode() const { return _no_safepoint; } |
41 bool evaluate_at_safepoint() const { return false; } |
42 bool is_cheap_allocated() const { return false; } |
|
43 void doit() { _running->signal(); _test_complete->wait(); } |
42 void doit() { _running->signal(); _test_complete->wait(); } |
44 }; |
43 }; |
45 |
44 |
46 // This class and thread keep the non-safepoint op running while we do our testing. |
45 // This class and thread keep the non-safepoint op running while we do our testing. |
47 class VMThreadBlocker : public JavaThread { |
46 class VMThreadBlocker : public JavaThread { |