# HG changeset patch # User Doug Simon # Date 1395840848 -3600 # Node ID a6c1c3eb20c420573877b93bd4f38ceb43df2068 # Parent c6f4b780fa88620f031c5b2a2c0d4c8440984ad1 transition to JDK8 - introduce support for more than one JDK in mx - update version in annotiationprocessors - update project definitions (truffle api is not part of the transition) - fix style errors diff -r c6f4b780fa88 -r a6c1c3eb20c4 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java Wed Mar 26 14:32:50 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java Wed Mar 26 14:34:08 2014 +0100 @@ -27,7 +27,6 @@ import static com.oracle.graal.hotspot.replacements.HotSpotReplacementsUtil.*; import static com.oracle.graal.hotspot.replacements.NewObjectSnippets.Options.*; import static com.oracle.graal.nodes.PiArrayNode.*; -import static com.oracle.graal.nodes.PiNode.*; import static com.oracle.graal.nodes.extended.BranchProbabilityNode.*; import static com.oracle.graal.phases.GraalOptions.*; import static com.oracle.graal.replacements.SnippetTemplate.*; @@ -251,7 +250,7 @@ * Computes the size of the memory chunk allocated for an array. This size accounts for the * array header size, boy size and any padding after the last element to satisfy object * alignment requirements. - * + * * @param length the number of elements in the array * @param alignment the object alignment requirement * @param headerSize the size of the array header @@ -285,7 +284,7 @@ /** * Zero uninitialized memory in a newly allocated object, unrolling as necessary and ensuring * that stores are aligned. - * + * * @param size number of bytes to zero * @param memory beginning of object which is being zeroed * @param constantSize is @ size} known to be constant in the snippet diff -r c6f4b780fa88 -r a6c1c3eb20c4 graal/com.oracle.graal.loop/src/com/oracle/graal/loop/InductionVariables.java --- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/InductionVariables.java Wed Mar 26 14:32:50 2014 +0100 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/InductionVariables.java Wed Mar 26 14:34:08 2014 +0100 @@ -63,7 +63,7 @@ } private void findDerived(Collection bivs) { - Queue scanQueue = new LinkedList(bivs); + Queue scanQueue = new LinkedList<>(bivs); while (!scanQueue.isEmpty()) { InductionVariable baseIv = scanQueue.remove(); ValueNode baseIvNode = baseIv.valueNode(); diff -r c6f4b780fa88 -r a6c1c3eb20c4 graal/com.oracle.graal.options/src/com/oracle/graal/options/OptionProcessor.java --- a/graal/com.oracle.graal.options/src/com/oracle/graal/options/OptionProcessor.java Wed Mar 26 14:32:50 2014 +0100 +++ b/graal/com.oracle.graal.options/src/com/oracle/graal/options/OptionProcessor.java Wed Mar 26 14:34:08 2014 +0100 @@ -45,10 +45,14 @@ * } * */ -@SupportedSourceVersion(SourceVersion.RELEASE_7) @SupportedAnnotationTypes({"com.oracle.graal.options.Option"}) public class OptionProcessor extends AbstractProcessor { + @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latest(); + } + private final Set processed = new HashSet<>(); private void processElement(Element element, OptionsInfo info) { diff -r c6f4b780fa88 -r a6c1c3eb20c4 graal/com.oracle.graal.options/src/com/oracle/graal/options/OptionValue.java --- a/graal/com.oracle.graal.options/src/com/oracle/graal/options/OptionValue.java Wed Mar 26 14:32:50 2014 +0100 +++ b/graal/com.oracle.graal.options/src/com/oracle/graal/options/OptionValue.java Wed Mar 26 14:34:08 2014 +0100 @@ -38,7 +38,7 @@ *

