equal
deleted
inserted
replaced
382 } |
382 } |
383 Address sp = lastSPDbg(); |
383 Address sp = lastSPDbg(); |
384 Address stackBase = getStackBase(); |
384 Address stackBase = getStackBase(); |
385 // Be robust |
385 // Be robust |
386 if (sp == null) return false; |
386 if (sp == null) return false; |
387 return stackBase.greaterThanOrEqual(a) && sp.lessThanOrEqual(a); |
387 return stackBase.greaterThan(a) && sp.lessThanOrEqual(a); |
388 } |
388 } |
389 |
389 |
390 public boolean isLockOwned(Address a) { |
390 public boolean isLockOwned(Address a) { |
391 Address stackBase = getStackBase(); |
391 Address stackBase = getStackBase(); |
392 Address stackLimit = stackBase.addOffsetTo(-getStackSize()); |
392 Address stackLimit = stackBase.addOffsetTo(-getStackSize()); |
393 |
393 |
394 return stackBase.greaterThanOrEqual(a) && stackLimit.lessThanOrEqual(a); |
394 return stackBase.greaterThan(a) && stackLimit.lessThanOrEqual(a); |
395 |
395 |
396 // FIXME: should traverse MonitorArray/MonitorChunks as in VM |
396 // FIXME: should traverse MonitorArray/MonitorChunks as in VM |
397 } |
397 } |
398 |
398 |
399 public Oop getCurrentParkBlocker() { |
399 public Oop getCurrentParkBlocker() { |