Mercurial > hg > truffle
changeset 19251:063e8873bd14
changed type of assumptions field in CompilationResult from Assumptions to Assumption[]
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 11 Feb 2015 11:38:22 +0100 |
parents | 8ab925a6f724 |
children | f91bf352023a |
files | graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java src/share/vm/classfile/systemDictionary.hpp src/share/vm/classfile/vmSymbols.hpp src/share/vm/graal/graalCodeInstaller.cpp src/share/vm/graal/graalJavaAccess.hpp |
diffstat | 7 files changed, 17 insertions(+), 32 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java Wed Feb 11 10:13:08 2015 +0100 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java Wed Feb 11 11:38:22 2015 +0100 @@ -274,10 +274,6 @@ } } - /** - * Array with the assumptions. This field is directly accessed from C++ code in the - * Graal/HotSpot implementation. - */ private Assumption[] list; private int count; @@ -430,21 +426,11 @@ count++; } - public Collection<Assumption> getAssumptions() { - return Arrays.asList(list).subList(0, count); - } - - private Assumptions(Assumptions other) { - allowOptimisticAssumptions = other.allowOptimisticAssumptions; - list = other.list.clone(); - count = other.count; - } - /** - * Gets a deep copy of this object. + * Gets a copy of the assumptions recorded in this object as an array. */ - public Assumptions copy() { - return new Assumptions(this); + public Assumption[] getAssumptionsCopy() { + return Arrays.copyOf(list, count); } /**
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java Wed Feb 11 10:13:08 2015 +0100 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java Wed Feb 11 11:38:22 2015 +0100 @@ -28,6 +28,7 @@ import java.io.*; import java.util.*; +import com.oracle.graal.api.code.Assumptions.Assumption; import com.oracle.graal.api.code.CodeUtil.RefMapFormatter; import com.oracle.graal.api.meta.*; @@ -528,7 +529,7 @@ private ArrayList<CodeAnnotation> annotations; - private Assumptions assumptions; + private Assumption[] assumptions; public CompilationResult() { this(null); @@ -607,11 +608,15 @@ } public void setAssumptions(Assumptions assumptions) { - this.assumptions = assumptions; + this.assumptions = assumptions.getAssumptionsCopy(); } - public Assumptions getAssumptions() { - return assumptions; + /** + * Gets a fixed-size {@linkplain Arrays#asList(Object...) view} of the assumptions recorded in + * this object. + */ + public Collection<Assumption> getAssumptions() { + return assumptions == null ? Collections.emptyList() : Arrays.asList(assumptions); } public DataSection getDataSection() {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Wed Feb 11 10:13:08 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Wed Feb 11 11:38:22 2015 +0100 @@ -169,12 +169,12 @@ List<AssumptionValidAssumption> validAssumptions = new ArrayList<>(); Assumptions newAssumptions = new Assumptions(true); - for (Assumption assumption : graph.getAssumptions().getAssumptions()) { + for (Assumption assumption : graph.getAssumptions()) { processAssumption(newAssumptions, assumption, validAssumptions); } if (result.getAssumptions() != null) { - for (Assumption assumption : result.getAssumptions().getAssumptions()) { + for (Assumption assumption : result.getAssumptions()) { processAssumption(newAssumptions, assumption, validAssumptions); } }
--- a/src/share/vm/classfile/systemDictionary.hpp Wed Feb 11 10:13:08 2015 +0100 +++ b/src/share/vm/classfile/systemDictionary.hpp Wed Feb 11 11:38:22 2015 +0100 @@ -204,7 +204,6 @@ GRAAL_ONLY(do_klass(HotSpotMetaspaceConstantImpl_klass, com_oracle_graal_hotspot_meta_HotSpotMetaspaceConstantImpl, Graal)) \ GRAAL_ONLY(do_klass(HotSpotStackFrameReference_klass, com_oracle_graal_hotspot_HotSpotStackFrameReference, Graal)) \ GRAAL_ONLY(do_klass(CompilationTask_klass, com_oracle_graal_hotspot_CompilationTask, Graal)) \ - GRAAL_ONLY(do_klass(Assumptions_klass, com_oracle_graal_api_code_Assumptions, Graal)) \ GRAAL_ONLY(do_klass(Assumptions_ConcreteMethod_klass, com_oracle_graal_api_code_Assumptions_ConcreteMethod, Graal)) \ GRAAL_ONLY(do_klass(Assumptions_NoFinalizableSubclass_klass, com_oracle_graal_api_code_Assumptions_NoFinalizableSubclass, Graal))\ GRAAL_ONLY(do_klass(Assumptions_ConcreteSubtype_klass, com_oracle_graal_api_code_Assumptions_ConcreteSubtype, Graal)) \
--- a/src/share/vm/classfile/vmSymbols.hpp Wed Feb 11 10:13:08 2015 +0100 +++ b/src/share/vm/classfile/vmSymbols.hpp Wed Feb 11 11:38:22 2015 +0100 @@ -321,7 +321,6 @@ GRAAL_ONLY(template(com_oracle_graal_api_meta_Kind, "com/oracle/graal/api/meta/Kind")) \ GRAAL_ONLY(template(com_oracle_graal_api_meta_LIRKind, "com/oracle/graal/api/meta/LIRKind")) \ GRAAL_ONLY(template(com_oracle_graal_api_meta_AbstractValue, "com/oracle/graal/api/meta/AbstractValue")) \ - GRAAL_ONLY(template(com_oracle_graal_api_code_Assumptions, "com/oracle/graal/api/code/Assumptions")) \ GRAAL_ONLY(template(com_oracle_graal_api_code_Assumptions_MethodContents, "com/oracle/graal/api/code/Assumptions$MethodContents")) \ GRAAL_ONLY(template(com_oracle_graal_api_code_Assumptions_ConcreteSubtype, "com/oracle/graal/api/code/Assumptions$ConcreteSubtype")) \ GRAAL_ONLY(template(com_oracle_graal_api_code_Assumptions_NoFinalizableSubclass, "com/oracle/graal/api/code/Assumptions$NoFinalizableSubclass")) \
--- a/src/share/vm/graal/graalCodeInstaller.cpp Wed Feb 11 10:13:08 2015 +0100 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Wed Feb 11 11:38:22 2015 +0100 @@ -389,9 +389,8 @@ CompilerThread* compilerThread = thread->is_Compiler_thread() ? thread->as_CompilerThread() : NULL; _oop_recorder = new OopRecorder(&_arena, true); _dependencies = new Dependencies(&_arena, _oop_recorder, compilerThread != NULL ? compilerThread->log() : NULL); - Handle assumptions_handle = CompilationResult::assumptions(HotSpotCompiledCode::comp(compiled_code)); - if (!assumptions_handle.is_null()) { - objArrayHandle assumptions(Thread::current(), Assumptions::list(assumptions_handle())); + objArrayHandle assumptions = CompilationResult::assumptions(HotSpotCompiledCode::comp(compiled_code)); + if (!assumptions.is_null()) { int length = assumptions->length(); for (int i = 0; i < length; ++i) { Handle assumption = assumptions->obj_at(i);
--- a/src/share/vm/graal/graalJavaAccess.hpp Wed Feb 11 10:13:08 2015 +0100 +++ b/src/share/vm/graal/graalJavaAccess.hpp Wed Feb 11 11:38:22 2015 +0100 @@ -96,12 +96,9 @@ int_field(CompilationResult, totalFrameSize) \ int_field(CompilationResult, customStackAreaOffset) \ typeArrayOop_field(CompilationResult, targetCode, "[B") \ - oop_field(CompilationResult, assumptions, "Lcom/oracle/graal/api/code/Assumptions;") \ + objArrayOop_field(CompilationResult, assumptions, "[Lcom/oracle/graal/api/code/Assumptions$Assumption;") \ int_field(CompilationResult, targetCodeSize) \ end_class \ - start_class(Assumptions) \ - objArrayOop_field(Assumptions, list, "[Lcom/oracle/graal/api/code/Assumptions$Assumption;") \ - end_class \ start_class(Assumptions_MethodContents) \ oop_field(Assumptions_MethodContents, method, "Lcom/oracle/graal/api/meta/ResolvedJavaMethod;") \ end_class \