* Since the returned object is {@link AutoCloseable} the try-with-resource construct can be * used: - * + * *

      * try (OverrideScope s = OptionValue.override(myOption, myValue) {
      *     // code that depends on myOption == myValue
@@ -65,7 +65,7 @@
      * 

* Since the returned object is {@link AutoCloseable} the try-with-resource construct can be * used: - * + * *

      * Map overrides = new HashMap<>();
      * overrides.put(myOption1, myValue1);
@@ -96,13 +96,13 @@
      * 

* Since the returned object is {@link AutoCloseable} the try-with-resource construct can be * used: - * + * *

      * try (OverrideScope s = OptionValue.override(myOption1, myValue1, myOption2, myValue2) {
      *     // code that depends on myOption == myValue
      * }
      * 
- * + * * @param overrides overrides in the form {@code [option1, override1, option2, override2, ...]} */ public static OverrideScope override(Object... overrides) { @@ -221,14 +221,14 @@ /** * Gets the values of this option including overridden values. - * + * * @param c the collection to which the values are added. If null, one is allocated. * @return the collection to which the values were added in order from most overridden to * current value */ @SuppressWarnings("unchecked") public Collection getValues(Collection c) { - Collection values = c == null ? new ArrayList() : c; + Collection values = c == null ? new ArrayList<>() : c; if (!(this instanceof StableOptionValue)) { OverrideScope overrideScope = overrideScopes.get(); if (overrideScope != null) { diff -r c6f4b780fa88 -r a6c1c3eb20c4 graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Wed Mar 26 14:32:50 2014 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Wed Mar 26 14:34:08 2014 +0100 @@ -59,7 +59,7 @@ /** * This constructor creates a {@link SchedulingError} with a message assembled via * {@link String#format(String, Object...)}. - * + * * @param format a {@linkplain Formatter format} string * @param args parameters to {@link String#format(String, Object...)} */ @@ -164,9 +164,9 @@ /** * gather all kill locations by iterating trough the nodes assigned to a block. - * + * * assumptions: {@link MemoryCheckpoint MemoryCheckPoints} are {@link FixedNode FixedNodes}. - * + * * @param block block to analyze * @param excludeNode if null, compute normal set of kill locations. if != null, don't add kills * until we reach excludeNode. @@ -457,9 +457,9 @@ * this method tries to find the "optimal" schedule for a read, by pushing it down towards its * latest schedule starting by the earliest schedule. By doing this, it takes care of memory * dependencies using kill sets. - * + * * In terms of domination relation, it looks like this: - * + * *
      *    U      upperbound block, defined by last access location of the floating read
      *    ▲
@@ -469,9 +469,9 @@
      *    ▲
      *    L      latest block
      * 
- * + * * i.e. upperbound `dom` earliest `dom` optimal `dom` latest. - * + * */ private Block optimalBlock(FloatingReadNode n, SchedulingStrategy strategy) { assert memsched == MemoryScheduling.OPTIMAL; @@ -540,7 +540,7 @@ /** * compute path in dominator tree from earliest schedule to latest schedule. - * + * * @return the order of the stack is such as the first element is the earliest schedule. */ private static Deque computePathInDominatorTree(Block earliestBlock, Block latestBlock) { @@ -582,7 +582,7 @@ /** * Calculates the last block that the given node could be scheduled in, i.e., the common * dominator of all usages. To do so all usages are also assigned to blocks. - * + * * @param strategy */ private Block latestBlock(ScheduledNode node, SchedulingStrategy strategy) { @@ -680,7 +680,7 @@ * Schedules a node out of loop based on its earliest schedule. Note that this movement is only * valid if it's done for every other node in the schedule, otherwise this movement is * not valid. - * + * * @param n Node to schedule * @param latestBlock latest possible schedule for {@code n} * @param earliest earliest possible schedule for {@code n} @@ -705,7 +705,7 @@ /** * Passes all blocks that a specific usage of a node is in to a given closure. This is more * complex than just taking the usage's block because of of PhiNodes and FrameStates. - * + * * @param node the node that needs to be scheduled * @param usage the usage whose blocks need to be considered * @param closure the closure that will be called for each block @@ -1042,7 +1042,7 @@ } if (instruction instanceof AbstractBeginNode) { - ArrayList proxies = (instruction instanceof LoopExitNode) ? new ArrayList() : null; + ArrayList proxies = (instruction instanceof LoopExitNode) ? new ArrayList<>() : null; for (ScheduledNode inBlock : blockToNodesMap.get(b)) { if (!visited.isMarked(inBlock)) { if (inBlock instanceof ProxyNode) { diff -r c6f4b780fa88 -r a6c1c3eb20c4 graal/com.oracle.graal.replacements.verifier/src/com/oracle/graal/replacements/verifier/VerifierAnnotationProcessor.java --- a/graal/com.oracle.graal.replacements.verifier/src/com/oracle/graal/replacements/verifier/VerifierAnnotationProcessor.java Wed Mar 26 14:32:50 2014 +0100 +++ b/graal/com.oracle.graal.replacements.verifier/src/com/oracle/graal/replacements/verifier/VerifierAnnotationProcessor.java Wed Mar 26 14:34:08 2014 +0100 @@ -30,12 +30,16 @@ import javax.lang.model.element.*; import javax.lang.model.type.*; -@SupportedSourceVersion(SourceVersion.RELEASE_7) public class VerifierAnnotationProcessor extends AbstractProcessor { private List verifiers; @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latest(); + } + + @Override public boolean process(Set annotations, RoundEnvironment roundEnv) { if (!roundEnv.processingOver()) { for (AbstractVerifier verifier : getVerifiers()) { diff -r c6f4b780fa88 -r a6c1c3eb20c4 graal/com.oracle.graal.service.processor/src/com/oracle/graal/service/processor/ServiceProviderProcessor.java --- a/graal/com.oracle.graal.service.processor/src/com/oracle/graal/service/processor/ServiceProviderProcessor.java Wed Mar 26 14:32:50 2014 +0100 +++ b/graal/com.oracle.graal.service.processor/src/com/oracle/graal/service/processor/ServiceProviderProcessor.java Wed Mar 26 14:34:08 2014 +0100 @@ -34,12 +34,16 @@ import com.oracle.graal.api.runtime.*; -@SupportedSourceVersion(SourceVersion.RELEASE_7) @SupportedAnnotationTypes("com.oracle.graal.api.runtime.ServiceProvider") public class ServiceProviderProcessor extends AbstractProcessor { private final Set processed = new HashSet<>(); + @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latest(); + } + private boolean verifyAnnotation(TypeMirror serviceInterface, TypeElement serviceProvider) { if (!processingEnv.getTypeUtils().isSubtype(serviceProvider.asType(), serviceInterface)) { String msg = String.format("Service provider class %s doesn't implement service interface %s", serviceProvider.getSimpleName(), serviceInterface); diff -r c6f4b780fa88 -r a6c1c3eb20c4 mx/projects --- a/mx/projects Wed Mar 26 14:32:50 2014 +0100 +++ b/mx/projects Wed Mar 26 14:34:08 2014 +0100 @@ -56,7 +56,7 @@ project@com.oracle.graal.api.runtime@subDir=graal project@com.oracle.graal.api.runtime@sourceDirs=src project@com.oracle.graal.api.runtime@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.api.runtime@javaCompliance=1.7 +project@com.oracle.graal.api.runtime@javaCompliance=1.8 project@com.oracle.graal.api.runtime@workingSets=API,Graal # graal.api.test @@ -64,14 +64,14 @@ project@com.oracle.graal.api.test@sourceDirs=src project@com.oracle.graal.api.test@dependencies=JUNIT,com.oracle.graal.api.runtime project@com.oracle.graal.api.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.api.test@javaCompliance=1.7 +project@com.oracle.graal.api.test@javaCompliance=1.8 project@com.oracle.graal.api.test@workingSets=API,Graal,Test # graal.api.meta project@com.oracle.graal.api.meta@subDir=graal project@com.oracle.graal.api.meta@sourceDirs=src project@com.oracle.graal.api.meta@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.api.meta@javaCompliance=1.7 +project@com.oracle.graal.api.meta@javaCompliance=1.8 project@com.oracle.graal.api.meta@workingSets=API,Graal # graal.api.meta.test @@ -79,7 +79,7 @@ project@com.oracle.graal.api.meta.test@sourceDirs=src project@com.oracle.graal.api.meta.test@dependencies=JUNIT,com.oracle.graal.runtime,com.oracle.graal.java project@com.oracle.graal.api.meta.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.api.meta.test@javaCompliance=1.7 +project@com.oracle.graal.api.meta.test@javaCompliance=1.8 project@com.oracle.graal.api.meta.test@workingSets=API,Graal,Test # graal.api.meta.jdk8.test @@ -95,7 +95,7 @@ project@com.oracle.graal.api.code@sourceDirs=src project@com.oracle.graal.api.code@dependencies=com.oracle.graal.api.meta project@com.oracle.graal.api.code@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.api.code@javaCompliance=1.7 +project@com.oracle.graal.api.code@javaCompliance=1.8 project@com.oracle.graal.api.code@workingSets=API,Graal # graal.api.replacements @@ -103,7 +103,7 @@ project@com.oracle.graal.api.replacements@sourceDirs=src project@com.oracle.graal.api.replacements@dependencies=com.oracle.graal.api.meta project@com.oracle.graal.api.replacements@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.api.replacements@javaCompliance=1.7 +project@com.oracle.graal.api.replacements@javaCompliance=1.8 project@com.oracle.graal.api.replacements@workingSets=API,Graal,Replacements # graal.service.processor @@ -111,7 +111,7 @@ project@com.oracle.graal.service.processor@sourceDirs=src project@com.oracle.graal.service.processor@dependencies=com.oracle.graal.api.runtime project@com.oracle.graal.service.processor@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.service.processor@javaCompliance=1.7 +project@com.oracle.graal.service.processor@javaCompliance=1.8 project@com.oracle.graal.service.processor@workingSets=Codegen,HotSpot # graal.amd64 @@ -119,7 +119,7 @@ project@com.oracle.graal.amd64@sourceDirs=src project@com.oracle.graal.amd64@dependencies=com.oracle.graal.api.code project@com.oracle.graal.amd64@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.amd64@javaCompliance=1.7 +project@com.oracle.graal.amd64@javaCompliance=1.8 project@com.oracle.graal.amd64@workingSets=Graal,AMD64 # graal.ptx @@ -127,7 +127,7 @@ project@com.oracle.graal.ptx@sourceDirs=src project@com.oracle.graal.ptx@dependencies=com.oracle.graal.api.code project@com.oracle.graal.ptx@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.ptx@javaCompliance=1.7 +project@com.oracle.graal.ptx@javaCompliance=1.8 project@com.oracle.graal.ptx@workingSets=Graal,PTX # graal.sparc @@ -135,7 +135,7 @@ project@com.oracle.graal.sparc@sourceDirs=src project@com.oracle.graal.sparc@dependencies=com.oracle.graal.api.code project@com.oracle.graal.sparc@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.sparc@javaCompliance=1.7 +project@com.oracle.graal.sparc@javaCompliance=1.8 project@com.oracle.graal.sparc@workingSets=Graal,SPARC # graal.hotspot @@ -144,7 +144,7 @@ project@com.oracle.graal.hotspot@dependencies=com.oracle.graal.replacements,com.oracle.graal.runtime,com.oracle.graal.printer project@com.oracle.graal.hotspot@checkstyle=com.oracle.graal.graph project@com.oracle.graal.hotspot@annotationProcessors=com.oracle.graal.replacements.verifier,com.oracle.graal.service.processor -project@com.oracle.graal.hotspot@javaCompliance=1.7 +project@com.oracle.graal.hotspot@javaCompliance=1.8 project@com.oracle.graal.hotspot@workingSets=Graal,HotSpot # graal.hotspot.amd64 @@ -153,7 +153,7 @@ project@com.oracle.graal.hotspot.amd64@dependencies=com.oracle.graal.compiler.amd64,com.oracle.graal.hotspot,com.oracle.graal.replacements.amd64 project@com.oracle.graal.hotspot.amd64@checkstyle=com.oracle.graal.graph project@com.oracle.graal.hotspot.amd64@annotationProcessors=com.oracle.graal.service.processor -project@com.oracle.graal.hotspot.amd64@javaCompliance=1.7 +project@com.oracle.graal.hotspot.amd64@javaCompliance=1.8 project@com.oracle.graal.hotspot.amd64@workingSets=Graal,HotSpot,AMD64 # graal.hotspot.sparc @@ -162,7 +162,7 @@ project@com.oracle.graal.hotspot.sparc@dependencies=com.oracle.graal.compiler.sparc project@com.oracle.graal.hotspot.sparc@checkstyle=com.oracle.graal.graph project@com.oracle.graal.hotspot.sparc@annotationProcessors=com.oracle.graal.service.processor -project@com.oracle.graal.hotspot.sparc@javaCompliance=1.7 +project@com.oracle.graal.hotspot.sparc@javaCompliance=1.8 project@com.oracle.graal.hotspot.sparc@workingSets=Graal,HotSpot,SPARC # graal.hotspot.ptx @@ -171,7 +171,7 @@ project@com.oracle.graal.hotspot.ptx@dependencies=com.oracle.graal.ptx,com.oracle.graal.compiler.ptx,com.oracle.graal.hotspot project@com.oracle.graal.hotspot.ptx@checkstyle=com.oracle.graal.graph project@com.oracle.graal.hotspot.ptx@annotationProcessors=com.oracle.graal.service.processor -project@com.oracle.graal.hotspot.ptx@javaCompliance=1.7 +project@com.oracle.graal.hotspot.ptx@javaCompliance=1.8 project@com.oracle.graal.hotspot.ptx@workingSets=Graal,HotSpot,PTX # graal.hotspot.hsail @@ -180,7 +180,7 @@ project@com.oracle.graal.hotspot.hsail@dependencies=com.oracle.graal.replacements.hsail,com.oracle.graal.hotspot project@com.oracle.graal.hotspot.hsail@checkstyle=com.oracle.graal.graph project@com.oracle.graal.hotspot.hsail@annotationProcessors=com.oracle.graal.service.processor -project@com.oracle.graal.hotspot.hsail@javaCompliance=1.7 +project@com.oracle.graal.hotspot.hsail@javaCompliance=1.8 project@com.oracle.graal.hotspot.hsail@workingSets=Graal,HotSpot,PTX # graal.hotspot.server @@ -188,7 +188,7 @@ project@com.oracle.graal.hotspot.server@sourceDirs=src project@com.oracle.graal.hotspot.server@dependencies=com.oracle.graal.hotspot project@com.oracle.graal.hotspot.server@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.hotspot.server@javaCompliance=1.7 +project@com.oracle.graal.hotspot.server@javaCompliance=1.8 project@com.oracle.graal.hotspot.server@workingSets=Graal,HotSpot # graal.hotspot.test @@ -196,7 +196,7 @@ project@com.oracle.graal.hotspot.test@sourceDirs=src project@com.oracle.graal.hotspot.test@dependencies=com.oracle.graal.replacements.test,com.oracle.graal.hotspot project@com.oracle.graal.hotspot.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.hotspot.test@javaCompliance=1.7 +project@com.oracle.graal.hotspot.test@javaCompliance=1.8 project@com.oracle.graal.hotspot.test@workingSets=Graal,HotSpot,Test # graal.hotspot.jdk8.test @@ -212,14 +212,14 @@ project@com.oracle.graal.hotspot.amd64.test@sourceDirs=src project@com.oracle.graal.hotspot.amd64.test@dependencies=com.oracle.graal.asm.amd64,com.oracle.graal.compiler.test project@com.oracle.graal.hotspot.amd64.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.hotspot.amd64.test@javaCompliance=1.7 +project@com.oracle.graal.hotspot.amd64.test@javaCompliance=1.8 project@com.oracle.graal.hotspot.amd64.test@workingSets=Graal,HotSpot,AMD64,Test # graal.options project@com.oracle.graal.options@subDir=graal project@com.oracle.graal.options@sourceDirs=src project@com.oracle.graal.options@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.options@javaCompliance=1.7 +project@com.oracle.graal.options@javaCompliance=1.8 project@com.oracle.graal.options@annotationProcessorForDependents=true project@com.oracle.graal.options@workingSets=Graal,Codegen @@ -228,14 +228,14 @@ project@com.oracle.graal.options.test@sourceDirs=src project@com.oracle.graal.options.test@dependencies=com.oracle.graal.options,JUNIT project@com.oracle.graal.options.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.options.test@javaCompliance=1.7 +project@com.oracle.graal.options.test@javaCompliance=1.8 project@com.oracle.graal.options.test@workingSets=Graal # graal.graph project@com.oracle.graal.graph@subDir=graal project@com.oracle.graal.graph@sourceDirs=src project@com.oracle.graal.graph@dependencies=com.oracle.graal.debug,com.oracle.graal.api.code -project@com.oracle.graal.graph@javaCompliance=1.7 +project@com.oracle.graal.graph@javaCompliance=1.8 project@com.oracle.graal.graph@workingSets=Graal,Graph # graal.graph.test @@ -243,14 +243,14 @@ project@com.oracle.graal.graph.test@sourceDirs=src project@com.oracle.graal.graph.test@checkstyle=com.oracle.graal.graph project@com.oracle.graal.graph.test@dependencies=JUNIT,com.oracle.graal.graph -project@com.oracle.graal.graph.test@javaCompliance=1.7 +project@com.oracle.graal.graph.test@javaCompliance=1.8 project@com.oracle.graal.graph.test@workingSets=Graal,Graph,Test # graal.debug project@com.oracle.graal.debug@subDir=graal project@com.oracle.graal.debug@sourceDirs=src project@com.oracle.graal.debug@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.debug@javaCompliance=1.7 +project@com.oracle.graal.debug@javaCompliance=1.8 project@com.oracle.graal.debug@workingSets=Graal,Debug # graal.debug.test @@ -258,7 +258,7 @@ project@com.oracle.graal.debug.test@sourceDirs=src project@com.oracle.graal.debug.test@dependencies=JUNIT,com.oracle.graal.debug project@com.oracle.graal.debug.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.debug.test@javaCompliance=1.7 +project@com.oracle.graal.debug.test@javaCompliance=1.8 project@com.oracle.graal.debug.test@workingSets=Graal,Debug,Test # graal.lir @@ -266,7 +266,7 @@ project@com.oracle.graal.lir@sourceDirs=src project@com.oracle.graal.lir@dependencies=com.oracle.graal.asm,com.oracle.graal.nodes project@com.oracle.graal.lir@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.lir@javaCompliance=1.7 +project@com.oracle.graal.lir@javaCompliance=1.8 project@com.oracle.graal.lir@workingSets=Graal,LIR # graal.lir.amd64 @@ -274,7 +274,7 @@ project@com.oracle.graal.lir.amd64@sourceDirs=src project@com.oracle.graal.lir.amd64@dependencies=com.oracle.graal.lir,com.oracle.graal.asm.amd64 project@com.oracle.graal.lir.amd64@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.lir.amd64@javaCompliance=1.7 +project@com.oracle.graal.lir.amd64@javaCompliance=1.8 project@com.oracle.graal.lir.amd64@workingSets=Graal,LIR,AMD64 # graal.lir.ptx @@ -282,7 +282,7 @@ project@com.oracle.graal.lir.ptx@sourceDirs=src project@com.oracle.graal.lir.ptx@dependencies=com.oracle.graal.asm.ptx project@com.oracle.graal.lir.ptx@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.lir.ptx@javaCompliance=1.7 +project@com.oracle.graal.lir.ptx@javaCompliance=1.8 project@com.oracle.graal.lir.ptx@workingSets=Graal,LIR,PTX # graal.lir.sparc @@ -290,7 +290,7 @@ project@com.oracle.graal.lir.sparc@sourceDirs=src project@com.oracle.graal.lir.sparc@dependencies=com.oracle.graal.asm.sparc project@com.oracle.graal.lir.sparc@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.lir.sparc@javaCompliance=1.7 +project@com.oracle.graal.lir.sparc@javaCompliance=1.8 project@com.oracle.graal.lir.sparc@workingSets=Graal,LIR,SPARC # graal.alloc @@ -298,7 +298,7 @@ project@com.oracle.graal.alloc@sourceDirs=src project@com.oracle.graal.alloc@dependencies=com.oracle.graal.nodes project@com.oracle.graal.alloc@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.alloc@javaCompliance=1.7 +project@com.oracle.graal.alloc@javaCompliance=1.8 project@com.oracle.graal.alloc@workingSets=Graal # graal.word @@ -306,7 +306,7 @@ project@com.oracle.graal.word@sourceDirs=src project@com.oracle.graal.word@dependencies=com.oracle.graal.phases project@com.oracle.graal.word@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.word@javaCompliance=1.7 +project@com.oracle.graal.word@javaCompliance=1.8 project@com.oracle.graal.word@workingSets=API,Graal # graal.replacements @@ -314,7 +314,7 @@ project@com.oracle.graal.replacements@sourceDirs=src project@com.oracle.graal.replacements@dependencies=com.oracle.graal.compiler,com.oracle.graal.java,com.oracle.graal.word project@com.oracle.graal.replacements@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.replacements@javaCompliance=1.7 +project@com.oracle.graal.replacements@javaCompliance=1.8 project@com.oracle.graal.replacements@annotationProcessors=com.oracle.graal.replacements.verifier,com.oracle.graal.service.processor project@com.oracle.graal.replacements@workingSets=Graal,Replacements @@ -323,7 +323,7 @@ project@com.oracle.graal.replacements.amd64@sourceDirs=src project@com.oracle.graal.replacements.amd64@dependencies=com.oracle.graal.replacements project@com.oracle.graal.replacements.amd64@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.replacements.amd64@javaCompliance=1.7 +project@com.oracle.graal.replacements.amd64@javaCompliance=1.8 project@com.oracle.graal.replacements.amd64@annotationProcessors=com.oracle.graal.service.processor project@com.oracle.graal.replacements.amd64@workingSets=Graal,Replacements,AMD64 @@ -332,7 +332,7 @@ project@com.oracle.graal.replacements.hsail@sourceDirs=src project@com.oracle.graal.replacements.hsail@dependencies=com.oracle.graal.compiler.hsail project@com.oracle.graal.replacements.hsail@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.replacements.hsail@javaCompliance=1.7 +project@com.oracle.graal.replacements.hsail@javaCompliance=1.8 project@com.oracle.graal.replacements.hsail@workingSets=Graal,Replacements,HSAIL # graal.replacements.test @@ -340,7 +340,7 @@ project@com.oracle.graal.replacements.test@sourceDirs=src project@com.oracle.graal.replacements.test@dependencies=com.oracle.graal.compiler.test,com.oracle.graal.replacements project@com.oracle.graal.replacements.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.replacements.test@javaCompliance=1.7 +project@com.oracle.graal.replacements.test@javaCompliance=1.8 project@com.oracle.graal.replacements.test@workingSets=Graal,Replacements,Test # graal.replacements.verifier @@ -348,7 +348,7 @@ project@com.oracle.graal.replacements.verifier@sourceDirs=src project@com.oracle.graal.replacements.verifier@dependencies=com.oracle.graal.api.replacements,com.oracle.graal.graph project@com.oracle.graal.replacements.verifier@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.replacements.verifier@javaCompliance=1.7 +project@com.oracle.graal.replacements.verifier@javaCompliance=1.8 project@com.oracle.graal.replacements.verifier@workingSets=Graal,Replacements # graal.nodes @@ -356,7 +356,7 @@ project@com.oracle.graal.nodes@sourceDirs=src project@com.oracle.graal.nodes@dependencies=com.oracle.graal.graph,com.oracle.graal.api.replacements project@com.oracle.graal.nodes@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.nodes@javaCompliance=1.7 +project@com.oracle.graal.nodes@javaCompliance=1.8 project@com.oracle.graal.nodes@annotationProcessors=com.oracle.graal.replacements.verifier project@com.oracle.graal.nodes@workingSets=Graal,Graph @@ -365,7 +365,7 @@ project@com.oracle.graal.nodes.test@sourceDirs=src project@com.oracle.graal.nodes.test@dependencies=com.oracle.graal.compiler.test project@com.oracle.graal.nodes.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.nodes.test@javaCompliance=1.7 +project@com.oracle.graal.nodes.test@javaCompliance=1.8 project@com.oracle.graal.nodes.test@workingSets=Graal,Graph # graal.phases @@ -373,7 +373,7 @@ project@com.oracle.graal.phases@sourceDirs=src project@com.oracle.graal.phases@dependencies=com.oracle.graal.nodes,com.oracle.graal.options project@com.oracle.graal.phases@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.phases@javaCompliance=1.7 +project@com.oracle.graal.phases@javaCompliance=1.8 project@com.oracle.graal.phases@workingSets=Graal,Phases # graal.phases.common @@ -381,7 +381,7 @@ project@com.oracle.graal.phases.common@sourceDirs=src project@com.oracle.graal.phases.common@dependencies=com.oracle.graal.phases project@com.oracle.graal.phases.common@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.phases.common@javaCompliance=1.7 +project@com.oracle.graal.phases.common@javaCompliance=1.8 project@com.oracle.graal.phases.common@workingSets=Graal,Phases # graal.virtual @@ -389,7 +389,7 @@ project@com.oracle.graal.virtual@sourceDirs=src project@com.oracle.graal.virtual@dependencies=com.oracle.graal.phases.common project@com.oracle.graal.virtual@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.virtual@javaCompliance=1.7 +project@com.oracle.graal.virtual@javaCompliance=1.8 project@com.oracle.graal.virtual@workingSets=Graal,Phases # graal.loop @@ -397,7 +397,7 @@ project@com.oracle.graal.loop@sourceDirs=src project@com.oracle.graal.loop@dependencies=com.oracle.graal.phases.common project@com.oracle.graal.loop@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.loop@javaCompliance=1.7 +project@com.oracle.graal.loop@javaCompliance=1.8 project@com.oracle.graal.loop@workingSets=Graal,Phases # graal.compiler @@ -405,7 +405,7 @@ project@com.oracle.graal.compiler@sourceDirs=src project@com.oracle.graal.compiler@dependencies=com.oracle.graal.api.runtime,com.oracle.graal.virtual,com.oracle.graal.loop,com.oracle.graal.alloc,com.oracle.graal.lir project@com.oracle.graal.compiler@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler@javaCompliance=1.7 +project@com.oracle.graal.compiler@javaCompliance=1.8 project@com.oracle.graal.compiler@annotationProcessors=com.oracle.graal.service.processor project@com.oracle.graal.compiler@workingSets=Graal @@ -414,7 +414,7 @@ project@com.oracle.graal.compiler.amd64@sourceDirs=src project@com.oracle.graal.compiler.amd64@dependencies=com.oracle.graal.compiler,com.oracle.graal.lir.amd64 project@com.oracle.graal.compiler.amd64@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.amd64@javaCompliance=1.7 +project@com.oracle.graal.compiler.amd64@javaCompliance=1.8 project@com.oracle.graal.compiler.amd64@workingSets=Graal,AMD64 # graal.compiler.amd64.test @@ -422,7 +422,7 @@ project@com.oracle.graal.compiler.amd64.test@sourceDirs=src project@com.oracle.graal.compiler.amd64.test@dependencies=com.oracle.graal.compiler.test project@com.oracle.graal.compiler.amd64.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.amd64.test@javaCompliance=1.7 +project@com.oracle.graal.compiler.amd64.test@javaCompliance=1.8 project@com.oracle.graal.compiler.amd64.test@workingSets=Graal,AMD64,Test # graal.compiler.ptx @@ -430,7 +430,7 @@ project@com.oracle.graal.compiler.ptx@sourceDirs=src project@com.oracle.graal.compiler.ptx@dependencies=com.oracle.graal.lir.ptx,com.oracle.graal.compiler project@com.oracle.graal.compiler.ptx@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.ptx@javaCompliance=1.7 +project@com.oracle.graal.compiler.ptx@javaCompliance=1.8 project@com.oracle.graal.compiler.ptx@workingSets=Graal,PTX # graal.compiler.ptx.test @@ -438,7 +438,7 @@ project@com.oracle.graal.compiler.ptx.test@sourceDirs=src project@com.oracle.graal.compiler.ptx.test@dependencies=com.oracle.graal.hotspot.ptx,com.oracle.graal.compiler.test project@com.oracle.graal.compiler.ptx.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.ptx.test@javaCompliance=1.7 +project@com.oracle.graal.compiler.ptx.test@javaCompliance=1.8 project@com.oracle.graal.compiler.ptx.test@workingSets=Graal,PTX,Test # graal.compiler.sparc @@ -446,7 +446,7 @@ project@com.oracle.graal.compiler.sparc@sourceDirs=src project@com.oracle.graal.compiler.sparc@dependencies=com.oracle.graal.lir.sparc project@com.oracle.graal.compiler.sparc@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.sparc@javaCompliance=1.7 +project@com.oracle.graal.compiler.sparc@javaCompliance=1.8 project@com.oracle.graal.compiler.sparc@workingSets=Graal,SPARC # graal.compiler.sparc.test @@ -454,7 +454,7 @@ project@com.oracle.graal.compiler.sparc.test@sourceDirs=src project@com.oracle.graal.compiler.sparc.test@dependencies=com.oracle.graal.compiler.test project@com.oracle.graal.compiler.sparc.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.sparc.test@javaCompliance=1.7 +project@com.oracle.graal.compiler.sparc.test@javaCompliance=1.8 project@com.oracle.graal.compiler.sparc.test@workingSets=Graal,SPARC,Test # graal.runtime @@ -462,14 +462,14 @@ project@com.oracle.graal.runtime@sourceDirs=src project@com.oracle.graal.runtime@dependencies=com.oracle.graal.compiler project@com.oracle.graal.runtime@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.runtime@javaCompliance=1.7 +project@com.oracle.graal.runtime@javaCompliance=1.8 project@com.oracle.graal.runtime@workingSets=Graal # graal.bytecode project@com.oracle.graal.bytecode@subDir=graal project@com.oracle.graal.bytecode@sourceDirs=src project@com.oracle.graal.bytecode@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.bytecode@javaCompliance=1.7 +project@com.oracle.graal.bytecode@javaCompliance=1.8 project@com.oracle.graal.bytecode@workingSets=Graal,Java # graal.java @@ -477,7 +477,7 @@ project@com.oracle.graal.java@sourceDirs=src project@com.oracle.graal.java@dependencies=com.oracle.graal.phases,com.oracle.graal.bytecode project@com.oracle.graal.java@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.java@javaCompliance=1.7 +project@com.oracle.graal.java@javaCompliance=1.8 project@com.oracle.graal.java@workingSets=Graal,Java # graal.baseline @@ -485,7 +485,7 @@ project@com.oracle.graal.baseline@sourceDirs=src project@com.oracle.graal.baseline@dependencies=com.oracle.graal.java,com.oracle.graal.lir project@com.oracle.graal.baseline@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.baseline@javaCompliance=1.7 +project@com.oracle.graal.baseline@javaCompliance=1.8 project@com.oracle.graal.baseline@workingSets=Graal,Java # graal.java.decompiler @@ -493,7 +493,7 @@ project@com.oracle.graal.java.decompiler@sourceDirs=src project@com.oracle.graal.java.decompiler@dependencies=com.oracle.graal.java project@com.oracle.graal.java.decompiler@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.java.decompiler@javaCompliance=1.7 +project@com.oracle.graal.java.decompiler@javaCompliance=1.8 project@com.oracle.graal.java.decompiler@workingSets=Graal # graal.java.decompiler.test @@ -501,7 +501,7 @@ project@com.oracle.graal.java.decompiler.test@sourceDirs=src project@com.oracle.graal.java.decompiler.test@dependencies=JUNIT,com.oracle.graal.printer,com.oracle.graal.runtime project@com.oracle.graal.java.decompiler.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.java.decompiler.test@javaCompliance=1.7 +project@com.oracle.graal.java.decompiler.test@javaCompliance=1.8 project@com.oracle.graal.java.decompiler.test@workingSets=Graal,Test # graal.printer @@ -509,7 +509,7 @@ project@com.oracle.graal.printer@sourceDirs=src project@com.oracle.graal.printer@dependencies=com.oracle.graal.java.decompiler,com.oracle.graal.compiler project@com.oracle.graal.printer@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.printer@javaCompliance=1.7 +project@com.oracle.graal.printer@javaCompliance=1.8 project@com.oracle.graal.printer@workingSets=Graal,Graph # graal.test @@ -517,7 +517,7 @@ project@com.oracle.graal.test@sourceDirs=src project@com.oracle.graal.test@dependencies=JUNIT project@com.oracle.graal.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.test@javaCompliance=1.7 +project@com.oracle.graal.test@javaCompliance=1.8 project@com.oracle.graal.test@workingSets=Graal,Test # graal.compiler.test @@ -525,7 +525,7 @@ project@com.oracle.graal.compiler.test@sourceDirs=src project@com.oracle.graal.compiler.test@dependencies=com.oracle.graal.test,com.oracle.graal.printer,com.oracle.graal.runtime,com.oracle.graal.baseline,JAVA_ALLOCATION_INSTRUMENTER project@com.oracle.graal.compiler.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.test@javaCompliance=1.7 +project@com.oracle.graal.compiler.test@javaCompliance=1.8 project@com.oracle.graal.compiler.test@workingSets=Graal,Test # graal.jtt @@ -533,7 +533,7 @@ project@com.oracle.graal.jtt@sourceDirs=src project@com.oracle.graal.jtt@dependencies=com.oracle.graal.compiler.test project@com.oracle.graal.jtt@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.jtt@javaCompliance=1.7 +project@com.oracle.graal.jtt@javaCompliance=1.8 project@com.oracle.graal.jtt@workingSets=Graal,Test # graal.asm @@ -541,7 +541,7 @@ project@com.oracle.graal.asm@sourceDirs=src project@com.oracle.graal.asm@dependencies=com.oracle.graal.api.code project@com.oracle.graal.asm@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.asm@javaCompliance=1.7 +project@com.oracle.graal.asm@javaCompliance=1.8 project@com.oracle.graal.asm@workingSets=Graal,Assembler # graal.asm.test @@ -549,7 +549,7 @@ project@com.oracle.graal.asm.test@sourceDirs=src project@com.oracle.graal.asm.test@dependencies=com.oracle.graal.test,com.oracle.graal.runtime project@com.oracle.graal.asm.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.asm.test@javaCompliance=1.7 +project@com.oracle.graal.asm.test@javaCompliance=1.8 project@com.oracle.graal.asm.test@workingSets=Graal,Assembler,Test # graal.asm.amd64 @@ -557,7 +557,7 @@ project@com.oracle.graal.asm.amd64@sourceDirs=src project@com.oracle.graal.asm.amd64@dependencies=com.oracle.graal.asm,com.oracle.graal.amd64 project@com.oracle.graal.asm.amd64@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.asm.amd64@javaCompliance=1.7 +project@com.oracle.graal.asm.amd64@javaCompliance=1.8 project@com.oracle.graal.asm.amd64@workingSets=Graal,Assembler,AMD64 # graal.asm.amd64.test @@ -565,7 +565,7 @@ project@com.oracle.graal.asm.amd64.test@sourceDirs=src project@com.oracle.graal.asm.amd64.test@dependencies=com.oracle.graal.asm.test,com.oracle.graal.asm.amd64 project@com.oracle.graal.asm.amd64.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.asm.amd64.test@javaCompliance=1.7 +project@com.oracle.graal.asm.amd64.test@javaCompliance=1.8 project@com.oracle.graal.asm.amd64.test@workingSets=Graal,Assembler,AMD64,Test # graal.hsail @@ -573,49 +573,49 @@ project@com.oracle.graal.hsail@sourceDirs=src project@com.oracle.graal.hsail@dependencies=com.oracle.graal.graph project@com.oracle.graal.hsail@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.hsail@javaCompliance=1.7 +project@com.oracle.graal.hsail@javaCompliance=1.8 # graal.lir.hsail project@com.oracle.graal.lir.hsail@subDir=graal project@com.oracle.graal.lir.hsail@sourceDirs=src project@com.oracle.graal.lir.hsail@dependencies=com.oracle.graal.lir,com.oracle.graal.asm.hsail project@com.oracle.graal.lir.hsail@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.lir.hsail@javaCompliance=1.7 +project@com.oracle.graal.lir.hsail@javaCompliance=1.8 # graal.compiler.hsail project@com.oracle.graal.compiler.hsail@subDir=graal project@com.oracle.graal.compiler.hsail@sourceDirs=src project@com.oracle.graal.compiler.hsail@dependencies=com.oracle.graal.compiler,com.oracle.graal.lir.hsail project@com.oracle.graal.compiler.hsail@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.hsail@javaCompliance=1.7 +project@com.oracle.graal.compiler.hsail@javaCompliance=1.8 # graal.compiler.hsail.test.infra - HSAIL compiler test infrastructure project@com.oracle.graal.compiler.hsail.test.infra@subDir=graal project@com.oracle.graal.compiler.hsail.test.infra@sourceDirs=src project@com.oracle.graal.compiler.hsail.test.infra@dependencies=com.oracle.graal.hotspot.hsail,JUNIT,OKRA_WITH_SIM project@com.oracle.graal.compiler.hsail.test.infra@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.hsail.test.infra@javaCompliance=1.7 +project@com.oracle.graal.compiler.hsail.test.infra@javaCompliance=1.8 # graal.compiler.hsail.test project@com.oracle.graal.compiler.hsail.test@subDir=graal project@com.oracle.graal.compiler.hsail.test@sourceDirs=src project@com.oracle.graal.compiler.hsail.test@dependencies=com.oracle.graal.compiler.hsail.test.infra,com.oracle.graal.compiler.test project@com.oracle.graal.compiler.hsail.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.compiler.hsail.test@javaCompliance=1.7 +project@com.oracle.graal.compiler.hsail.test@javaCompliance=1.8 # graal.asm.hsail project@com.oracle.graal.asm.hsail@subDir=graal project@com.oracle.graal.asm.hsail@sourceDirs=src project@com.oracle.graal.asm.hsail@dependencies=com.oracle.graal.hsail,OKRA,com.oracle.graal.asm project@com.oracle.graal.asm.hsail@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.asm.hsail@javaCompliance=1.7 +project@com.oracle.graal.asm.hsail@javaCompliance=1.8 # graal.asm.ptx project@com.oracle.graal.asm.ptx@subDir=graal project@com.oracle.graal.asm.ptx@sourceDirs=src project@com.oracle.graal.asm.ptx@dependencies=com.oracle.graal.lir project@com.oracle.graal.asm.ptx@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.asm.ptx@javaCompliance=1.7 +project@com.oracle.graal.asm.ptx@javaCompliance=1.8 project@com.oracle.graal.asm.ptx@workingSets=Graal,Assembler,PTX # graal.asm.sparc @@ -623,7 +623,7 @@ project@com.oracle.graal.asm.sparc@sourceDirs=src project@com.oracle.graal.asm.sparc@dependencies=com.oracle.graal.hotspot,com.oracle.graal.sparc project@com.oracle.graal.asm.sparc@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.asm.sparc@javaCompliance=1.7 +project@com.oracle.graal.asm.sparc@javaCompliance=1.8 project@com.oracle.graal.asm.sparc@workingSets=Graal,Assembler,SPARC # truffle.api @@ -688,7 +688,7 @@ project@com.oracle.graal.truffle@sourceDirs=src project@com.oracle.graal.truffle@dependencies=com.oracle.truffle.api,com.oracle.graal.replacements,com.oracle.graal.runtime,com.oracle.graal.printer project@com.oracle.graal.truffle@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.truffle@javaCompliance=1.7 +project@com.oracle.graal.truffle@javaCompliance=1.8 project@com.oracle.graal.truffle@workingSets=Graal,Truffle # graal.truffle.test @@ -696,7 +696,7 @@ project@com.oracle.graal.truffle.test@sourceDirs=src project@com.oracle.graal.truffle.test@dependencies=com.oracle.graal.truffle,com.oracle.graal.compiler.test project@com.oracle.graal.truffle.test@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.truffle.test@javaCompliance=1.7 +project@com.oracle.graal.truffle.test@javaCompliance=1.8 project@com.oracle.graal.truffle.test@workingSets=Graal,Truffle,Test # graal.truffle.hotspot @@ -704,7 +704,7 @@ project@com.oracle.graal.truffle.hotspot@sourceDirs=src project@com.oracle.graal.truffle.hotspot@dependencies=com.oracle.graal.truffle,com.oracle.graal.hotspot project@com.oracle.graal.truffle.hotspot@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.truffle.hotspot@javaCompliance=1.7 +project@com.oracle.graal.truffle.hotspot@javaCompliance=1.8 project@com.oracle.graal.truffle.hotspot@annotationProcessors=com.oracle.graal.service.processor project@com.oracle.graal.truffle.hotspot@workingSets=Graal,Truffle @@ -713,6 +713,6 @@ project@com.oracle.graal.truffle.hotspot.amd64@sourceDirs=src project@com.oracle.graal.truffle.hotspot.amd64@dependencies=com.oracle.graal.truffle.hotspot,com.oracle.graal.hotspot.amd64 project@com.oracle.graal.truffle.hotspot.amd64@checkstyle=com.oracle.graal.graph -project@com.oracle.graal.truffle.hotspot.amd64@javaCompliance=1.7 +project@com.oracle.graal.truffle.hotspot.amd64@javaCompliance=1.8 project@com.oracle.graal.truffle.hotspot.amd64@annotationProcessors=com.oracle.graal.service.processor project@com.oracle.graal.truffle.hotspot.amd64@workingSets=Graal,Truffle diff -r c6f4b780fa88 -r a6c1c3eb20c4 mxtool/mx.py --- a/mxtool/mx.py Wed Mar 26 14:32:50 2014 +0100 +++ b/mxtool/mx.py Wed Mar 26 14:34:08 2014 +0100 @@ -54,7 +54,7 @@ _primary_suite_path = None _primary_suite = None _opts = None -_java = None +_java_homes = None _warn = False """ @@ -117,6 +117,13 @@ self.workingSets = workingSets self.dir = d + # Verify that a JDK exists for this project if its compliance level is + # less than the compliance level of the default JDK + jdk = java(self.javaCompliance) + if jdk is None and self.javaCompliance < java().javaCompliance: + abort('Cannot find ' + str(self.javaCompliance) + ' JDK required by ' + name + '. ' + + 'Specify it with --extra-java-homes option or EXTRA_JAVA_HOMES environment variable.') + # Create directories for projects that don't yet exist if not exists(d): os.mkdir(d) @@ -1036,7 +1043,8 @@ self.add_argument('--Jp', action='append', dest='java_args_pfx', help='prefix Java VM arguments (e.g. --Jp @-dsa)', metavar='@', default=[]) self.add_argument('--Ja', action='append', dest='java_args_sfx', help='suffix Java VM arguments (e.g. --Ja @-dsa)', metavar='@', default=[]) self.add_argument('--user-home', help='users home directory', metavar='', default=os.path.expanduser('~')) - self.add_argument('--java-home', help='bootstrap JDK installation directory (must be JDK 6 or later)', metavar='') + self.add_argument('--java-home', help='primary JDK directory (must be JDK 7 or later)', metavar='') + self.add_argument('--extra-java-homes', help='secondary JDK directories separated by "' + os.pathsep + '"', metavar='') self.add_argument('--ignore-project', action='append', dest='ignored_projects', help='name of project to ignore', metavar='', default=[]) self.add_argument('--kill-with-sigquit', action='store_true', dest='killwithsigquit', help='send sigquit first before killing child processes') if get_os() != 'windows': @@ -1061,6 +1069,8 @@ if opts.java_home is None: opts.java_home = os.environ.get('JAVA_HOME') + if opts.extra_java_homes is None: + opts.extra_java_homes = os.environ.get('EXTRA_JAVA_HOMES') if opts.java_home is None or opts.java_home == '': opts.java_home = _handle_missing_java_home() @@ -1089,12 +1099,21 @@ msg += ' {0:<20} {1}\n'.format(cmd, doc.split('\n', 1)[0]) return msg + '\n' -def java(): +def java(requiredCompliance=None): """ Get a JavaConfig object containing Java commands launch details. + If requiredCompliance is None, the compliance level specified by --java-home/JAVA_HOME + is returned. Otherwise, the JavaConfig exactly matching requiredCompliance is returned + or None if there is no exact match. """ - assert _java is not None - return _java + assert _java_homes + if not requiredCompliance: + return _java_homes[0] + for java in _java_homes: + if java.javaCompliance == requiredCompliance: + return java + return None + def run_java(args, nonZeroIsFatal=True, out=None, err=None, cwd=None, addDefaultArgs=True): return run(java().format_cmd(args, addDefaultArgs), nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd) @@ -1350,9 +1369,9 @@ A JavaConfig object encapsulates info on how Java commands are run. """ class JavaConfig: - def __init__(self, opts): - self.jdk = opts.java_home - self.debug_port = opts.java_dbg_port + def __init__(self, java_home, java_dbg_port): + self.jdk = java_home + self.debug_port = java_dbg_port self.jar = exe_suffix(join(self.jdk, 'bin', 'jar')) self.java = exe_suffix(join(self.jdk, 'bin', 'java')) self.javac = exe_suffix(join(self.jdk, 'bin', 'javac')) @@ -1361,7 +1380,7 @@ self._bootclasspath = None if not exists(self.java): - abort('Java launcher derived from JAVA_HOME does not exist: ' + self.java) + abort('Java launcher does not exist: ' + self.java) def delAtAndSplit(s): return shlex.split(s.lstrip('@')) @@ -1389,6 +1408,14 @@ if self.debug_port is not None: self.java_args += ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=' + str(self.debug_port)] + def __hash__(self): + return hash(self.jdk) + + def __cmp__(self, other): + if isinstance(other, JavaConfig): + return cmp(self.javaCompliance, other.javaCompliance) + raise TypeError() + def format_cmd(self, args, addDefaultArgs): if addDefaultArgs: return [self.java] + self.processArgs(args) @@ -1624,14 +1651,12 @@ if not suppliedParser: parser = ArgumentParser(prog='mx build') - javaCompliance = java().javaCompliance - defaultEcjPath = get_env('JDT', join(_primary_suite.mxDir, 'ecj.jar')) parser = parser if parser is not None else ArgumentParser(prog='mx build') parser.add_argument('-f', action='store_true', dest='force', help='force build (disables timestamp checking)') parser.add_argument('-c', action='store_true', dest='clean', help='removes existing build output') - parser.add_argument('--source', dest='compliance', help='Java compliance level for projects without an explicit one', default=str(javaCompliance)) + parser.add_argument('--source', dest='compliance', help='Java compliance level for projects without an explicit one') parser.add_argument('--Wapi', action='store_true', dest='warnAPI', help='show warnings about using internal APIs') parser.add_argument('--projects', action='store', help='comma separated projects to build (omit to build all projects)') parser.add_argument('--only', action='store', help='comma separated projects to build, without checking their dependencies (omit to build all projects)') @@ -1710,9 +1735,12 @@ continue # skip building this Java project if its Java compliance level is "higher" than the configured JDK - if javaCompliance < p.javaCompliance: - log('Excluding {0} from build (Java compliance level {1} required)'.format(p.name, p.javaCompliance)) + requiredCompliance = p.javaCompliance if p.javaCompliance else JavaCompliance(args.compliance) if args.compliance else None + jdk = java(requiredCompliance) + if not jdk: + log('Excluding {0} from build (Java compliance level {1} required)'.format(p.name, requiredCompliance)) continue + compliance = str(jdk.javaCompliance) outputDir = prepareOutputDirs(p, args.clean) @@ -1817,14 +1845,11 @@ toBeDeleted = [argfileName] try: - compliance = str(p.javaCompliance) if p.javaCompliance is not None else args.compliance if jdtJar is None: log('Compiling Java sources for {0} with javac...'.format(p.name)) - - - javacCmd = [java().javac, '-g', '-J-Xmx1g', '-source', compliance, '-target', compliance, '-classpath', cp, '-d', outputDir] - if java().debug_port is not None: - javacCmd += ['-J-Xdebug', '-J-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=' + str(java().debug_port)] + javacCmd = [jdk.javac, '-g', '-J-Xmx1g', '-source', compliance, '-target', compliance, '-classpath', cp, '-d', outputDir] + if jdk.debug_port is not None: + javacCmd += ['-J-Xdebug', '-J-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=' + str(jdk.debug_port)] javacCmd += processorArgs javacCmd += ['@' + argfile.name] @@ -1834,9 +1859,9 @@ else: log('Compiling Java sources for {0} with JDT...'.format(p.name)) - jdtArgs = [java().java, '-Xmx1g'] - if java().debug_port is not None: - jdtArgs += ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=' + str(java().debug_port)] + jdtArgs = [jdk.java, '-Xmx1g'] + if jdk.debug_port is not None: + jdtArgs += ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=' + str(jdk.debug_port)] jdtArgs += ['-jar', jdtJar, '-' + compliance, @@ -1912,13 +1937,14 @@ projects = [project(name) for name in args.projects.split(',')] class Batch: - def __init__(self, settingsFile): + def __init__(self, settingsFile, javaCompliance): self.path = settingsFile + self.javaCompliance = javaCompliance self.javafiles = list() def settings(self): with open(self.path) as fp: - return fp.read() + return fp.read() + java(self.javaCompliance).java class FileInfo: def __init__(self, path): @@ -1943,7 +1969,7 @@ continue sourceDirs = p.source_dirs() - batch = Batch(join(p.dir, '.settings', 'org.eclipse.jdt.core.prefs')) + batch = Batch(join(p.dir, '.settings', 'org.eclipse.jdt.core.prefs'), p.javaCompliance) if not exists(batch.path): if _opts.verbose: @@ -1962,8 +1988,15 @@ if res is not batch: res.javafiles = res.javafiles + batch.javafiles + print "we have: " + str(len(batches)) + " batches" for batch in batches.itervalues(): - run([args.eclipse_exe, '-nosplash', '-application', 'org.eclipse.jdt.core.JavaCodeFormatter', '-config', batch.path] + [f.path for f in batch.javafiles]) + run([args.eclipse_exe, + '-nosplash', + '-application', + 'org.eclipse.jdt.core.JavaCodeFormatter', + '-vm', java(batch.javaCompliance).java, + '-config', batch.path] + + [f.path for f in batch.javafiles]) for fi in batch.javafiles: if fi.update(): modified.append(fi) @@ -2115,7 +2148,8 @@ else: p = dep # skip a Java project if its Java compliance level is "higher" than the configured JDK - if java().javaCompliance < p.javaCompliance: + jdk = java(p.javaCompliance) + if not jdk: log('Excluding {0} from {2} (Java compliance level {1} required)'.format(p.name, p.javaCompliance, d.path)) continue @@ -2296,7 +2330,8 @@ abort('ERROR: .checkstyle for Project {0} is missing'.format(p.name)) # skip checking this Java project if its Java compliance level is "higher" than the configured JDK - if java().javaCompliance < p.javaCompliance: + jdk = java(p.javaCompliance) + if not jdk: log('Excluding {0} from checking (Java compliance level {1} required)'.format(p.name, p.javaCompliance)) continue @@ -2720,6 +2755,10 @@ if p.native: continue + if not java(p.javaCompliance): + log('Excluding {0} (JDK with compliance level {1} not available)'.format(p.name, p.javaCompliance)) + continue + if not exists(p.dir): os.makedirs(p.dir) @@ -2964,7 +3003,7 @@ launchOut.open('launchConfiguration', {'type' : 'org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'}) launchOut.element('booleanAttribute', {'key' : 'org.eclipse.debug.core.capture_output', 'value': consoleOn}) launchOut.open('mapAttribute', {'key' : 'org.eclipse.debug.core.environmentVariables'}) - launchOut.element('mapEntry', {'key' : 'JAVA_HOME', 'value' : java().jdk}) + launchOut.element('mapEntry', {'key' : 'JAVA_HOME', 'value' : java(p.javaCompliance).jdk}) launchOut.close('mapAttribute') if refresh: @@ -3211,6 +3250,7 @@ updated = False files = [] libFiles = [] + jdks = set() for p in suite.projects: if p.native: continue @@ -3221,13 +3261,21 @@ if not exists(join(p.dir, 'nbproject')): os.makedirs(join(p.dir, 'nbproject')) + jdk = java(p.javaCompliance) + + if not jdk: + log('Excluding {0} (JDK with compliance level {1} not available)'.format(p.name, p.javaCompliance)) + continue + + jdks.add(jdk) + out = XMLDoc() out.open('project', {'name' : p.name, 'default' : 'default', 'basedir' : '.'}) out.element('description', data='Builds, tests, and runs the project ' + p.name + '.') out.element('import', {'file' : 'nbproject/build-impl.xml'}) out.open('target', {'name' : '-post-compile'}) out.open('exec', {'executable' : sys.executable}) - out.element('env', {'key' : 'JAVA_HOME', 'value' : java().jdk}) + out.element('env', {'key' : 'JAVA_HOME', 'value' : jdk.jdk}) out.element('arg', {'value' : os.path.abspath(__file__)}) out.element('arg', {'value' : 'archive'}) out.element('arg', {'value' : '@GRAAL'}) @@ -3282,7 +3330,7 @@ files.append(join(p.dir, 'nbproject', 'project.xml')) out = StringIO.StringIO() - jdkPlatform = 'JDK_' + str(java().version) + jdkPlatform = 'JDK_' + str(jdk.version) annotationProcessorEnabled = "false" annotationProcessorReferences = "" @@ -3345,7 +3393,7 @@ manifest.file=manifest.mf meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false -platforms.""" + jdkPlatform + """.home=""" + java().jdk + """ +platforms.""" + jdkPlatform + """.home=""" + jdk.jdk + """ platform.active=""" + jdkPlatform + """ run.classpath=\\ ${javac.classpath}:\\ @@ -3425,7 +3473,9 @@ if updated: log('If using NetBeans:') - log(' 1. Ensure that a platform named "JDK_' + str(java().version) + '" is defined (Tools -> Java Platforms)') + log(' 1. Ensure that the following platform(s) are defined (Tools -> Java Platforms):') + for jdk in jdks: + log(' JDK_' + str(jdk.version)) log(' 2. Open/create a Project Group for the directory containing the projects (File -> Project Group -> New Group... -> Folder of Projects)') _zip_files(files, suite.dir, configZip.path) @@ -3596,7 +3646,7 @@ windowTitle = ['-windowtitle', p.name + ' javadoc'] try: log('Generating {2} for {0} in {1}'.format(p.name, out, docDir)) - run([java().javadoc, memory, + run([java(p.javaCompliance).javadoc, memory, '-XDignore.symbol.file', '-classpath', cp, '-quiet', @@ -3625,7 +3675,7 @@ sp += p.source_dirs() names.append(p.name) - links = ['-link', 'http://docs.oracle.com/javase/' + str(_java.javaCompliance.value) + '/docs/api/'] + links = ['-link', 'http://docs.oracle.com/javase/' + str(java().javaCompliance.value) + '/docs/api/'] out = join(_primary_suite.dir, docDir) if args.base is not None: out = join(args.base, docDir) @@ -4105,9 +4155,16 @@ opts, commandAndArgs = _argParser._parse_cmd_line() - global _opts, _java + global _opts, _java_homes _opts = opts - _java = JavaConfig(opts) + defaultJdk = JavaConfig(opts.java_home, opts.java_dbg_port) + _java_homes = [defaultJdk] + if opts.extra_java_homes: + for java_home in opts.extra_java_homes.split(os.pathsep): + extraJdk = JavaConfig(java_home, opts.java_dbg_port) + if extraJdk > defaultJdk: + abort('Secondary JDK ' + extraJdk.jdk + ' has higher compliance level than default JDK ' + defaultJdk.jdk) + _java_homes.append(extraJdk) for s in suites(): s._post_init(opts)