changeset 22499:0e912e7580f9

document contract expected by REGISTER_FINALIZER runtime routine
author Doug Simon <doug.simon@oracle.com>
date Mon, 24 Aug 2015 11:13:01 +0200
parents 280b0fbd8a40
children 4b4d7e7706eb
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java	Mon Aug 24 11:12:01 2015 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java	Mon Aug 24 11:13:01 2015 +0200
@@ -57,6 +57,9 @@
 
     @Override
     public void generate(NodeLIRBuilderTool gen) {
+        // Note that an unconditional call to the runtime routine is made without
+        // checking that the object actually has a finalizer. This requires the
+        // runtime routine to do the check.
         ForeignCallLinkage linkage = gen.getLIRGeneratorTool().getForeignCalls().lookupForeignCall(REGISTER_FINALIZER);
         gen.getLIRGeneratorTool().emitForeignCall(linkage, gen.state(this), gen.operand(getValue()));
     }