Mercurial > hg > graal-jvmci-8
changeset 5374:6ed04fb6affd
rename: megamorph -> megamorphic
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 11 May 2012 10:57:50 +0200 |
parents | 53cc37c27b04 |
children | 3035b6b881d9 |
files | graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/InliningUtil.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java |
diffstat | 5 files changed, 19 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Fri May 11 10:13:55 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Fri May 11 10:57:50 2012 +0200 @@ -836,7 +836,7 @@ case Virtual: assert callTarget.receiver().kind() == CiKind.Object : callTarget + ": " + callTarget.targetMethod().toString(); receiver = toXirArgument(callTarget.receiver()); - snippet = xir.genInvokeVirtual(site(x.node(), callTarget.receiver()), receiver, targetMethod, x.megamorph()); + snippet = xir.genInvokeVirtual(site(x.node(), callTarget.receiver()), receiver, targetMethod, x.isMegamorphic()); break; case Interface: assert callTarget.receiver().kind() == CiKind.Object : callTarget;
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/InliningUtil.java Fri May 11 10:13:55 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/InliningUtil.java Fri May 11 10:57:50 2012 +0200 @@ -634,7 +634,7 @@ return null; } } else { - invoke.setMegamorph(true); + invoke.setMegamorphic(true); if (optimisticOpts.inlinePolymorphicCalls() && notRecordedTypeProbability == 0 || optimisticOpts.inlineMegamorphicCalls() && notRecordedTypeProbability > 0) { // TODO (chaeubl) inlining of multiple methods should work differently // 1. check which methods can be inlined
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java Fri May 11 10:13:55 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java Fri May 11 10:57:50 2012 +0200 @@ -55,9 +55,12 @@ void setUseForInlining(boolean value); - boolean megamorph(); + /** + * True if this invocation is almost certainly megamorphic, false when in doubt. + */ + boolean isMegamorphic(); - void setMegamorph(boolean megamorph); + void setMegamorphic(boolean value); long leafGraphId(); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Fri May 11 10:13:55 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Fri May 11 10:57:50 2012 +0200 @@ -38,8 +38,7 @@ @Input private final MethodCallTargetNode callTarget; private final int bci; - // megamorph should only be true when the compiler is sure that the call site is megamorph, and false when in doubt - private boolean megamorph; + private boolean megamorphic; private boolean useForInlining; private final long leafGraphId; @@ -56,7 +55,7 @@ this.callTarget = callTarget; this.bci = bci; this.leafGraphId = leafGraphId; - this.megamorph = false; + this.megamorphic = false; this.useForInlining = true; } @@ -65,13 +64,13 @@ } @Override - public boolean megamorph() { - return megamorph; + public boolean isMegamorphic() { + return megamorphic; } @Override - public void setMegamorph(boolean megamorph) { - this.megamorph = megamorph; + public void setMegamorphic(boolean value) { + this.megamorphic = value; } public boolean useForInlining() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Fri May 11 10:13:55 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Fri May 11 10:57:50 2012 +0200 @@ -39,7 +39,7 @@ @Input private FrameState stateAfter; private final int bci; // megamorph should only be true when the compiler is sure that the call site is megamorph, and false when in doubt - private boolean megamorph; + private boolean megamorphic; private boolean useForInlining; private final long leafGraphId; @@ -53,7 +53,7 @@ this.bci = bci; this.callTarget = callTarget; this.leafGraphId = leafGraphId; - this.megamorph = true; + this.megamorphic = true; this.useForInlining = true; } @@ -78,13 +78,13 @@ } @Override - public boolean megamorph() { - return megamorph; + public boolean isMegamorphic() { + return megamorphic; } @Override - public void setMegamorph(boolean megamorph) { - this.megamorph = megamorph; + public void setMegamorphic(boolean value) { + this.megamorphic = value; } @Override