# HG changeset patch # User Doug Simon # Date 1418872223 -36000 # Node ID 88c280297bd2305ba5a69a9c63740de84bd48536 # Parent 4836c2abc884b7c93bdc5db0ccb9b47ce46f865e put GeneratedSourcesSha1 into com.oracle.graal.hotspot.sourcegen package diff -r 4836c2abc884 -r 88c280297bd2 mx/mx_graal.py --- a/mx/mx_graal.py Thu Dec 18 12:12:04 2014 +1000 +++ b/mx/mx_graal.py Thu Dec 18 13:10:23 2014 +1000 @@ -548,17 +548,24 @@ mx.update_file(graalRuntime_inline_hpp, tmp.getvalue()) # Store SHA1 in generated Java class and append class to specified jar + javaPackageName = 'com.oracle.graal.hotspot.sourcegen' + javaClassName = javaPackageName + '.GeneratedSourcesSha1' javaSource = join(_graal_home, 'GeneratedSourcesSha1.java') - javaClass = join(_graal_home, 'GeneratedSourcesSha1.class') + javaClass = join(_graal_home, javaClassName.replace('.', os.path.sep) + '.class') with open(javaSource, 'w') as fp: + print >> fp, 'package ' + javaPackageName + ';' print >> fp, 'class GeneratedSourcesSha1 { private static final String value = "' + sha1 + '"; }' subprocess.check_call([mx.java().javac, '-d', mx._cygpathU2W(_graal_home), mx._cygpathU2W(javaSource)], stderr=subprocess.PIPE, stdout=subprocess.PIPE) zf = zipfile.ZipFile(dist.path, 'a') with open(javaClass, 'rb') as fp: - zf.writestr(os.path.basename(javaClass), fp.read()) + zf.writestr(javaClassName.replace('.', '/') + '.class', fp.read()) zf.close() os.unlink(javaSource) os.unlink(javaClass) + javaClassParent = os.path.dirname(javaClass) + while len(os.listdir(javaClassParent)) == 0: + os.rmdir(javaClassParent) + javaClassParent = os.path.dirname(javaClassParent) def _copyToJdk(src, dst, permissions=JDK_UNIX_PERMISSIONS_FILE): name = os.path.basename(src) diff -r 4836c2abc884 -r 88c280297bd2 src/share/vm/graal/graalRuntime.cpp --- a/src/share/vm/graal/graalRuntime.cpp Thu Dec 18 12:12:04 2014 +1000 +++ b/src/share/vm/graal/graalRuntime.cpp Thu Dec 18 13:10:23 2014 +1000 @@ -713,7 +713,7 @@ JVM_END void GraalRuntime::check_generated_sources_sha1(TRAPS) { - TempNewSymbol name = SymbolTable::new_symbol("GeneratedSourcesSha1", CHECK_ABORT); + TempNewSymbol name = SymbolTable::new_symbol("com/oracle/graal/hotspot/sourcegen/GeneratedSourcesSha1", CHECK_ABORT); KlassHandle klass = load_required_class(name); fieldDescriptor fd; if (!InstanceKlass::cast(klass())->find_field(vmSymbols::value_name(), vmSymbols::string_signature(), true, &fd)) {