Mercurial > hg > truffle
changeset 4975:dfa7c9a45d8e
Merge.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Mon, 27 Feb 2012 15:25:39 +0100 |
parents | ab906cea36f7 (current diff) 27397872945f (diff) |
children | 8f01f899bccd |
files | clean domake |
diffstat | 5 files changed, 14 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/clean Mon Feb 27 15:15:59 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -#!/bin/bash -pushd make -LANG=C ARCH_DATA_MODEL=64 HOTSPOT_BUILD_JOBS=16 make clean -popd -
--- a/domake Mon Feb 27 15:15:59 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -mxtools/mx make -mxtools/mx --debug make -
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/target/amd64/AMD64LIRGenerator.java Mon Feb 27 15:15:59 2012 +0100 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/target/amd64/AMD64LIRGenerator.java Mon Feb 27 15:25:39 2012 +0100 @@ -153,15 +153,20 @@ scale = target().sizeInBytes(location.getValueKind()); } if (isConstant(index)) { - displacement += asConstant(index).asLong() * scale; - index = CiValue.IllegalValue; + long newDisplacement = displacement + asConstant(index).asLong() * scale; + // only use the constant index if the resulting displacement fits into a 32 bit offset + if (NumUtil.isInt(newDisplacement)) { + displacement = newDisplacement; + index = CiValue.IllegalValue; + } else { + // create a temporary variable for the index, the pointer load cannot handle a constant index + CiValue newIndex = newVariable(CiKind.Long); + emitMove(index, newIndex); + index = newIndex; + } } } - if (!NumUtil.isInt(displacement)) { - // Currently it's not worth handling this case. - throw new CiBailout("integer overflow when computing constant displacement"); - } return new CiAddress(location.getValueKind(), base, index, CiAddress.Scale.fromInt(scale), (int) displacement); }
--- a/hotspot/.cproject Mon Feb 27 15:15:59 2012 +0100 +++ b/hotspot/.cproject Mon Feb 27 15:25:39 2012 +0100 @@ -20,7 +20,7 @@ <folderInfo id="cdt.managedbuild.toolchain.gnu.solaris.base.945602881.305678577" name="/" resourcePath=""> <toolChain id="cdt.managedbuild.toolchain.gnu.base.1866612258" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base"> <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.2075405295" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/> - <builder arguments="${workspace_loc:/hotspot}/../domake" autoBuildTarget="jvmg1" buildPath="${workspace_loc:/hotspot}/.." cleanBuildTarget="clean" command="bash" enableAutoBuild="true" enableCleanBuild="false" enabledIncrementalBuild="false" id="cdt.managedbuild.target.gnu.builder.base.81453037" incrementalBuildTarget="jvmg1" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelizationNumber="1" superClass="cdt.managedbuild.target.gnu.builder.base"> + <builder arguments="${workspace_loc:/hotspot}/../mxtool/mx build" autoBuildTarget="debug" buildPath="${workspace_loc:/hotspot}/.." cleanBuildTarget="clean" command="bash" enableAutoBuild="true" enableCleanBuild="false" enabledIncrementalBuild="false" id="cdt.managedbuild.target.gnu.builder.base.81453037" incrementalBuildTarget="jvmg1" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelizationNumber="1" superClass="cdt.managedbuild.target.gnu.builder.base"> <outputEntries> <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name=""/> </outputEntries>
--- a/hotspot/.project Mon Feb 27 15:15:59 2012 +0100 +++ b/hotspot/.project Mon Feb 27 15:25:39 2012 +0100 @@ -23,11 +23,11 @@ </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.autoBuildTarget</key> - <value>jvmg1</value> + <value>debug</value> </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.buildArguments</key> - <value>${workspace_loc:/hotspot}/../domake</value> + <value>${workspace_loc:/hotspot}/../mxtool/mx build</value> </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.buildCommand</key>