changeset 4666:82fda7201cd6

Merge
author Christian Haeubl <christian.haeubl@oracle.com>
date Tue, 21 Feb 2012 11:01:45 -0800
parents 60a8f52c0be0 (diff) f9811bcf3402 (current diff)
children 35b2cae45dc5
files
diffstat 10 files changed, 63 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
--- 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%
-
--- 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;
 
--- 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;
     }
 
--- 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();
         }
     }
 
--- 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'],
 }
 
--- 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')
--- 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);
 
--- 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; }
--- 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"
--- 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 @@
-<?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>