Code Review for 8007923

Prepared by:twisti on Tue Oct 8 12:06:06 PDT 2013
Compare against: /Users/twisti/ws/hotspot
Summary of changes: 3 lines changed: 2 ins; 0 del; 1 mod; 3582 unchg
Patch of changes: 8007923.patch
Author comments:
8007923: Tests on references fails

Escape analysis treats java.lang.ref.Reference as any other object and tries to scalarize it. In this particular fail one Reference does not escape but the other one does. When it comes to a pointer equality check the pointer comparison optimization falsely assumes that the non-escaped Reference cannot escape but in fact it can when the garbage collector enqueues the Reference in the queue.

After more internal discussion we decided to exclude java.lang.ref.Reference from being scalarized since they can escape globally any time.

Bug id: 8007923
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/ci/ciKlass.cpp

2 lines changed: 1 ins; 0 del; 1 mod; 236 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/opto/escape.cpp

1 line changed: 1 ins; 0 del; 0 mod; 3346 unchg

This code review page was prepared using /Users/twisti/bin/webrev (vers 23.18-hg-never-dev).