JDK-8184914 : Use MacroAssembler::cmpoop() consistently when comparing heap objects
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 10
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2017-07-19
  • Updated: 2019-05-22
  • Resolved: 2017-10-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 10
10 b31Fixed
Related Reports
Relates :  
Description
Current, cmpoop() is only declared for 32-bit x86, and only used in 2 places in C1 to compare oops. In other places, oops are compared using cmpptr(). It would be useful to distinguish normal pointer comparisons from heap object comparisons, and use cmpoop() consistently for heap object comparisons. This would remove clutter in several places where we #ifdef _LP64 around comparisons, and would also allow to insert necessary barriers for GCs that need them (e.g. Shenandoah) later.
Comments
URL: http://hg.openjdk.java.net/jdk10/master/rev/f433d49aceb4 User: jwilhelm Date: 2017-11-04 02:58:06 +0000
04-11-2017

URL: http://hg.openjdk.java.net/jdk10/hs/rev/f433d49aceb4 User: coleenp Date: 2017-10-23 14:59:29 +0000
23-10-2017