equal
deleted
inserted
replaced
39 |
39 |
40 public: |
40 public: |
41 ShenandoahLock() : _state(unlocked), _owner(NULL) {}; |
41 ShenandoahLock() : _state(unlocked), _owner(NULL) {}; |
42 |
42 |
43 void lock() { |
43 void lock() { |
|
44 #ifdef ASSERT |
|
45 assert(_owner != Thread::current(), "reentrant locking attempt, would deadlock"); |
|
46 #endif |
44 Thread::SpinAcquire(&_state, "Shenandoah Heap Lock"); |
47 Thread::SpinAcquire(&_state, "Shenandoah Heap Lock"); |
45 #ifdef ASSERT |
48 #ifdef ASSERT |
46 assert(_state == locked, "must be locked"); |
49 assert(_state == locked, "must be locked"); |
47 assert(_owner == NULL, "must not be owned"); |
50 assert(_owner == NULL, "must not be owned"); |
48 _owner = Thread::current(); |
51 _owner = Thread::current(); |