Code Review for 8025566

Prepared by:twisti on Fri Oct 4 14:50:21 PDT 2013
Workspace:/Users/twisti/ws/8025566
Compare against: /Users/twisti/ws/hotspot
Summary of changes: 33 lines changed: 17 ins; 6 del; 10 mod; 7427 unchg
Patch of changes: 8025566.patch
Author comments:
8025566: EXCEPTION_ACCESS_VIOLATION in compiled by C1 String.valueOf method
Reviewed-by: jrose

The problem is in ciMethod::ensure_method_data(). The call to ciMethodData::load_data() can fail when the backing metadata pointer is null and return with a still empty method data. So we have to check here for non-emptiness.

I also removed ciMethodData::set_mature(). This method was only used with the old JSR 292 implementation.

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

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/c1/c1_LIRGenerator.cpp

5 lines changed: 4 ins; 0 del; 1 mod; 3326 unchg

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

12 lines changed: 4 ins; 3 del; 5 mod; 1313 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/ci/ciMethod.hpp

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

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

3 lines changed: 2 ins; 0 del; 1 mod; 504 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/ci/ciMethodData.hpp

2 lines changed: 0 ins; 2 del; 0 mod; 325 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/oops/method.hpp

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

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

8 lines changed: 6 ins; 0 del; 2 mod; 591 unchg

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