Mercurial > hg > graal-compiler
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())); }