changeset 1247:ce6567001a96

* patches/hotspot/original/icedtea-shark.patch: Regenerate.
author doko@ubuntu.com
date Wed, 03 Dec 2008 18:27:32 +0100
parents 1e8622897317
children 18303d88247c
files ChangeLog patches/hotspot/original/icedtea-shark.patch
diffstat 2 files changed, 64 insertions(+), 63 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Dec 03 17:15:58 2008 +0100
+++ b/ChangeLog	Wed Dec 03 18:27:32 2008 +0100
@@ -2,6 +2,7 @@
 
 	* Makefile.am (ZERO_PATCHES, ICEDTEA_PATCHES): Fix patch order.
 	* patches/icedtea-hotspot7-build-fixes.patch: Restore.
+	* patches/hotspot/original/icedtea-shark.patch: Regenerate.
 
 2008-12-03  Matthias Klose  <doko@ubuntu.com>
 
--- a/patches/hotspot/original/icedtea-shark.patch	Wed Dec 03 17:15:58 2008 +0100
+++ b/patches/hotspot/original/icedtea-shark.patch	Wed Dec 03 18:27:32 2008 +0100
@@ -1,6 +1,6 @@
---- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp	2008-12-03 14:33:48.000000000 +0000
-@@ -727,10 +727,14 @@
+--- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp	2008-12-03 16:54:59.000000000 +0000
+@@ -730,10 +730,14 @@
    }
  
    OrderAccess::storestore();
@@ -15,8 +15,8 @@
  
  }
  
---- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp	2008-12-03 14:33:48.000000000 +0000
+--- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp	2008-12-03 16:54:59.000000000 +0000
 @@ -44,6 +44,7 @@
    friend class VMStructs;
    friend class CardTableRS;
@@ -25,9 +25,9 @@
  #ifndef PRODUCT
    // For debugging.
    friend class GuaranteeNotModClosure;
---- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/globals.cpp	2008-12-03 14:33:48.000000000 +0000
-@@ -176,6 +176,18 @@
+--- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp	2008-12-03 16:54:59.000000000 +0000
+@@ -158,6 +158,18 @@
    #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT },
  #endif
  
@@ -45,8 +45,8 @@
 +#endif
  
  static Flag flagTable[] = {
-  RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT)
-@@ -189,6 +201,9 @@
+  RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT)
+@@ -168,6 +180,9 @@
  #ifdef COMPILER2
   C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT)
  #endif
@@ -56,8 +56,8 @@
   {0, NULL, NULL}
  };
  
---- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp	2008-12-03 14:33:49.000000000 +0000
+--- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp	2008-12-03 16:54:59.000000000 +0000
 @@ -64,6 +64,11 @@
        assert(monitor->owner() == NULL || (!monitor->owner()->is_unlocked() && !monitor->owner()->has_bias_pattern()), "object must be null or locked, and unbiased");
        BasicObjectLock* dest = _monitors->at(index);
@@ -82,9 +82,9 @@
      src->lock()->move_to(src->obj(), top->lock());
    }
    if (ProfileInterpreter) {
---- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig	2008-12-03 14:23:37.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2008-12-03 14:33:48.000000000 +0000
-@@ -94,12 +94,16 @@
+--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2008-12-03 16:54:59.000000000 +0000
+@@ -89,12 +89,16 @@
  #ifdef TIERED
    #define VMTYPE "Server"
  #else
@@ -101,19 +101,19 @@
  #endif // COMPILER1 || COMPILER2
 +#endif // SHARK
  #endif // TIERED
- #endif // KERNEL
  
---- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp	2008-12-03 14:33:48.000000000 +0000
-@@ -229,6 +229,7 @@
- 
+ #ifndef HOTSPOT_VM_DISTRO
+--- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp	2008-12-03 16:54:59.000000000 +0000
+@@ -217,6 +217,7 @@
+     
    }
  
 +#ifndef SHARK
    // Compute the caller frame based on the sender sp of stub_frame and stored frame sizes info.
    CodeBlob* cb = stub_frame.cb();
    // Verify we have the right vframeArray
-@@ -239,6 +240,10 @@
+@@ -227,6 +228,10 @@
    assert(cb->is_deoptimization_stub() || cb->is_uncommon_trap_stub(), "just checking");
    Events::log("fetch unroll sp " INTPTR_FORMAT, unpack_sp);
  #endif
@@ -124,7 +124,7 @@
    // This is a guarantee instead of an assert because if vframe doesn't match
    // we will unpack the wrong deoptimized frame and wind up in strange places
    // where it will be very difficult to figure out what went wrong. Better
-@@ -349,7 +354,9 @@
+@@ -337,7 +342,9 @@
  
    frame_pcs[0] = deopt_sender.raw_pc();
  
@@ -132,9 +132,9 @@
    assert(CodeCache::find_blob_unsafe(frame_pcs[0]) != NULL, "bad pc");
 +#endif // SHARK
  
-   UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord,
-                                       caller_adjustment * BytesPerWord,
-@@ -890,7 +897,20 @@
+   UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord, 
+ 				      caller_adjustment * BytesPerWord,
+@@ -832,7 +839,20 @@
    // stuff a C2I adapter we can properly fill in the callee-save
    // register locations.
    frame caller = fr.sender(reg_map);
@@ -154,8 +154,8 @@
 +#endif // ZERO
  
    frame sender = caller;
- 
-@@ -1057,7 +1077,7 @@
+  
+@@ -999,7 +1019,7 @@
  JRT_END
  
  
@@ -164,7 +164,7 @@
  void Deoptimization::load_class_by_index(constantPoolHandle constant_pool, int index, TRAPS) {
    // in case of an unresolved klass entry, load the class.
    if (constant_pool->tag_at(index).is_unresolved_klass()) {
-@@ -1808,7 +1828,7 @@
+@@ -1750,7 +1770,7 @@
      if (xtty != NULL)  xtty->tail("statistics");
    }
  }
@@ -173,16 +173,16 @@
  
  
  // Stubs for C1 only system.
-@@ -1844,4 +1864,4 @@
+@@ -1786,4 +1806,4 @@
    return buf;
  }
  
 -#endif // COMPILER2
 +#endif // COMPILER2 || SHARK
---- openjdk/hotspot/src/share/vm/runtime/globals.hpp.orig	2008-12-03 14:22:17.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp	2008-12-03 14:33:48.000000000 +0000
+--- openjdk/hotspot/src/share/vm/runtime/globals.hpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp	2008-12-03 16:55:00.000000000 +0000
 @@ -22,7 +22,7 @@
-  *
+  *  
   */
  
 -#if !defined(COMPILER1) && !defined(COMPILER2)
@@ -190,21 +190,21 @@
  define_pd_global(bool, BackgroundCompilation,        false);
  define_pd_global(bool, UseTLAB,                      false);
  define_pd_global(bool, CICompileOSR,                 false);
---- openjdk/hotspot/src/share/vm/code/nmethod.hpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/code/nmethod.hpp	2008-12-03 14:33:48.000000000 +0000
-@@ -318,6 +318,7 @@
+--- openjdk/hotspot/src/share/vm/code/nmethod.hpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/code/nmethod.hpp	2008-12-03 16:55:00.000000000 +0000
+@@ -290,6 +290,7 @@
  
    bool is_compiled_by_c1() const;
    bool is_compiled_by_c2() const;
 +  bool is_compiled_by_shark() const;
- 
+     
    // boundaries for different parts
    address code_begin         () const             { return _entry_point; }
---- openjdk/hotspot/src/share/vm/code/nmethod.cpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/code/nmethod.cpp	2008-12-03 14:33:48.000000000 +0000
-@@ -65,6 +65,11 @@
-   assert(compiler() != NULL, "must be");
-   return compiler()->is_c2();
+--- openjdk/hotspot/src/share/vm/code/nmethod.cpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/code/nmethod.cpp	2008-12-03 16:55:51.000000000 +0000
+@@ -187,6 +187,11 @@
+ 
+   add_address_and_handler(pc,handler);
  }
 +bool nmethod::is_compiled_by_shark() const {
 +  if (is_native_method()) return false;
@@ -213,16 +213,16 @@
 +}
  
  
