Mercurial > hg > graal-compiler
changeset 4662:70583f504107
Merge.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Tue, 21 Feb 2012 19:31:24 +0100 |
parents | 9ae5048b9153 (diff) c3de4449719f (current diff) |
children | 77a997c2bf4e |
files | |
diffstat | 9 files changed, 62 insertions(+), 53 deletions(-) [+] |
line wrap: on
line diff
--- a/create64.cmd Tue Feb 21 16:35:42 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -set HotSpotMksHome=C:\cygwin\bin& set JAVA_HOME=%cd%\jdk1.7.0& set path=%JAVA_HOME%\bin;%path%;%HotSpotMksHome%& cd make\windows& call create.bat %cd% -
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/gen/LIRGenerator.java Tue Feb 21 16:35:42 2012 +0100 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/gen/LIRGenerator.java Tue Feb 21 19:31:24 2012 +0100 @@ -94,8 +94,8 @@ /** * The frame state of the caller of the method performing the lock, or null if the outermost method * performs the lock. This information is used to compute the {@link CiFrame} that this lock belongs to. - * We cannot use the actual frame state of the locking method, because it is now unique for a method. The - * caller frame states are unique, i.e., all frame states of an inlined methods refer to the same caller frame state. + * We cannot use the actual frame state of the locking method, because it is not unique for a method. The + * caller frame states are unique, i.e., all frame states of inlined methods refer to the same caller frame state. */ public final FrameState callerState;
--- a/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/java/AccessMonitorNode.java Tue Feb 21 16:35:42 2012 +0100 +++ b/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/java/AccessMonitorNode.java Tue Feb 21 19:31:24 2012 +0100 @@ -56,7 +56,7 @@ return eliminated; } - public void makeEliminated() { + public void eliminate() { eliminated = true; }
--- a/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/spi/EscapeOp.java Tue Feb 21 16:35:42 2012 +0100 +++ b/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/spi/EscapeOp.java Tue Feb 21 19:31:24 2012 +0100 @@ -108,7 +108,7 @@ assert x.type() == ((ValueNode) node).exactType(); ((StructuredGraph) x.graph()).replaceFloating(x, ConstantNode.forBoolean(true, node.graph())); } else if (usage instanceof AccessMonitorNode) { - ((AccessMonitorNode) usage).makeEliminated(); + ((AccessMonitorNode) usage).eliminate(); } }
--- a/mxtool/mx.py Tue Feb 21 16:35:42 2012 +0100 +++ b/mxtool/mx.py Tue Feb 21 19:31:24 2012 +0100 @@ -557,6 +557,17 @@ # This is a tuple of the Popen object and args. _currentSubprocess = None +def waitOn(p): + if get_os() == 'windows': + # on windows use a poll loop, otherwise signal does not get handled + retcode = None + while retcode == None: + retcode = p.poll() + time.sleep(0.05) + else: + retcode = p.wait() + return retcode + def run(args, nonZeroIsFatal=True, out=None, err=None, cwd=None, timeout=None): """ Run a command in a subprocess, wait for it to complete and return the exit status of the process. @@ -592,14 +603,7 @@ # The preexec_fn=os.setsid p = subprocess.Popen(args, cwd=cwd, preexec_fn=preexec_fn, creationflags=creationflags) _currentSubprocess = (p, args) - if get_os() == 'windows': - # on windows use a poll loop, otherwise signal does not get handled - retcode = None - while retcode == None: - retcode = p.poll() - time.sleep(0.05) - else: - retcode = p.wait() + waitOn(p) else: def redirect(stream, f): for line in iter(stream.readline, ''): @@ -618,7 +622,7 @@ t.daemon = True # thread dies with the program t.start() if timeout is None or timeout == 0: - retcode = p.wait() + retcode = waitOn(p) else: if get_os() == 'windows': abort('Use of timeout not (yet) supported on Windows')
--- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Tue Feb 21 16:35:42 2012 +0100 +++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Tue Feb 21 19:31:24 2012 +0100 @@ -2702,12 +2702,18 @@ __ bind(L); } #endif // ASSERT + + __ movl(c_rarg1, (int32_t)(Deoptimization::make_trap_request(Deoptimization::Reason_unreached, Deoptimization::Action_none))); __ mov(c_rarg0, r15_thread); - __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::fetch_unroll_info))); + __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::uncommon_trap))); + oop_maps->add_gc_map( __ pc()-start, map->deep_copy()); + + //__ reset_last_Java_frame(false, false); + //__ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::fetch_unroll_info))); // Need to have an oopmap that tells fetch_unroll_info where to // find any register it might need. - oop_maps->add_gc_map(__ pc() - start, map); +// oop_maps->add_gc_map(__ pc() - start, map); __ reset_last_Java_frame(false, false);
--- a/src/share/vm/runtime/arguments.hpp Tue Feb 21 16:35:42 2012 +0100 +++ b/src/share/vm/runtime/arguments.hpp Tue Feb 21 19:31:24 2012 +0100 @@ -228,9 +228,11 @@ // an array containing all jvm arguments specified in the command line static char** _jvm_args_array; static int _num_jvm_args; +#ifdef GRAAL // an array containing all graal arguments specified in the command line static char** _graal_args_array; static int _num_graal_args; +#endif // string containing all java command (class/jarfile name and app args) static char* _java_command; @@ -432,9 +434,9 @@ static char** jvm_args_array() { return _jvm_args_array; } #ifdef GRAAL static char** graal_args_array() { return _graal_args_array; } + static int num_graal_args() { return _num_graal_args; } #endif static int num_jvm_flags() { return _num_jvm_flags; } - static int num_graal_args() { return _num_graal_args; } static int num_jvm_args() { return _num_jvm_args; } // return the arguments passed to the Java application static const char* java_command() { return _java_command; }
--- a/src/share/vm/runtime/deoptimization.cpp Tue Feb 21 16:35:42 2012 +0100 +++ b/src/share/vm/runtime/deoptimization.cpp Tue Feb 21 19:31:24 2012 +0100 @@ -19,7 +19,6 @@ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. - * */ #include "precompiled.hpp"
--- a/visualizer/nbproject/platform.xml Tue Feb 21 16:35:42 2012 +0100 +++ b/visualizer/nbproject/platform.xml Tue Feb 21 19:31:24 2012 +0100 @@ -1,34 +1,34 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project name="platform" default="download" basedir=".."> - <condition property="download.required"> - <and> - <not> - <available file="${harness.dir}/suite.xml"/> - </not> - <isset property="bootstrap.url"/> - <isset property="autoupdate.catalog.url"/> - </and> - </condition> - <target name="download" if="download.required"> - <mkdir dir="${harness.dir}"/> - <pathconvert pathsep="|" property="download.clusters"> - <mapper type="flatten"/> - <path path="${cluster.path}"/> - </pathconvert> - <property name="disabled.modules" value=""/> - <pathconvert property="module.includes" pathsep=""> - <mapper type="glob" from="${basedir}${file.separator}*" to="(?!\Q*\E)"/> - <path> - <filelist files="${disabled.modules}" dir="."/> - </path> - </pathconvert> - <echo message="Downloading clusters ${download.clusters}"/> - <property name="tasks.jar" location="${java.io.tmpdir}/tasks.jar"/> - <get src="${bootstrap.url}" dest="${tasks.jar}" usetimestamp="true" verbose="true"/> - <taskdef name="autoupdate" classname="org.netbeans.nbbuild.AutoUpdate" classpath="${tasks.jar}"/> - <autoupdate installdir="${nbplatform.active.dir}" updatecenter="${autoupdate.catalog.url}"> - <modules includes="${module.includes}.*" clusters="${download.clusters}"/> - <modules includes="org[.]netbeans[.]modules[.]apisupport[.]harness" clusters="harness"/> - </autoupdate> - </target> -</project> +<?xml version="1.0" encoding="UTF-8"?> +<project name="platform" default="download" basedir=".."> + <condition property="download.required"> + <and> + <not> + <available file="${harness.dir}/suite.xml"/> + </not> + <isset property="bootstrap.url"/> + <isset property="autoupdate.catalog.url"/> + </and> + </condition> + <target name="download" if="download.required"> + <mkdir dir="${harness.dir}"/> + <pathconvert pathsep="|" property="download.clusters"> + <mapper type="flatten"/> + <path path="${cluster.path}"/> + </pathconvert> + <property name="disabled.modules" value=""/> + <pathconvert property="module.includes" pathsep=""> + <mapper type="glob" from="${basedir}${file.separator}*" to="(?!\Q*\E)"/> + <path> + <filelist files="${disabled.modules}" dir="."/> + </path> + </pathconvert> + <echo message="Downloading clusters ${download.clusters}"/> + <property name="tasks.jar" location="${java.io.tmpdir}/tasks.jar"/> + <get src="${bootstrap.url}" dest="${tasks.jar}" usetimestamp="true" verbose="true"/> + <taskdef name="autoupdate" classname="org.netbeans.nbbuild.AutoUpdate" classpath="${tasks.jar}"/> + <autoupdate installdir="${nbplatform.active.dir}" updatecenter="${autoupdate.catalog.url}"> + <modules includes="${module.includes}.*" clusters="${download.clusters}"/> + <modules includes="org[.]netbeans[.]modules[.]apisupport[.]harness" clusters="harness"/> + </autoupdate> + </target> +</project>