RFR (XL): 8152664 - Support non-continuous CodeBlobs in HotSpot

Andrew Dinn adinn at redhat.com
Mon Apr 11 15:18:40 UTC 2016


On 07/04/16 13:12, Rickard Bäckman wrote:
> Hi,
> 
> can I please have review for this patch please?
> 
> So far CodeBlobs have required all the data (metadata, oops, code, etc)
> to be in one continuous blob With this patch we are looking to change
> that. It's been done by changing offsets in CodeBlob to addresses,
> making some methods virtual to allow different behavior and also
> creating a couple of new classes. CompiledMethod now sits inbetween
> CodeBlob and nmethod.
> 
> CR: https://bugs.openjdk.java.net/browse/JDK-8152664
> Webrev: http://cr.openjdk.java.net/~rbackman/8152664/

n.b. The patch to os_linux_aarch64.cpp has an error in it:

@@ -389,7 +389,7 @@
         // here if the underlying file has been truncated.
         // Do not crash the VM in such a case.
         CodeBlob* cb = CodeCache::find_blob_unsafe(pc);
-        nmethod* nm = (cb != NULL && cb->is_nmethod()) ? (nmethod*)cb :
NULL;
+        CompiledMethod* nm = (cb != NULL)
cb->as_compiled_method_or_null() : NULL;
         if (nm != NULL && nm->has_unsafe_access()) {
           stub = handle_unsafe_access(thread, pc);
         }

The replaced line is missing the ? in the ? : ternary operator.

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in UK and Wales under Company Registration No. 3798903
Directors: Michael Cunningham (US), Michael O'Neill (Ireland), Paul
Argiry (US)


More information about the hotspot-dev mailing list