# HG changeset patch # User Andreas Woess # Date 1396906541 -7200 # Node ID ff56608229920a136c6290da807106bfeb6f0c37 # Parent 05e5ab3d4d0f60c423650c606ba26f31d1ed9980# Parent 62e9e9c6ac382c2b84741cb5c93476d70f5a4c07 Merge diff -r 62e9e9c6ac38 -r ff5660822992 CHANGELOG.md --- a/CHANGELOG.md Mon Apr 07 23:09:36 2014 +0200 +++ b/CHANGELOG.md Mon Apr 07 23:35:41 2014 +0200 @@ -14,6 +14,9 @@ 25-Mar-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/graal-0.2) ### Graal +* Added graal.version system property to Graal enabled VM builds. +* Transitioned to JDK 8 as minimum JDK level for Graal. +* Expanded Debug logging/dumping API to avoid allocation when this Debug facilities are not enabled. * Use HotSpot stubs for certain array copy operations. * New methods for querying memory usage of individual objects and object graphs in Graal API (`MetaAccessProvider#getMemorySize`, `MetaUtil#getMemorySizeRecursive`). * Added tiered configuration (C1 + Graal). @@ -21,7 +24,8 @@ * New (tested) invariant that equality comparisons for `JavaType`/`JavaMethod`/`JavaField` values use `.equals()` instead of `==`. * Made graph caching compilation-local. * Added AllocSpy tool for analyzing allocation in Graal using the [Java Allocation Instrumenter](https://code.google.com/p/java-allocation-instrumenter/). -* Initial support for memory arithmetic operations on x86 +* Initial support for memory arithmetic operations on x86. + ### Truffle * New API `TruffleRuntime#createCallNode` to create call nodes and to give the runtime system control over its implementation. diff -r 62e9e9c6ac38 -r ff5660822992 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java Mon Apr 07 23:09:36 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java Mon Apr 07 23:35:41 2014 +0200 @@ -153,7 +153,7 @@ * Checks that a factory overriding is valid. A factory B can only override/replace a factory A * if the B.getClass() is a subclass of A.getClass(). This models the assumption that B is * extends the behavior of A and has therefore understood the behavior expected of A. - * + * * @param baseFactory * @param overridingFactory */ @@ -265,15 +265,13 @@ /** * Gets the Graal mirror for a {@link Class} object. - * + * * @return the {@link HotSpotResolvedJavaType} corresponding to {@code javaClass} */ public ResolvedJavaType fromClass(Class javaClass) { return graalMirrors.get(javaClass); } - public static final String GRAAL_GPU_ISALIST_PROPERTY_NAME = "graal.gpu.isalist"; - /** * Gets the names of the supported GPU architectures for the purpose of finding the * corresponding {@linkplain HotSpotBackendFactory backend} objects. @@ -320,7 +318,7 @@ /** * Converts a name to a Java type. - * + * * @param name a well formed Java type in {@linkplain JavaType#getName() internal} format * @param accessingType the context of resolution (may be null) * @param resolve force resolution to a {@link ResolvedJavaType}. If true, this method will @@ -383,7 +381,7 @@ /** * The offset from the origin of an array to the first element. - * + * * @return the offset in bytes */ public static int getArrayBaseOffset(Kind kind) { @@ -413,7 +411,7 @@ /** * The scale used for the index when accessing elements of an array of this kind. - * + * * @return the scale in order to convert the index into a byte offset */ public static int getArrayIndexScale(Kind kind) { diff -r 62e9e9c6ac38 -r ff5660822992 mx/mx_graal.py --- a/mx/mx_graal.py Mon Apr 07 23:09:36 2014 +0200 +++ b/mx/mx_graal.py Mon Apr 07 23:35:41 2014 +0200 @@ -1360,18 +1360,11 @@ mx.logv(x[:-1]) - # (Re)install graal.jar into the local m2 repository since the micros-graal - # benchmarks have it as a dependency - graalDist = mx.distribution('GRAAL') - cmd = ['mvn', 'install:install-file', '-q', - '-Dfile=' + graalDist.path, '-DgroupId=com.oracle.graal', '-DartifactId=graal', - '-Dversion=1.0-SNAPSHOT', '-Dpackaging=jar'] - if graalDist.sourcesPath: - cmd = cmd + ['-Dsources=' + graalDist.sourcesPath] - mx.run(cmd) - + env = os.environ.copy() + env['JAVA_HOME'] = _jdk(vmToCheck='server') + env['MAVEN_OPTS'] = '-server' mx.log("Building benchmarks...") - mx.run(['mvn', 'package'], cwd=jmhPath, out=_blackhole) + mx.run(['mvn', 'package'], cwd=jmhPath, out=_blackhole, env=env) matchedSuites = set() numBench = [0] diff -r 62e9e9c6ac38 -r ff5660822992 src/share/vm/oops/klass.hpp --- a/src/share/vm/oops/klass.hpp Mon Apr 07 23:09:36 2014 +0200 +++ b/src/share/vm/oops/klass.hpp Mon Apr 07 23:35:41 2014 +0200 @@ -298,10 +298,6 @@ static ByteSize modifier_flags_offset() { return in_ByteSize(offset_of(Klass, _modifier_flags)); } static ByteSize layout_helper_offset() { return in_ByteSize(offset_of(Klass, _layout_helper)); } static ByteSize access_flags_offset() { return in_ByteSize(offset_of(Klass, _access_flags)); } -#ifdef GRAAL - static ByteSize next_sibling_offset() { return in_ByteSize(offset_of(Klass, _next_sibling)); } - static ByteSize subklass_offset() { return in_ByteSize(offset_of(Klass, _subklass)); } -#endif // Unpacking layout_helper: enum { diff -r 62e9e9c6ac38 -r ff5660822992 src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Mon Apr 07 23:09:36 2014 +0200 +++ b/src/share/vm/runtime/arguments.cpp Mon Apr 07 23:35:41 2014 +0200 @@ -35,7 +35,6 @@ #include "prims/jvmtiExport.hpp" #include "runtime/arguments.hpp" #include "runtime/globals_extension.hpp" -#include "runtime/gpu.hpp" #include "runtime/java.hpp" #include "services/management.hpp" #include "services/memTracker.hpp" @@ -183,7 +182,11 @@ PropertyList_add(&_system_properties, new SystemProperty("java.vm.name", VM_Version::vm_name(), false)); PropertyList_add(&_system_properties, new SystemProperty("java.vm.info", VM_Version::vm_info_string(), true)); #ifdef GRAAL +#ifdef GRAAL_VERSION PropertyList_add(&_system_properties, new SystemProperty("graal.version", GRAAL_VERSION, true)); +#else + PropertyList_add(&_system_properties, new SystemProperty("graal.version", "unknown", true)); +#endif #endif // following are JVMTI agent writeable properties. diff -r 62e9e9c6ac38 -r ff5660822992 src/share/vm/runtime/arguments.hpp --- a/src/share/vm/runtime/arguments.hpp Mon Apr 07 23:09:36 2014 +0200 +++ b/src/share/vm/runtime/arguments.hpp Mon Apr 07 23:35:41 2014 +0200 @@ -264,9 +264,6 @@ static SystemProperty *_java_home; static SystemProperty *_java_class_path; static SystemProperty *_sun_boot_class_path; -#ifdef GRAAL - static SystemProperty *_graal_gpu_isalist; -#endif // Meta-index for knowing what packages are in the boot class path static char* _meta_index_path;