# HG changeset patch # User Christian Haeubl # Date 1329850905 28800 # Node ID 82fda7201cd6fce3fd1db1a3f3178327c8340991 # Parent 60a8f52c0be04f1e3e47922020d6474b8fa15501# Parent f9811bcf3402da82f52ebae904cb62c6ba499de6 Merge diff -r f9811bcf3402 -r 82fda7201cd6 create64.cmd --- a/create64.cmd Tue Feb 21 10:48:32 2012 -0800 +++ /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% - diff -r f9811bcf3402 -r 82fda7201cd6 graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/gen/LIRGenerator.java --- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/gen/LIRGenerator.java Tue Feb 21 10:48:32 2012 -0800 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/gen/LIRGenerator.java Tue Feb 21 11:01:45 2012 -0800 @@ -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; diff -r f9811bcf3402 -r 82fda7201cd6 graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/java/AccessMonitorNode.java --- a/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/java/AccessMonitorNode.java Tue Feb 21 10:48:32 2012 -0800 +++ b/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/java/AccessMonitorNode.java Tue Feb 21 11:01:45 2012 -0800 @@ -56,7 +56,7 @@ return eliminated; } - public void makeEliminated() { + public void eliminate() { eliminated = true; } diff -r f9811bcf3402 -r 82fda7201cd6 graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/spi/EscapeOp.java --- a/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/spi/EscapeOp.java Tue Feb 21 10:48:32 2012 -0800 +++ b/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/spi/EscapeOp.java Tue Feb 21 11:01:45 2012 -0800 @@ -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(); } } diff -r f9811bcf3402 -r 82fda7201cd6 mx/commands.py diff -r f9811bcf3402 -r 82fda7201cd6 mx/sanitycheck.py --- a/mx/sanitycheck.py Tue Feb 21 10:48:32 2012 -0800 +++ b/mx/sanitycheck.py Tue Feb 21 11:01:45 2012 -0800 @@ -74,7 +74,7 @@ 'sunflow': ['product', 'fastdebug', 'debug'], 'tomcat': ['product', 'fastdebug', 'debug'], 'tradebeans': ['product', 'fastdebug', 'debug'], - 'tradesoap': ['product'], + 'tradesoap': ['product', 'fastdebug'], 'xalan': ['product', 'fastdebug', 'debug'], } diff -r f9811bcf3402 -r 82fda7201cd6 mxtool/mx.py --- a/mxtool/mx.py Tue Feb 21 10:48:32 2012 -0800 +++ b/mxtool/mx.py Tue Feb 21 11:01:45 2012 -0800 @@ -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() + retcode = 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') diff -r f9811bcf3402 -r 82fda7201cd6 src/cpu/x86/vm/sharedRuntime_x86_64.cpp --- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Tue Feb 21 10:48:32 2012 -0800 +++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Tue Feb 21 11:01:45 2012 -0800 @@ -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); diff -r f9811bcf3402 -r 82fda7201cd6 src/share/vm/runtime/arguments.hpp --- a/src/share/vm/runtime/arguments.hpp Tue Feb 21 10:48:32 2012 -0800 +++ b/src/share/vm/runtime/arguments.hpp Tue Feb 21 11:01:45 2012 -0800 @@ -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; } diff -r f9811bcf3402 -r 82fda7201cd6 src/share/vm/runtime/deoptimization.cpp --- a/src/share/vm/runtime/deoptimization.cpp Tue Feb 21 10:48:32 2012 -0800 +++ b/src/share/vm/runtime/deoptimization.cpp Tue Feb 21 11:01:45 2012 -0800 @@ -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" diff -r f9811bcf3402 -r 82fda7201cd6 visualizer/nbproject/build-impl.xml diff -r f9811bcf3402 -r 82fda7201cd6 visualizer/nbproject/genfiles.properties diff -r f9811bcf3402 -r 82fda7201cd6 visualizer/nbproject/platform.xml --- a/visualizer/nbproject/platform.xml Tue Feb 21 10:48:32 2012 -0800 +++ b/visualizer/nbproject/platform.xml Tue Feb 21 11:01:45 2012 -0800 @@ -1,34 +1,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +