changeset 20807:8d4496e10a51

Fix merge
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Wed, 08 Apr 2015 11:07:01 +0200
parents 6ee9b878902b
children d3cec14f33f3
files src/share/vm/ci/ciTypeFlow.cpp src/share/vm/gc_implementation/g1/g1AllocRegion.hpp src/share/vm/graal/graalCodeInstaller.hpp src/share/vm/graal/graalCompilerToVM.cpp src/share/vm/runtime/globals.hpp
diffstat 5 files changed, 26 insertions(+), 39 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/ci/ciTypeFlow.cpp	Tue Apr 07 18:57:02 2015 +0200
+++ b/src/share/vm/ci/ciTypeFlow.cpp	Wed Apr 08 11:07:01 2015 +0200
@@ -36,6 +36,7 @@
 #include "interpreter/bytecodes.hpp"
 #include "memory/allocation.inline.hpp"
 #include "opto/compile.hpp"
+#include "opto/node.hpp"
 #include "runtime/deoptimization.hpp"
 #include "utilities/growableArray.hpp"
 
--- a/src/share/vm/gc_implementation/g1/g1AllocRegion.hpp	Tue Apr 07 18:57:02 2015 +0200
+++ b/src/share/vm/gc_implementation/g1/g1AllocRegion.hpp	Wed Apr 08 11:07:01 2015 +0200
@@ -185,16 +185,6 @@
   // is returned after it's been retired.
   virtual HeapRegion* release();
 
-#ifdef GRAAL
-  HeapWord** top_addr()  const {
-    return _alloc_region->top_addr();
-  }
-
-  HeapWord** end_addr()  const {
-    return _alloc_region->end_addr();
-  }
-#endif
-
 #if G1_ALLOC_REGION_TRACING
   void trace(const char* str, size_t word_size = 0, HeapWord* result = NULL);
 #else // G1_ALLOC_REGION_TRACING
--- a/src/share/vm/graal/graalCodeInstaller.hpp	Tue Apr 07 18:57:02 2015 +0200
+++ b/src/share/vm/graal/graalCodeInstaller.hpp	Wed Apr 08 11:07:01 2015 +0200
@@ -107,7 +107,7 @@
 
 public:
 
-  CodeInstaller() {}
+  CodeInstaller() : _arena(Arena(mtCompiler)) {}
   GraalEnv::CodeInstallResult install(Handle& compiled_code, CodeBlob*& cb, Handle installed_code, Handle speculation_log);
 
   static address runtime_call_target_address(oop runtime_call);
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Tue Apr 07 18:57:02 2015 +0200
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Wed Apr 08 11:07:01 2015 +0200
@@ -831,9 +831,7 @@
             bool reallocated = false;
             if (objects != NULL) {
               reallocated = Deoptimization::realloc_objects(thread, fst.current(), objects, THREAD);
-              if (reallocated) {
-                Deoptimization::reassign_fields(fst.current(), fst.register_map(), objects);
-              }
+              Deoptimization::reassign_fields(fst.current(), fst.register_map(), objects, reallocated);
 
               GrowableArray<ScopeValue*>* local_values = cvf->scope()->locals();
               typeArrayHandle array = oopFactory::new_boolArray(local_values->length(), thread);
@@ -978,38 +976,36 @@
   }
 
   bool reallocated = Deoptimization::realloc_objects(thread, fst.current(), objects, THREAD);
-  if (reallocated) {
-    Deoptimization::reassign_fields(fst.current(), fst.register_map(), objects);
+  Deoptimization::reassign_fields(fst.current(), fst.register_map(), objects, reallocated);
 
-    for (int frame_index = 0; frame_index < virtualFrames->length(); frame_index++) {
-      compiledVFrame* cvf = virtualFrames->at(frame_index);
+  for (int frame_index = 0; frame_index < virtualFrames->length(); frame_index++) {
+    compiledVFrame* cvf = virtualFrames->at(frame_index);
 
-      GrowableArray<ScopeValue*>* scopeLocals = cvf->scope()->locals();
-      StackValueCollection* locals = cvf->locals();
+    GrowableArray<ScopeValue*>* scopeLocals = cvf->scope()->locals();
+    StackValueCollection* locals = cvf->locals();
 
-      if (locals != NULL) {
-        for (int i2 = 0; i2 < locals->size(); i2++) {
-          StackValue* var = locals->at(i2);
-          if (var->type() == T_OBJECT && scopeLocals->at(i2)->is_object()) {
-            jvalue val;
-            val.l = (jobject) locals->at(i2)->get_obj()();
-            cvf->update_local(T_OBJECT, i2, val);
-          }
+    if (locals != NULL) {
+      for (int i2 = 0; i2 < locals->size(); i2++) {
+        StackValue* var = locals->at(i2);
+        if (var->type() == T_OBJECT && scopeLocals->at(i2)->is_object()) {
+          jvalue val;
+          val.l = (jobject) locals->at(i2)->get_obj()();
+          cvf->update_local(T_OBJECT, i2, val);
         }
       }
     }
+  }
 
-    // all locals are materialized by now
-    HotSpotStackFrameReference::set_localIsVirtual(hs_frame, NULL);
+  // all locals are materialized by now
+  HotSpotStackFrameReference::set_localIsVirtual(hs_frame, NULL);
 
-    // update the locals array
-    objArrayHandle array = HotSpotStackFrameReference::locals(hs_frame);
-    StackValueCollection* locals = virtualFrames->at(last_frame_number)->locals();
-    for (int i = 0; i < locals->size(); i++) {
-      StackValue* var = locals->at(i);
-      if (var->type() == T_OBJECT) {
-        array->obj_at_put(i, locals->at(i)->get_obj()());
-      }
+  // update the locals array
+  objArrayHandle array = HotSpotStackFrameReference::locals(hs_frame);
+  StackValueCollection* locals = virtualFrames->at(last_frame_number)->locals();
+  for (int i = 0; i < locals->size(); i++) {
+    StackValue* var = locals->at(i);
+    if (var->type() == T_OBJECT) {
+      array->obj_at_put(i, locals->at(i)->get_obj()());
     }
   }
 C2V_END
--- a/src/share/vm/runtime/globals.hpp	Tue Apr 07 18:57:02 2015 +0200
+++ b/src/share/vm/runtime/globals.hpp	Wed Apr 08 11:07:01 2015 +0200
@@ -210,7 +210,7 @@
 #define CI_COMPILER_COUNT 0
 #else
 
-#ifdef COMPILER2
+#if defined(COMPILER2) || defined(COMPILERGRAAL)
 #define CI_COMPILER_COUNT 2
 #else
 #define CI_COMPILER_COUNT 1