- 
-@@ -1567,6 +1572,7 @@
+ address ExceptionCache::match(Handle exception, address pc) {
+@@ -1448,6 +1453,7 @@
  // Method that knows how to preserve outgoing arguments at call. This method must be
  // called with a frame corresponding to a Java invoke
- void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) {
+ void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) {  
 +#ifndef SHARK
    if (!method()->is_native()) {
      SimpleScopeDesc ssd(this, fr.pc());
      Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci());
-@@ -1574,6 +1580,7 @@
+@@ -1455,6 +1461,7 @@
      symbolOop signature = call->signature();
      fr.oops_compiled_arguments_do(signature, is_static, reg_map, f);
    }
@@ -230,17 +230,17 @@
  }
  
  
-@@ -2003,6 +2010,8 @@
+@@ -1883,6 +1890,8 @@
      tty->print("(c1) ");
    } else if (is_compiled_by_c2()) {
      tty->print("(c2) ");
 +  } else if (is_compiled_by_shark()) {
 +    tty->print("(shark) ");
    } else {
+     assert(is_native_method(), "Who else?");
      tty->print("(nm) ");
-   }
---- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp	2008-12-03 14:33:48.000000000 +0000
+--- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp	2008-12-03 16:55:00.000000000 +0000
 @@ -554,6 +554,14 @@
  #endif
  #endif // COMPILER2
@@ -256,26 +256,26 @@
    // Initialize the CompileTask free list
    _task_free_list = NULL;
  
---- openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp	2008-12-03 14:33:48.000000000 +0000
+--- openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp	2008-12-03 16:55:00.000000000 +0000
 @@ -45,18 +45,26 @@
    // Missing feature tests
    virtual bool supports_native()                 { return true; }
-   virtual bool supports_osr   ()                 { return true; }
+   virtual bool supports_osr   ()                 { return true; } 
 -#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2))
 +#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK))
-   virtual bool is_c1   ()                        { return false; }
-   virtual bool is_c2   ()                        { return false; }
+   virtual bool is_c1   ()                        { return false; } 
+   virtual bool is_c2   ()                        { return false; } 
 +  virtual bool is_shark()                        { return false; }
  #else
  #ifdef COMPILER1
-   bool is_c1   ()                                { return true; }
-   bool is_c2   ()                                { return false; }
+   bool is_c1   ()                                { return true; } 
+   bool is_c2   ()                                { return false; } 
 +  bool is_shark()                                { return false; }
  #endif // COMPILER1
  #ifdef COMPILER2
-   bool is_c1   ()                                { return false; }
-   bool is_c2   ()                                { return true; }
+   bool is_c1   ()                                { return false; } 
+   bool is_c2   ()                                { return true; } 
 +  bool is_shark()                                { return false; }
  #endif // COMPILER2
 +#ifdef SHARK
@@ -286,8 +286,8 @@
  #endif // TIERED
  
    // Customization
---- openjdk/hotspot/src/share/vm/ci/ciMethod.hpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp	2008-12-03 14:33:48.000000000 +0000
+--- openjdk/hotspot/src/share/vm/ci/ciMethod.hpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp	2008-12-03 16:55:00.000000000 +0000
 @@ -69,7 +69,7 @@
  
    // Optional liveness analyzer.
@@ -297,8 +297,8 @@
    ciTypeFlow*     _flow;
  #endif
  
---- openjdk/hotspot/src/share/vm/ci/ciMethod.cpp.orig	2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp	2008-12-03 14:33:48.000000000 +0000
+--- openjdk/hotspot/src/share/vm/ci/ciMethod.cpp.orig	2008-12-03 16:54:19.000000000 +0000
++++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp	2008-12-03 16:55:00.000000000 +0000
 @@ -56,9 +56,9 @@
    _liveness           = NULL;
    _bcea = NULL;
@@ -310,7 +310,7 @@
 +#endif // COMPILER2 || SHARK
  
    if (JvmtiExport::can_hotswap_or_post_breakpoint() && _is_compilable) {
-     // 6328518 check hotswap conditions under the right lock.
+     // 6328518 check hotswap conditions under the right lock.  
 @@ -124,9 +124,9 @@
    _bcea = NULL;
    _method_blocks = NULL;