changeset 4880:8d5597e3e9bb

ppc patches: Adaptions to hs25-b37
author goetz
date Mon, 24 Jun 2013 17:34:32 +0200
parents 12f688878841
children edf2bb42e70f
files ppc_patches/0003-2_C_interpreter-fix_for_8010460.patch ppc_patches/0003-3_Build-Fix_for_JEP_185.patch ppc_patches/0005_rt-use_stubs_to_implement_safefetch_.patch ppc_patches/0007_C_interpreter-biased_locking.patch ppc_patches/0008_linux_ppc_make_changes.patch ppc_patches/0009_linux_ppc_files.patch ppc_patches/0011_AIX_IA64_preprocessor_conditionals.patch ppc_patches/0013_basic_Aix_adaptions.patch ppc_patches/0014_aix_make_changes.patch ppc_patches/0015_aix_ppc_files.patch ppc_patches/0103_C_interpreter-support_method_handles.patch ppc_patches/0104_C_interpreter-support_compressed_Oops.patch ppc_patches/series
diffstat 13 files changed, 1187 insertions(+), 948 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ppc_patches/0003-2_C_interpreter-fix_for_8010460.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -0,0 +1,18 @@
+# HG changeset patch
+# Parent b5c8a61d7fa041757e85f7d45005544784e6bfda
+
+diff -r b5c8a61d7fa0 src/share/vm/interpreter/bytecodeInterpreter.cpp
+--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Jun 21 15:56:24 2013 -0700
++++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Jun 24 11:04:59 2013 +0200
+@@ -481,9 +481,9 @@
+     // So we have a second version of the assertion which handles the case where EnableInvokeDynamic was
+     // switched off because of the wrong classes.
+     if (EnableInvokeDynamic || FLAG_IS_CMDLINE(EnableInvokeDynamic)) {
+-      assert(abs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
++      assert(labs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
+     } else {
+-      const int extra_stack_entries = Method::extra_stack_entries_for_indy;
++      const int extra_stack_entries = Method::extra_stack_entries_for_jsr292;
+       assert(labs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + extra_stack_entries
+                                                                                                + 1), "bad stack limit");
+     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ppc_patches/0003-3_Build-Fix_for_JEP_185.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -0,0 +1,39 @@
+# HG changeset patch
+# Parent 853ad07fb02309ef367a2499880b3fa139c527e8
+
+diff -r 853ad07fb023 make/linux/makefiles/trace.make
+--- a/make/linux/makefiles/trace.make	Mon Jun 24 15:22:39 2013 +0200
++++ b/make/linux/makefiles/trace.make	Mon Jun 24 15:25:19 2013 +0200
+@@ -66,7 +66,7 @@
+ 
+ TraceGeneratedFiles = $(TraceGeneratedNames:%=$(TraceOutDir)/%)
+ 
+-XSLT = $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen
++XSLT = $(REMOTE) $(RUN.JAVA) -Djavax.xml.accessExternalDTD=file -classpath $(JvmtiOutDir) jvmtiGen
+ 
+ XML_DEPS =  $(TraceSrcDir)/trace.xml  $(TraceSrcDir)/tracetypes.xml \
+ 	$(TraceSrcDir)/trace.dtd $(TraceSrcDir)/xinclude.mod
+diff -r 853ad07fb023 make/solaris/makefiles/trace.make
+--- a/make/solaris/makefiles/trace.make	Mon Jun 24 15:22:39 2013 +0200
++++ b/make/solaris/makefiles/trace.make	Mon Jun 24 15:25:19 2013 +0200
+@@ -62,7 +62,7 @@
+ 
+ TraceGeneratedFiles = $(TraceGeneratedNames:%=$(TraceOutDir)/%)
+ 
+-XSLT = $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen
++XSLT = $(REMOTE) $(RUN.JAVA) -Djavax.xml.accessExternalDTD=file -classpath $(JvmtiOutDir) jvmtiGen
+ 
+ XML_DEPS =  $(TraceSrcDir)/trace.xml  $(TraceSrcDir)/tracetypes.xml \
+ 	$(TraceSrcDir)/trace.dtd $(TraceSrcDir)/xinclude.mod
+diff -r 853ad07fb023 make/windows/makefiles/trace.make
+--- a/make/windows/makefiles/trace.make	Mon Jun 24 15:22:39 2013 +0200
++++ b/make/windows/makefiles/trace.make	Mon Jun 24 15:25:19 2013 +0200
+@@ -63,7 +63,7 @@
+ 	$(TraceOutDir)/traceProducer.cpp
+ !endif
+ 
+-XSLT = $(QUIETLY) $(REMOTE) $(RUN_JAVA) -classpath $(JvmtiOutDir) jvmtiGen
++XSLT = $(QUIETLY) $(REMOTE) $(RUN_JAVA) -Djavax.xml.accessExternalDTD=file -classpath $(JvmtiOutDir) jvmtiGen
+ 
+ XML_DEPS = $(TraceSrcDir)/trace.xml $(TraceSrcDir)/tracetypes.xml \
+     $(TraceSrcDir)/trace.dtd $(TraceSrcDir)/xinclude.mod
--- a/ppc_patches/0005_rt-use_stubs_to_implement_safefetch_.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0005_rt-use_stubs_to_implement_safefetch_.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,7 +1,7 @@
 # HG changeset patch
 # Parent 5318acd5a0a46a4beeea8ef3daef353db68f55d5
 8016697: PPC64 (part 5): Use stubs to implement safefetch
-Summary: On platforms where the compiler does not properly support inline assembly safefetch can be implemented as stub routines. This also allows to use a single implementation if an architecture is supported on several os platforms or with several compilers.
+Summary: Implement Safefetch as stub routines. This reduces compiler and os dependencies.
 Reviewed-by:
 
 diff -r 5318acd5a0a4 src/cpu/sparc/vm/stubGenerator_sparc.cpp
@@ -740,37 +740,6 @@
  extern "C" int SpinPause () {
  #ifdef AMD64
     return 0 ;
-diff -r 5318acd5a0a4 src/share/vm/code/relocInfo.cpp
---- a/src/share/vm/code/relocInfo.cpp	Thu Jun 20 13:20:33 2013 +0200
-+++ b/src/share/vm/code/relocInfo.cpp	Thu Jun 20 13:36:42 2013 +0200
-@@ -608,11 +608,11 @@
- }
- 
- void trampoline_stub_Relocation::pack_data_to(CodeSection* dest ) {
--  short* p = (short*) dest->locs_end();
-+  short*  p  = (short*) dest->locs_end();
-   CodeSection* insts = dest->outer()->insts();
-   normalize_address(_owner, insts);
--  p = pack_1_int_to(p, scaled_offset(_owner, insts->start()));
--  dest->set_locs_end((relocInfo*) p);
-+  p = pack_1_int_to(p,scaled_offset(_owner, insts->start() ));
-+   dest->set_locs_end((relocInfo*) p);
- }
- 
- void trampoline_stub_Relocation::unpack_data() {
-@@ -1151,12 +1151,6 @@
-       tty->print(" | [static_call=" INTPTR_FORMAT "]", r->static_call());
-       break;
-     }
--  case relocInfo::trampoline_stub_type:
--    {
--      trampoline_stub_Relocation* r = (trampoline_stub_Relocation*) reloc();
--      tty->print(" | [trampoline owner=" INTPTR_FORMAT "]", r->owner());
--      break;
--    }
-   }
-   tty->cr();
- }
 diff -r 5318acd5a0a4 src/share/vm/runtime/os.hpp
 --- a/src/share/vm/runtime/os.hpp	Thu Jun 20 13:20:33 2013 +0200
 +++ b/src/share/vm/runtime/os.hpp	Thu Jun 20 13:36:42 2013 +0200
--- a/ppc_patches/0007_C_interpreter-biased_locking.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0007_C_interpreter-biased_locking.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,15 +1,15 @@
 # HG changeset patch
-# Parent 6ab73cb844ad63fb422aba69bedf4b6e01826c03
+# Parent 83aa1249d2506eb8e18a754c1b214855b84ba560
 C-interpreter: implement support for biased locking.
 
 Our BiasedLocking implementation departed from the HotSpot dimplementation as
 we experimented a lot with it and fixed some issues.  This should not matter
 though, as BiasedLocking is forced off in HotSpot code for the C++ interpreter.
 
-diff -r 6ab73cb844ad src/share/vm/interpreter/bytecodeInterpreter.cpp
---- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Apr 22 10:49:07 2013 +0200
-+++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Apr 26 10:04:44 2013 +0200
-@@ -35,6 +35,7 @@
+diff -r 83aa1249d250 src/share/vm/interpreter/bytecodeInterpreter.cpp
+--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Thu Jun 20 13:37:18 2013 +0200
++++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Jun 21 15:41:45 2013 +0200
+@@ -36,6 +36,7 @@
  #include "oops/objArrayKlass.hpp"
  #include "oops/oop.inline.hpp"
  #include "prims/jvmtiExport.hpp"
@@ -17,12 +17,20 @@
  #include "runtime/frame.inline.hpp"
  #include "runtime/handles.inline.hpp"
  #include "runtime/interfaceSupport.hpp"
-@@ -664,99 +665,86 @@
-             VERIFY_OOP(rcvr);
-           }
-           // The initial monitor is ours for the taking
-+          // Monitor not filled in frame manager any longer as this caused race condition with biased locking.
-           BasicObjectLock* mon = &istate->monitor_base()[-1];
+@@ -661,114 +662,97 @@
+ 
+       // lock method if synchronized
+       if (METHOD->is_synchronized()) {
+-          // oop rcvr = locals[0].j.r;
+-          oop rcvr;
+-          if (METHOD->is_static()) {
+-            rcvr = METHOD->constants()->pool_holder()->java_mirror();
+-          } else {
+-            rcvr = LOCALS_OBJECT(0);
+-            VERIFY_OOP(rcvr);
+-          }
+-          // The initial monitor is ours for the taking
+-          BasicObjectLock* mon = &istate->monitor_base()[-1];
 -          oop monobj = mon->obj();
 -          assert(mon->obj() == rcvr, "method monitor mis-initialized");
 -
@@ -103,93 +111,115 @@
 -                  success = false;
 -                  }
 -                }
-+          mon->set_obj(rcvr);
-+          bool success = false;
-+          uintptr_t epoch_mask_in_place = (uintptr_t)markOopDesc::epoch_mask_in_place;
-+          markOop mark = rcvr->mark();
-+          intptr_t hash = (intptr_t) markOopDesc::no_hash;
-+          // implies UseBiasedLocking
-+          if (mark->has_bias_pattern()) {
-+            uintptr_t thread_ident;
-+            uintptr_t anticipated_bias_locking_value;
-+            thread_ident = (uintptr_t)istate->thread();
-+            anticipated_bias_locking_value =
-+              (((uintptr_t)rcvr->klass()->prototype_header() | thread_ident) ^ (uintptr_t)mark) &
-+              ~((uintptr_t) markOopDesc::age_mask_in_place);
-+
-+            if (anticipated_bias_locking_value == 0) {
-+              // already biased towards this thread, nothing to do
++        // oop rcvr = locals[0].j.r;
++        oop rcvr;
++        if (METHOD->is_static()) {
++          rcvr = METHOD->constants()->pool_holder()->java_mirror();
++        } else {
++          rcvr = LOCALS_OBJECT(0);
++          VERIFY_OOP(rcvr);
++        }
++        // The initial monitor is ours for the taking
++        // Monitor not filled in frame manager any longer as this caused race condition with biased locking.
++        BasicObjectLock* mon = &istate->monitor_base()[-1];
++        mon->set_obj(rcvr);
++        bool success = false;
++        uintptr_t epoch_mask_in_place = (uintptr_t)markOopDesc::epoch_mask_in_place;
++        markOop mark = rcvr->mark();
++        intptr_t hash = (intptr_t) markOopDesc::no_hash;
++        // Implies UseBiasedLocking.
++        if (mark->has_bias_pattern()) {
++          uintptr_t thread_ident;
++          uintptr_t anticipated_bias_locking_value;
++          thread_ident = (uintptr_t)istate->thread();
++          anticipated_bias_locking_value =
++            (((uintptr_t)rcvr->klass()->prototype_header() | thread_ident) ^ (uintptr_t)mark) &
++            ~((uintptr_t) markOopDesc::age_mask_in_place);
++          
++          if (anticipated_bias_locking_value == 0) {
++            // Already biased towards this thread, nothing to do.
++            if (PrintBiasedLockingStatistics) {
++              (* BiasedLocking::biased_lock_entry_count_addr())++;
++            }
++            success = true;
++          } else if ((anticipated_bias_locking_value & markOopDesc::biased_lock_mask_in_place) != 0) {
++            // Try to revoke bias.
++            markOop header = rcvr->klass()->prototype_header();
++            if (hash != markOopDesc::no_hash) {
++              header = header->copy_set_hash(hash);
++            }
++            if (Atomic::cmpxchg_ptr(header, rcvr->mark_addr(), mark) == mark) {
++              if (PrintBiasedLockingStatistics)
++                (*BiasedLocking::revoked_lock_entry_count_addr())++;
++            }
++          } else if ((anticipated_bias_locking_value & epoch_mask_in_place) != 0) {
++            // Try to rebias.
++            markOop new_header = (markOop) ( (intptr_t) rcvr->klass()->prototype_header() | thread_ident);
++            if (hash != markOopDesc::no_hash) {
++              new_header = new_header->copy_set_hash(hash);
++            }
++            if (Atomic::cmpxchg_ptr((void*)new_header, rcvr->mark_addr(), mark) == mark) {
 +              if (PrintBiasedLockingStatistics) {
-+                (* BiasedLocking::biased_lock_entry_count_addr())++;
++                (* BiasedLocking::rebiased_lock_entry_count_addr())++;
                }
--            } else {
+             } else {
 -              cas_label:
 -              success = false;
-+              success = true;
++              CALL_VM(InterpreterRuntime::monitorenter(THREAD, mon), handle_exception);
 +            }
-+            else if ((anticipated_bias_locking_value & markOopDesc::biased_lock_mask_in_place) != 0) {
-+              // try revoke bias
-+              markOop header = rcvr->klass()->prototype_header();
-+              if (hash != markOopDesc::no_hash) {
-+                header = header->copy_set_hash(hash);
++            success = true;
++          } else {
++            // Try to bias towards thread in case object is anonymously biased.
++            markOop header = (markOop) ((uintptr_t) mark &
++                                        ((uintptr_t)markOopDesc::biased_lock_mask_in_place |
++                                         (uintptr_t)markOopDesc::age_mask_in_place | epoch_mask_in_place));
++            if (hash != markOopDesc::no_hash) {
++              header = header->copy_set_hash(hash);
++            }
++            markOop new_header = (markOop) ((uintptr_t) header | thread_ident);
++            // Debugging hint.
++            DEBUG_ONLY(mon->lock()->set_displaced_header((markOop) (uintptr_t) 0xdeaddead);)
++            if (Atomic::cmpxchg_ptr((void*)new_header, rcvr->mark_addr(), header) == header) {
++              if (PrintBiasedLockingStatistics) {
++                (* BiasedLocking::anonymously_biased_lock_entry_count_addr())++;
 +              }
-+              if (Atomic::cmpxchg_ptr(header, rcvr->mark_addr(), mark) == mark) {
-+                if (PrintBiasedLockingStatistics)
-+                  (*BiasedLocking::revoked_lock_entry_count_addr())++;
-+              }
++            } else {
++              CALL_VM(InterpreterRuntime::monitorenter(THREAD, mon), handle_exception);
 +            }
-+            else if ((anticipated_bias_locking_value & epoch_mask_in_place) !=0) {
-+              // try rebias
-+              markOop new_header = (markOop) ( (intptr_t) rcvr->klass()->prototype_header() | thread_ident);
-+              if (hash != markOopDesc::no_hash) {
-+                new_header = new_header->copy_set_hash(hash);
-+              }
-+              if (Atomic::cmpxchg_ptr((void*)new_header, rcvr->mark_addr(), mark) == mark) {
-+                if (PrintBiasedLockingStatistics)
-+                  (* BiasedLocking::rebiased_lock_entry_count_addr())++;
-+              }
-+              else {
-+                CALL_VM(InterpreterRuntime::monitorenter(THREAD, mon), handle_exception);
-+              }
-+              success = true;
-+            }
-+            else {
-+              // Try to bias towards thread in case object is anonymously biased.
-+              markOop header = (markOop) ((uintptr_t) mark &
-+                                          ((uintptr_t)markOopDesc::biased_lock_mask_in_place |
-+                                           (uintptr_t)markOopDesc::age_mask_in_place | epoch_mask_in_place));
-+              if (hash != markOopDesc::no_hash) {
-+                header = header->copy_set_hash(hash);
-+              }
-+              markOop new_header = (markOop) ((uintptr_t) header | thread_ident);
-+              // Debugging hint.
-+              DEBUG_ONLY(mon->lock()->set_displaced_header((markOop) (uintptr_t) 0xdeaddead);)
-+              if (Atomic::cmpxchg_ptr((void*)new_header, rcvr->mark_addr(), header) == header) {
-+                if (PrintBiasedLockingStatistics)
-+                  (* BiasedLocking::anonymously_biased_lock_entry_count_addr())++;
-+              }
-+              else {
-+                CALL_VM(InterpreterRuntime::monitorenter(THREAD, mon), handle_exception);
-+              }
-+              success = true;
++            success = true;
++          }
++        }
++
++        // Traditional lightweight locking.
++        if (!success) {
++          markOop displaced = rcvr->mark()->set_unlocked();
++          mon->lock()->set_displaced_header(displaced);
++          bool call_vm = UseHeavyMonitors;
++          if (call_vm || Atomic::cmpxchg_ptr(mon, rcvr->mark_addr(), displaced) != displaced) {
++            // Is it simple recursive case?
++            if (!call_vm && THREAD->is_lock_owned((address) displaced->clear_lock_bits())) {
++              mon->lock()->set_displaced_header(NULL);
++            } else {
++              CALL_VM(InterpreterRuntime::monitorenter(THREAD, mon), handle_exception);
              }
            }
-+
-+          // Traditional lightweight locking.
-           if (!success) {
-             markOop displaced = rcvr->mark()->set_unlocked();
-             mon->lock()->set_displaced_header(displaced);
+-          if (!success) {
+-            markOop displaced = rcvr->mark()->set_unlocked();
+-            mon->lock()->set_displaced_header(displaced);
 -            if (Atomic::cmpxchg_ptr(mon, rcvr->mark_addr(), displaced) != displaced) {
-+            // UseHeavyMonitors support in CC_INTERP.
-+            bool call_vm = UseHeavyMonitors;
-+            if (call_vm || Atomic::cmpxchg_ptr(mon, rcvr->mark_addr(), displaced) != displaced) {
-               // Is it simple recursive case?
+-              // Is it simple recursive case?
 -              if (THREAD->is_lock_owned((address) displaced->clear_lock_bits())) {
-+              if (!call_vm && THREAD->is_lock_owned((address) displaced->clear_lock_bits())) {
-                 mon->lock()->set_displaced_header(NULL);
-               } else {
-                 CALL_VM(InterpreterRuntime::monitorenter(THREAD, mon), handle_exception);
-@@ -857,15 +845,87 @@
+-                mon->lock()->set_displaced_header(NULL);
+-              } else {
+-                CALL_VM(InterpreterRuntime::monitorenter(THREAD, mon), handle_exception);
+-              }
+-            }
+-          }
++        }
+       }
+       THREAD->clr_do_not_unlock();
+ 
+@@ -863,15 +847,84 @@
        BasicObjectLock* entry = (BasicObjectLock*) istate->stack_base();
        assert(entry->obj() == NULL, "Frame manager didn't allocate the monitor");
        entry->set_obj(lockee);
@@ -200,8 +230,6 @@
 -        // Is it simple recursive case?
 -        if (THREAD->is_lock_owned((address) displaced->clear_lock_bits())) {
 -          entry->lock()->set_displaced_header(NULL);
--        } else {
--          CALL_VM(InterpreterRuntime::monitorenter(THREAD, entry), handle_exception);
 +      bool success = false;
 +      uintptr_t epoch_mask_in_place = (uintptr_t)markOopDesc::epoch_mask_in_place;
 +
@@ -222,34 +250,33 @@
 +            (* BiasedLocking::biased_lock_entry_count_addr())++;
 +          }
 +          success = true;
-+        }
-+        else if ((anticipated_bias_locking_value & markOopDesc::biased_lock_mask_in_place) != 0) {
++        } else if ((anticipated_bias_locking_value & markOopDesc::biased_lock_mask_in_place) != 0) {
 +          // try revoke bias
 +          markOop header = lockee->klass()->prototype_header();
 +          if (hash != markOopDesc::no_hash) {
 +            header = header->copy_set_hash(hash);
 +          }
 +          if (Atomic::cmpxchg_ptr(header, lockee->mark_addr(), mark) == mark) {
-+            if (PrintBiasedLockingStatistics)
++            if (PrintBiasedLockingStatistics) {
 +              (*BiasedLocking::revoked_lock_entry_count_addr())++;
++            }
 +          }
-+        }
-+        else if ((anticipated_bias_locking_value & epoch_mask_in_place) !=0) {
++        } else if ((anticipated_bias_locking_value & epoch_mask_in_place) !=0) {
 +          // try rebias
 +          markOop new_header = (markOop) ( (intptr_t) lockee->klass()->prototype_header() | thread_ident);
 +          if (hash != markOopDesc::no_hash) {
 +                new_header = new_header->copy_set_hash(hash);
 +          }
 +          if (Atomic::cmpxchg_ptr((void*)new_header, lockee->mark_addr(), mark) == mark) {
-+            if (PrintBiasedLockingStatistics)
++            if (PrintBiasedLockingStatistics) {
 +              (* BiasedLocking::rebiased_lock_entry_count_addr())++;
-+          }
-+          else {
++            }
++          } else {
 +            CALL_VM(InterpreterRuntime::monitorenter(THREAD, entry), handle_exception);
 +          }
 +          success = true;
-+        }
-+        else {
+         } else {
+-          CALL_VM(InterpreterRuntime::monitorenter(THREAD, entry), handle_exception);
 +          // try to bias towards thread in case object is anonymously biased
 +          markOop header = (markOop) ((uintptr_t) mark & ((uintptr_t)markOopDesc::biased_lock_mask_in_place |
 +                                                          (uintptr_t)markOopDesc::age_mask_in_place | epoch_mask_in_place));
@@ -260,10 +287,10 @@
 +          // debugging hint
 +          DEBUG_ONLY(entry->lock()->set_displaced_header((markOop) (uintptr_t) 0xdeaddead);)
 +          if (Atomic::cmpxchg_ptr((void*)new_header, lockee->mark_addr(), header) == header) {
-+            if (PrintBiasedLockingStatistics)
++            if (PrintBiasedLockingStatistics) {
 +              (* BiasedLocking::anonymously_biased_lock_entry_count_addr())++;
-+          }
-+          else {
++            }
++          } else {
 +            CALL_VM(InterpreterRuntime::monitorenter(THREAD, entry), handle_exception);
 +          }
 +          success = true;
@@ -274,7 +301,6 @@
 +      if (!success) {
 +        markOop displaced = lockee->mark()->set_unlocked();
 +        entry->lock()->set_displaced_header(displaced);
-+        // UseHeavyMonitors support in CC_INTERP.
 +        bool call_vm = UseHeavyMonitors;
 +        if (call_vm || Atomic::cmpxchg_ptr(entry, lockee->mark_addr(), displaced) != displaced) {
 +          // Is it simple recursive case?
@@ -286,7 +312,7 @@
          }
        }
        UPDATE_PC_AND_TOS(1, -1);
-@@ -1676,14 +1736,88 @@
+@@ -1682,14 +1735,87 @@
          }
          if (entry != NULL) {
            entry->set_obj(lockee);
@@ -371,7 +397,6 @@
 +          if (!success) {
 +            markOop displaced = lockee->mark()->set_unlocked();
 +            entry->lock()->set_displaced_header(displaced);
-+            // UseHeavyMonitors support in CC_INTERP
 +            bool call_vm = UseHeavyMonitors;
 +            if (call_vm || Atomic::cmpxchg_ptr(entry, lockee->mark_addr(), displaced) != displaced) {
 +              // Is it simple recursive case?
@@ -383,7 +408,7 @@
              }
            }
            UPDATE_PC_AND_TOS_AND_CONTINUE(1, -1);
-@@ -1705,12 +1839,16 @@
+@@ -1711,12 +1837,15 @@
              BasicLock* lock = most_recent->lock();
              markOop header = lock->displaced_header();
              most_recent->set_obj(NULL);
@@ -394,7 +419,6 @@
 -                most_recent->set_obj(lockee);
 -                CALL_VM(InterpreterRuntime::monitorexit(THREAD, most_recent), handle_exception);
 +            if (!lockee->mark()->has_bias_pattern()) {
-+              // UseHeavyMonitors support in CC_INTERP
 +              bool call_vm = UseHeavyMonitors;
 +              // If it isn't recursive we either must swap old header or call the runtime
 +              if (header != NULL || call_vm) {
@@ -406,7 +430,7 @@
                }
              }
              UPDATE_PC_AND_TOS_AND_CONTINUE(1, -1);
-@@ -2654,15 +2792,18 @@
+@@ -2660,15 +2789,18 @@
            BasicLock* lock = end->lock();
            markOop header = lock->displaced_header();
            end->set_obj(NULL);
@@ -434,7 +458,21 @@
                }
              }
            }
-@@ -2715,19 +2856,23 @@
+@@ -2717,23 +2849,37 @@
+               illegal_state_oop = THREAD->pending_exception();
+               THREAD->clear_pending_exception();
+             }
++          } else if (UseHeavyMonitors) {
++            {
++              // Prevent any HandleMarkCleaner from freeing our live handles.
++              HandleMark __hm(THREAD);
++              CALL_VM_NOCHECK(InterpreterRuntime::monitorexit(THREAD, base));
++            }
++            if (THREAD->has_pending_exception()) {
++              if (!suppress_error) illegal_state_oop = THREAD->pending_exception();
++              THREAD->clear_pending_exception();
++            }
+           } else {
              BasicLock* lock = base->lock();
              markOop header = lock->displaced_header();
              base->set_obj(NULL);
@@ -471,7 +509,7 @@
                  }
                }
              }
-@@ -2735,6 +2880,8 @@
+@@ -2741,6 +2887,8 @@
          }
        }
      }
@@ -480,7 +518,7 @@
  
      //
      // Notify jvmti/jvmdi
-@@ -3106,9 +3253,9 @@
+@@ -3112,9 +3260,9 @@
  }
  
  extern "C" {
@@ -493,10 +531,10 @@
  }
  #endif // PRODUCT
  
-diff -r 6ab73cb844ad src/share/vm/runtime/arguments.cpp
---- a/src/share/vm/runtime/arguments.cpp	Mon Apr 22 10:49:07 2013 +0200
-+++ b/src/share/vm/runtime/arguments.cpp	Fri Apr 26 10:04:44 2013 +0200
-@@ -3321,8 +3321,10 @@
+diff -r 83aa1249d250 src/share/vm/runtime/arguments.cpp
+--- a/src/share/vm/runtime/arguments.cpp	Thu Jun 20 13:37:18 2013 +0200
++++ b/src/share/vm/runtime/arguments.cpp	Fri Jun 21 15:41:45 2013 +0200
+@@ -3573,8 +3573,10 @@
  
  #ifdef CC_INTERP
    // Clear flags not supported by the C++ interpreter
@@ -508,9 +546,9 @@
    LP64_ONLY(FLAG_SET_DEFAULT(UseCompressedOops, false));
    LP64_ONLY(FLAG_SET_DEFAULT(UseCompressedKlassPointers, false));
  #endif // CC_INTERP
-diff -r 6ab73cb844ad src/share/vm/runtime/biasedLocking.cpp
---- a/src/share/vm/runtime/biasedLocking.cpp	Mon Apr 22 10:49:07 2013 +0200
-+++ b/src/share/vm/runtime/biasedLocking.cpp	Fri Apr 26 10:04:44 2013 +0200
+diff -r 83aa1249d250 src/share/vm/runtime/biasedLocking.cpp
+--- a/src/share/vm/runtime/biasedLocking.cpp	Thu Jun 20 13:37:18 2013 +0200
++++ b/src/share/vm/runtime/biasedLocking.cpp	Fri Jun 21 15:41:45 2013 +0200
 @@ -233,8 +233,10 @@
      // Fix up highest lock to contain displaced header and point
      // object at it
--- a/ppc_patches/0008_linux_ppc_make_changes.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0008_linux_ppc_make_changes.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,35 +1,58 @@
 # HG changeset patch
-# Parent ee168801255a79d41276bf68d1aa50cc3c49a0c3
+# Parent fd2e85145852a8f76b7788983a5a23b8d259ab69
 make: Implement linux ppc64 support in makefiles.
 
-diff -r ee168801255a make/defs.make
---- a/make/defs.make	Thu Jun 20 13:37:18 2013 +0200
-+++ b/make/defs.make	Thu Jun 20 13:37:46 2013 +0200
-@@ -19,7 +19,7 @@
- # 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.
--#  
-+#
- #
+diff -r fd2e85145852 make/Makefile
+--- a/make/Makefile	Mon Jun 24 11:05:23 2013 +0200
++++ b/make/Makefile	Mon Jun 24 12:30:45 2013 +0200
+@@ -177,7 +177,7 @@
  
- # The common definitions for hotspot builds.
-@@ -236,7 +236,7 @@
-   JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
+ $(CORE_VM_TARGETS):
+ 	$(CD) $(GAMMADIR)/make; \
+-	$(MAKE) BUILD_DIR=$(CORE_DIR) BUILD_FLAVOR=$(@:$core=%) VM_TARGET=$@ generic_buildcore $(ALT_OUT)
++	$(MAKE) BUILD_DIR=$(CORE_DIR) BUILD_FLAVOR=$(@:%core=%) VM_TARGET=$@ generic_buildcore $(ALT_OUT)
+ 
+ $(ZERO_VM_TARGETS):
+ 	$(CD) $(GAMMADIR)/make; \
+@@ -478,22 +478,22 @@
+ # Core
+ ifeq ($(JVM_VARIANT_CORE), true)
+ # Common
+-$(EXPORT_LIB_DIR)/%.jar:			$(CORE_DIR)/../generated/%.jar
++$(EXPORT_LIB_DIR)/%.jar:			$(CORE_BUILD_DIR)/../generated/%.jar
+ 	$(install-file)
+-$(EXPORT_INCLUDE_DIR)/%:			$(CORE_DIR)/../generated/jvmtifiles/%
++$(EXPORT_INCLUDE_DIR)/%:			$(CORE_BUILD_DIR)/../generated/jvmtifiles/%
+ 	$(install-file)
+ # Unix
+-$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(CORE_DIR)/%.$(LIBRARY_SUFFIX)
++$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX):	$(CORE_BUILD_DIR)/%.$(LIBRARY_SUFFIX)
+ 	$(install-file)
+-$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo:	$(CORE_DIR)/%.debuginfo
++$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo:		$(CORE_BUILD_DIR)/%.debuginfo
+ 	$(install-file)
+-$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz:		$(CORE_DIR)/%.diz
++$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz:		$(CORE_BUILD_DIR)/%.diz
+ 	$(install-file)
+-$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX):      $(CORE_DIR)/%.$(LIBRARY_SUFFIX)
++$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX):	$(CORE_BUILD_DIR)/%.$(LIBRARY_SUFFIX)
+ 	$(install-file)
+-$(EXPORT_SERVER_DIR)/%.debuginfo:		$(CORE_DIR)/%.debuginfo
++$(EXPORT_SERVER_DIR)/%.debuginfo:		$(CORE_BUILD_DIR)/%.debuginfo
+ 	$(install-file)
+-$(EXPORT_SERVER_DIR)/%.diz:			$(CORE_DIR)/%.diz
++$(EXPORT_SERVER_DIR)/%.diz:			$(CORE_BUILD_DIR)/%.diz
+ 	$(install-file)
  endif
  
--# The platform dependent defs.make defines platform specific variable such 
-+# The platform dependent defs.make defines platform specific variable such
- # as ARCH, EXPORT_LIST etc. We must place the include here after BOOTDIR is defined.
- include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
- 
-@@ -258,8 +258,8 @@
-   #   LIBARCH   - directory name in JDK/JRE
+diff -r fd2e85145852 make/defs.make
+--- a/make/defs.make	Mon Jun 24 11:05:23 2013 +0200
++++ b/make/defs.make	Mon Jun 24 12:30:45 2013 +0200
+@@ -259,7 +259,7 @@
  
    # Use uname output for SRCARCH, but deal with platform differences. If ARCH
--  # is not explicitly listed below, it is treated as x86. 
+   # is not explicitly listed below, it is treated as x86.
 -  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH)))
-+  # is not explicitly listed below, it is treated as x86.
 +  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc ppc64 zero,$(ARCH)))
    ARCH/       = x86
    ARCH/sparc  = sparc
@@ -63,10 +86,10 @@
  endif
  
  # Required make macro settings for all platforms
-diff -r ee168801255a make/linux/makefiles/buildtree.make
---- a/make/linux/makefiles/buildtree.make	Thu Jun 20 13:37:18 2013 +0200
-+++ b/make/linux/makefiles/buildtree.make	Thu Jun 20 13:37:46 2013 +0200
-@@ -191,6 +191,7 @@
+diff -r fd2e85145852 make/linux/makefiles/buildtree.make
+--- a/make/linux/makefiles/buildtree.make	Mon Jun 24 11:05:23 2013 +0200
++++ b/make/linux/makefiles/buildtree.make	Mon Jun 24 12:30:45 2013 +0200
+@@ -193,6 +193,7 @@
  DATA_MODE/sparc = 32
  DATA_MODE/sparcv9 = 64
  DATA_MODE/amd64 = 64
@@ -74,9 +97,9 @@
  
  DATA_MODE = $(DATA_MODE/$(BUILDARCH))
  
-diff -r ee168801255a make/linux/makefiles/defs.make
---- a/make/linux/makefiles/defs.make	Thu Jun 20 13:37:18 2013 +0200
-+++ b/make/linux/makefiles/defs.make	Thu Jun 20 13:37:46 2013 +0200
+diff -r fd2e85145852 make/linux/makefiles/defs.make
+--- a/make/linux/makefiles/defs.make	Mon Jun 24 11:05:23 2013 +0200
++++ b/make/linux/makefiles/defs.make	Mon Jun 24 12:30:45 2013 +0200
 @@ -132,6 +132,15 @@
    endif
  endif
@@ -93,6 +116,15 @@
  # determine if HotSpot is being built in JDK6 or earlier version
  JDK6_OR_EARLIER=0
  ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
+@@ -255,7 +264,7 @@
+ EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
+ EXPORT_MINIMAL_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/minimal
+ 
+-ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
++ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK) $(JVM_VARIANT_CORE)), true)
+   EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
+   EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
+   ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
 @@ -308,6 +317,7 @@
    endif
  endif
@@ -101,10 +133,10 @@
  ADD_SA_BINARIES/ia64  =
  ADD_SA_BINARIES/arm   =
  ADD_SA_BINARIES/zero  =
-diff -r ee168801255a make/linux/makefiles/gcc.make
---- a/make/linux/makefiles/gcc.make	Thu Jun 20 13:37:18 2013 +0200
-+++ b/make/linux/makefiles/gcc.make	Thu Jun 20 13:37:46 2013 +0200
-@@ -101,6 +101,7 @@
+diff -r fd2e85145852 make/linux/makefiles/gcc.make
+--- a/make/linux/makefiles/gcc.make	Mon Jun 24 11:05:23 2013 +0200
++++ b/make/linux/makefiles/gcc.make	Mon Jun 24 12:30:45 2013 +0200
+@@ -181,6 +181,7 @@
  ifndef E500V2
  ARCHFLAG/ppc     =  -mcpu=powerpc
  endif
@@ -112,33 +144,33 @@
  
  CFLAGS     += $(ARCHFLAG)
  AOUT_FLAGS += $(ARCHFLAG)
-@@ -235,6 +236,7 @@
+@@ -346,6 +347,7 @@
    DEBUG_CFLAGS/amd64 = -g
    DEBUG_CFLAGS/arm   = -g
    DEBUG_CFLAGS/ppc   = -g
 +  DEBUG_CFLAGS/ppc64 = -g
    DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
    ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
-     DEBUG_CFLAGS += -gstabs
-@@ -245,6 +247,7 @@
+       ifeq ($(USE_CLANG), true)
+@@ -361,6 +363,7 @@
      FASTDEBUG_CFLAGS/amd64 = -g
      FASTDEBUG_CFLAGS/arm   = -g
      FASTDEBUG_CFLAGS/ppc   = -g
 +    FASTDEBUG_CFLAGS/ppc64 = -g
      FASTDEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
      ifeq ($(FASTDEBUG_CFLAGS/$(BUILDARCH)),)
-       FASTDEBUG_CFLAGS += -gstabs
-@@ -254,6 +257,7 @@
+       ifeq ($(USE_CLANG), true)
+@@ -375,6 +378,7 @@
      OPT_CFLAGS/amd64 = -g
      OPT_CFLAGS/arm   = -g
      OPT_CFLAGS/ppc   = -g
 +    OPT_CFLAGS/ppc64 = -g
      OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH))
      ifeq ($(OPT_CFLAGS/$(BUILDARCH)),)
-       OPT_CFLAGS += -gstabs
-diff -r ee168801255a make/linux/makefiles/ppc64.make
+       ifeq ($(USE_CLANG), true)
+diff -r fd2e85145852 make/linux/makefiles/ppc64.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/linux/makefiles/ppc64.make	Thu Jun 20 13:37:46 2013 +0200
++++ b/make/linux/makefiles/ppc64.make	Mon Jun 24 12:30:45 2013 +0200
 @@ -0,0 +1,52 @@
 +#
 +# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -192,10 +224,10 @@
 +AOUT_FLAGS += -m64
 +AOUT_FLAGS += -L/lib64
 +AOUT_FLAGS +=  -Wl,-melf64ppc
-diff -r ee168801255a make/linux/makefiles/vm.make
---- a/make/linux/makefiles/vm.make	Thu Jun 20 13:37:18 2013 +0200
-+++ b/make/linux/makefiles/vm.make	Thu Jun 20 13:37:46 2013 +0200
-@@ -155,8 +155,8 @@
+diff -r fd2e85145852 make/linux/makefiles/vm.make
+--- a/make/linux/makefiles/vm.make	Mon Jun 24 11:05:23 2013 +0200
++++ b/make/linux/makefiles/vm.make	Mon Jun 24 12:30:45 2013 +0200
+@@ -149,8 +149,8 @@
        \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
  SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
  SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
@@ -204,11 +236,11 @@
 +SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(SRCARCH)/vm
 +SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_family)_$(SRCARCH)/vm
  
- ifndef JAVASE_EMBEDDED 
- ifneq (${ARCH},arm)
-diff -r ee168801255a make/linux/platform_ppc64
+ CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
+ CORE_PATHS+=$(GENERATED)/jvmtifiles $(GENERATED)/tracefiles
+diff -r fd2e85145852 make/linux/platform_ppc64
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/linux/platform_ppc64	Thu Jun 20 13:37:46 2013 +0200
++++ b/make/linux/platform_ppc64	Mon Jun 24 12:30:45 2013 +0200
 @@ -0,0 +1,17 @@
 +os_family = linux
 +
--- a/ppc_patches/0009_linux_ppc_files.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0009_linux_ppc_files.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent 3e9959465be9118820f655ed987fa9fdf7f3f2d2
+# Parent ebd8e5f0807c89743a86df94752167835540ad88
 ppc: PPC platform files as required to start up the interpreter.
 
 With this change the HotSpot (libjvm.so) compiles and
@@ -12,9 +12,9 @@
 ------------
 ALT_BOOTDIR=/sapmnt/depot/tools/gen/linuxppc64/licenseware/jse/1.7.0 ALT_OUTPUTDIR=/priv/d046063/OpenJDK/output_dbg_ppc64 CC_INTERP=true OPENJDK=true ARCH_DATA_MODEL=64 MAKE_VERBOSE=y HOTSPOT_BUILD_JOBS=1 make jvmgcore 2>&1 | tee /priv/d046063/OpenJDK/output_dbg_ppc64.log
 
-diff -r 3e9959465be9 src/cpu/ppc/vm/assembler_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/assembler_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/assembler_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/assembler_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,700 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -716,9 +716,9 @@
 +  code()->decode();
 +}
 +#endif // !PRODUCT
-diff -r 3e9959465be9 src/cpu/ppc/vm/assembler_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/assembler_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/assembler_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/assembler_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,1963 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -2683,9 +2683,9 @@
 +
 +
 +#endif // CPU_PPC_VM_ASSEMBLER_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/assembler_ppc.inline.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/assembler_ppc.inline.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/assembler_ppc.inline.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/assembler_ppc.inline.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,792 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -3479,9 +3479,9 @@
 +
 +
 +#endif // CPU_PPC_VM_ASSEMBLER_PPC_INLINE_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/bytecodeInterpreter_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/bytecodeInterpreter_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/bytecodeInterpreter_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/bytecodeInterpreter_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,105 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -3588,9 +3588,9 @@
 +
 +
 +#endif // CPU_PPC_VM_BYTECODEINTERPRETER_PPC_PP
-diff -r 3e9959465be9 src/cpu/ppc/vm/bytecodeInterpreter_ppc.inline.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/bytecodeInterpreter_ppc.inline.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/bytecodeInterpreter_ppc.inline.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/bytecodeInterpreter_ppc.inline.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,290 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -3882,9 +3882,9 @@
 +#endif // CC_INTERP
 +
 +#endif // CPU_PPC_VM_BYTECODEINTERPRETER_PPC_INLINE_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/bytecodes_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/bytecodes_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/bytecodes_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/bytecodes_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,31 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -3917,9 +3917,9 @@
 +void Bytecodes::pd_initialize() {
 +  // No ppc specific initialization.
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/bytecodes_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/bytecodes_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/bytecodes_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/bytecodes_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,31 @@
 +/*
 + * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -3952,9 +3952,9 @@
 +// No ppc64 specific bytecodes
 +
 +#endif // CPU_PPC_VM_BYTECODES_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/bytes_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/bytes_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/bytes_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/bytes_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,156 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -4112,9 +4112,9 @@
 +};
 +
 +#endif // CPU_PPC_VM_BYTES_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/codeBuffer_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/codeBuffer_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/codeBuffer_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/codeBuffer_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,35 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -4151,9 +4151,9 @@
 +  void flush_bundle(bool start_new_bundle) {}
 +
 +#endif // CPU_PPC_VM_CODEBUFFER_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/compiledIC_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/compiledIC_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/compiledIC_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/compiledIC_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,261 @@
 +/*
 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -4416,9 +4416,9 @@
 +}
 +
 +#endif // !PRODUCT
-diff -r 3e9959465be9 src/cpu/ppc/vm/copy_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/copy_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/copy_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/copy_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,163 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -4583,9 +4583,9 @@
 +}
 +
 +#endif // CPU_PPC_VM_COPY_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/cppInterpreterGenerator_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/cppInterpreterGenerator_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/cppInterpreterGenerator_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/cppInterpreterGenerator_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,43 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -4630,9 +4630,9 @@
 +  void generate_compute_interpreter_state(Label& exception_return);
 +
 +#endif // CPU_PPC_VM_CPPINTERPRETERGENERATOR_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/cppInterpreter_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/cppInterpreter_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/cppInterpreter_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/cppInterpreter_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,3053 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -7687,9 +7687,9 @@
 +}
 +
 +#endif // CC_INTERP
-diff -r 3e9959465be9 src/cpu/ppc/vm/cppInterpreter_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/cppInterpreter_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/cppInterpreter_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/cppInterpreter_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,39 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -7730,9 +7730,9 @@
 +  const static int InterpreterCodeSize = 12*K;
 +
 +#endif // CPU_PPC_VM_CPPINTERPRETER_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/debug_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/debug_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/debug_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/debug_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,35 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -7769,9 +7769,9 @@
 +#include "utilities/top.hpp"
 +
 +void pd_ps(frame f) {}
-diff -r 3e9959465be9 src/cpu/ppc/vm/depChecker_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/depChecker_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/depChecker_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/depChecker_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,31 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -7804,9 +7804,9 @@
 +// Nothing to do on ppc64
 +
 +#endif // CPU_PPC_VM_DEPCHECKER_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/disassembler_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/disassembler_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/disassembler_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/disassembler_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,37 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -7845,9 +7845,9 @@
 +  }
 +
 +#endif // CPU_PPC_VM_DISASSEMBLER_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/frame_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/frame_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/frame_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/frame_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,306 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -8155,9 +8155,9 @@
 +  // unused... but returns fp() to minimize changes introduced by 7087445
 +  return fp();
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/frame_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/frame_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/frame_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/frame_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,449 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -8608,9 +8608,9 @@
 +  };
 +
 +#endif // CPU_PPC_VM_FRAME_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/frame_ppc.inline.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/frame_ppc.inline.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/frame_ppc.inline.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/frame_ppc.inline.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,239 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -8851,9 +8851,9 @@
 +}
 +
 +#endif // CPU_PPC_VM_FRAME_PPC_INLINE_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/globalDefinitions_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/globalDefinitions_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/globalDefinitions_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/globalDefinitions_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,34 @@
 +/*
 + * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -8889,9 +8889,9 @@
 +const int StackAlignmentInBytes  = 16;
 +
 +#endif // CPU_PPC_VM_GLOBALDEFINITIONS_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/globals_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/globals_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/globals_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/globals_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,116 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -9009,9 +9009,9 @@
 +
 +
 +#endif // CPU_PPC_VM_GLOBALS_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/icBuffer_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/icBuffer_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/icBuffer_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/icBuffer_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,71 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -9084,9 +9084,9 @@
 +  void* o = (void*)move->data();
 +  return o;
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/icache_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/icache_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/icache_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/icache_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,77 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -9165,9 +9165,9 @@
 +  // First call to flush itself
 +  ICache::invalidate_range((address)(*flush_icache_stub), 0);
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/icache_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/icache_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/icache_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/icache_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,44 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -9213,9 +9213,9 @@
 +};
 +
 +#endif // CPU_PPC_VM_ICACHE_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/interp_masm_ppc_64.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/interp_masm_ppc_64.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/interp_masm_ppc_64.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/interp_masm_ppc_64.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,504 @@
 +/*
 + * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -9721,9 +9721,9 @@
 +  ppc_ld(PPC_prev_state, state_(_prev_link));
 +}
 +#endif // CC_INTERP
-diff -r 3e9959465be9 src/cpu/ppc/vm/interp_masm_ppc_64.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/interp_masm_ppc_64.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/interp_masm_ppc_64.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/interp_masm_ppc_64.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,89 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -9814,9 +9814,9 @@
 +};
 +
 +#endif // CPU_PPC_VM_INTERP_MASM_PPC_64_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/interpreterGenerator_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/interpreterGenerator_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/interpreterGenerator_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/interpreterGenerator_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,37 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -9855,9 +9855,9 @@
 +  address generate_Reference_get_entry(void);
 +
 +#endif // CPU_PPC_VM_INTERPRETERGENERATOR_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/interpreterRT_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/interpreterRT_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/interpreterRT_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/interpreterRT_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,150 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10009,9 +10009,9 @@
 +  assert(m->is_native(), "sanity check");
 +  return AbstractInterpreter::result_handler(m->result_type());
 +IRT_END
-diff -r 3e9959465be9 src/cpu/ppc/vm/interpreterRT_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/interpreterRT_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/interpreterRT_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/interpreterRT_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,62 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10075,9 +10075,9 @@
 +static address get_signature(JavaThread* thread, Method* method);
 +
 +#endif // CPU_PPC_VM_INTERPRETERRT_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/interpreter_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/interpreter_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/interpreter_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/interpreter_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,738 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10817,9 +10817,9 @@
 +
 +  assert(f->is_interpreted_frame(), "must be interpreted");
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/interpreter_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/interpreter_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/interpreter_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/interpreter_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,42 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10863,9 +10863,9 @@
 +  }
 +
 +#endif // CPU_PPC_VM_INTERPRETER_PPC_PP
-diff -r 3e9959465be9 src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,82 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10949,9 +10949,9 @@
 +  void set_last_Java_sp(intptr_t* sp) { OrderAccess::release(); _last_Java_sp = sp; }
 +
 +#endif // CPU_PPC_VM_JAVAFRAMEANCHOR_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/jniFastGetField_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/jniFastGetField_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/jniFastGetField_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/jniFastGetField_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,75 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -11028,9 +11028,9 @@
 +address JNI_FastGetField::generate_fast_get_double_field() {
 +  return generate_fast_get_float_field0(T_DOUBLE);
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/jniTypes_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/jniTypes_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/jniTypes_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/jniTypes_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,110 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -11142,9 +11142,9 @@
 +};
 +
 +#endif // CPU_PPC_VM_JNITYPES_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/jni_ppc.h
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/jni_ppc.h	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/jni_ppc.h
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/jni_ppc.h	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,53 @@
 +/*
 + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -11199,9 +11199,9 @@
 +typedef signed char jbyte;
 +
 +#endif // CPU_PPC_VM_JNI_PPC_H
-diff -r 3e9959465be9 src/cpu/ppc/vm/macroAssembler_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/macroAssembler_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/macroAssembler_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/macroAssembler_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,3016 @@
 +/*
 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -14219,9 +14219,9 @@
 +}
 +
 +#endif // !PRODUCT
-diff -r 3e9959465be9 src/cpu/ppc/vm/macroAssembler_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/macroAssembler_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/macroAssembler_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/macroAssembler_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,662 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -14885,9 +14885,9 @@
 +};
 +
 +#endif // CPU_PPC_VM_MACROASSEMBLER_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,382 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -15271,9 +15271,9 @@
 +}
 +
 +#endif // CPU_PPC_VM_MACROASSEMBLER_PPC_INLINE_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/metaspaceShared_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/metaspaceShared_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/metaspaceShared_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/metaspaceShared_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,61 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -15336,9 +15336,9 @@
 +  Unimplemented();
 +}
 +
-diff -r 3e9959465be9 src/cpu/ppc/vm/methodHandles_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/methodHandles_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/methodHandles_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/methodHandles_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,540 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -15880,9 +15880,9 @@
 +  BLOCK_COMMENT("} trace_method_handle");
 +}
 +#endif // PRODUCT
-diff -r 3e9959465be9 src/cpu/ppc/vm/methodHandles_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/methodHandles_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/methodHandles_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/methodHandles_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,62 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -15946,9 +15946,9 @@
 +                                  Register recv, Register method_temp,
 +                                  Register temp2, Register temp3,
 +                                  bool for_compiler_entry);
-diff -r 3e9959465be9 src/cpu/ppc/vm/nativeInst_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/nativeInst_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/nativeInst_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/nativeInst_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,381 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -16331,9 +16331,9 @@
 +  *(address*)(ctable + destination_toc_offset()) = new_destination;
 +}
 +
-diff -r 3e9959465be9 src/cpu/ppc/vm/nativeInst_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/nativeInst_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/nativeInst_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/nativeInst_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,397 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -16732,9 +16732,9 @@
 +}
 +
 +#endif // CPU_PPC_VM_NATIVEINST_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/registerMap_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/registerMap_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/registerMap_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/registerMap_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,45 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -16781,9 +16781,9 @@
 +  void pd_initialize_from(const RegisterMap* map) {}
 +
 +#endif // CPU_PPC_VM_REGISTERMAP_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/register_definitions_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/register_definitions_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/register_definitions_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/register_definitions_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,42 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -16827,9 +16827,9 @@
 +REGISTER_DEFINITION(Register, noreg);
 +
 +REGISTER_DEFINITION(FloatRegister, fnoreg);
-diff -r 3e9959465be9 src/cpu/ppc/vm/register_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/register_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/register_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/register_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,77 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -16908,9 +16908,9 @@
 +  };
 +  return is_valid() ? names[encoding()] : "vnoreg";
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/register_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/register_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/register_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/register_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,635 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -17547,9 +17547,9 @@
 +#endif
 +
 +#endif // CPU_PPC_VM_REGISTER_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/relocInfo_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/relocInfo_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/relocInfo_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/relocInfo_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,145 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -17696,9 +17696,9 @@
 +
 +void metadata_Relocation::pd_fix_value(address x) {
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/relocInfo_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/relocInfo_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/relocInfo_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/relocInfo_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,46 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -17746,9 +17746,9 @@
 +  };
 +
 +#endif // CPU_PPC_VM_RELOCINFO_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/sharedRuntime_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/sharedRuntime_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/sharedRuntime_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/sharedRuntime_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,3208 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -20958,9 +20958,9 @@
 +  return RuntimeStub::new_runtime_stub(name, &buffer, frame_complete, frame_size_in_bytes/wordSize,
 +                                       oop_maps, true);
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/stubGenerator_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/stubGenerator_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/stubGenerator_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/stubGenerator_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,2058 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -23020,9 +23020,9 @@
 +void StubGenerator_generate(CodeBuffer* code, bool all) {
 +  StubGenerator g(code, all);
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/stubRoutines_ppc_64.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/stubRoutines_ppc_64.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/stubRoutines_ppc_64.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/stubRoutines_ppc_64.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,40 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -23064,9 +23064,9 @@
 +// a description of how to extend it, see the stubRoutines.hpp file.
 +
 +
-diff -r 3e9959465be9 src/cpu/ppc/vm/stubRoutines_ppc_64.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/stubRoutines_ppc_64.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/stubRoutines_ppc_64.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/stubRoutines_ppc_64.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,40 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -23094,7 +23094,7 @@
 + */
 +
 +#ifndef CPU_PPC_VM_STUBROUTINES_PPC_64_HPP
-+#define CPU_PPC_VM_STUBROUTINES_OJDKPPC_HPP
++#define CPU_PPC_VM_STUBROUTINES_PPC_64_HPP
 +
 +// This file holds the platform specific parts of the StubRoutines
 +// definition. See stubRoutines.hpp for a description on how to
@@ -23108,9 +23108,9 @@
 +};
 +
 +#endif // CPU_PPC_VM_STUBROUTINES_PPC_64_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/vmStructs_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/vmStructs_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/vmStructs_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/vmStructs_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,41 @@
 +/*
 + * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -23153,9 +23153,9 @@
 +#define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
 +
 +#endif // CPU_PPC_VM_VMSTRUCTS_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/vm_version_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/vm_version_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/vm_version_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/vm_version_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,472 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -23629,9 +23629,9 @@
 +void VM_Version::revert() {
 +  _features = saved_features;
 +}
-diff -r 3e9959465be9 src/cpu/ppc/vm/vm_version_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/vm_version_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/vm_version_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/vm_version_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,93 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -23726,9 +23726,9 @@
 +};
 +
 +#endif // CPU_PPC_VM_VM_VERSION_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/vmreg_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/vmreg_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/vmreg_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/vmreg_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,51 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -23781,9 +23781,9 @@
 +  }
 +}
 +
-diff -r 3e9959465be9 src/cpu/ppc/vm/vmreg_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/vmreg_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/vmreg_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/vmreg_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,35 @@
 +/*
 + * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -23820,9 +23820,9 @@
 +  FloatRegister as_FloatRegister();
 +
 +#endif // CPU_PPC_VM_VMREG_PPC_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/vmreg_ppc.inline.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/vmreg_ppc.inline.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/vmreg_ppc.inline.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/vmreg_ppc.inline.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,71 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -23895,9 +23895,9 @@
 +}
 +
 +#endif // CPU_PPC_VM_VMREG_PPC_INLINE_HPP
-diff -r 3e9959465be9 src/cpu/ppc/vm/vtableStubs_ppc_64.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/cpu/ppc/vm/vtableStubs_ppc_64.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/cpu/ppc/vm/vtableStubs_ppc_64.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/cpu/ppc/vm/vtableStubs_ppc_64.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,269 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -24168,9 +24168,9 @@
 +  const unsigned int icache_line_size = 32;
 +  return icache_line_size;
 +}
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/atomic_linux_ppc.inline.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/atomic_linux_ppc.inline.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/atomic_linux_ppc.inline.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/atomic_linux_ppc.inline.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,401 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -24573,9 +24573,9 @@
 +#undef strasm_ppc_nobarrier_clobber_memory
 +
 +#endif // OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_INLINE_HPP
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,54 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -24631,9 +24631,9 @@
 +define_pd_global(bool, UseVectoredExceptions,    false);
 +
 +#endif // OS_CPU_LINUX_PPC_VM_GLOBALS_LINUX_PPC_HPP
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/orderAccess_linux_ppc.inline.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/orderAccess_linux_ppc.inline.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/orderAccess_linux_ppc.inline.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/orderAccess_linux_ppc.inline.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,145 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -24780,9 +24780,9 @@
 +#undef inlasm_ppc_fence
 +
 +#endif // OS_CPU_LINUX_PPC_VM_ORDERACCESS_LINUX_PPC_INLINE_HPP
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,617 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -25401,9 +25401,9 @@
 +  assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment");
 +}
 +#endif
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/os_linux_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/os_linux_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/os_linux_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/os_linux_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,35 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -25440,9 +25440,9 @@
 +  static bool register_code_area(char *low, char *high) { return true; }
 +
 +#endif // OS_CPU_LINUX_PPC_VM_OS_LINUX_PPC_HPP
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,50 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -25494,9 +25494,9 @@
 +}
 +
 +#endif // OS_CPU_LINUX_PPC_VM_PREFETCH_LINUX_OJDKPPC_HPP
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,39 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -25537,9 +25537,9 @@
 +void ThreadLocalStorage::pd_set_thread(Thread* thread) {
 +  os::thread_local_storage_at_put(ThreadLocalStorage::thread_index(), thread);
 +}
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/threadLS_linux_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,36 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -25577,9 +25577,9 @@
 +  }
 +
 +#endif // OS_CPU_LINUX_PPC_VM_THREADLS_LINUX_PPC_HPP
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,36 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -25617,9 +25617,9 @@
 +}
 +
 +void JavaThread::cache_global_variables() { }
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/thread_linux_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/thread_linux_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/thread_linux_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/thread_linux_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,83 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -25704,9 +25704,9 @@
 +  intptr_t* last_interpreter_fp() { return _last_interpreter_fp; }
 +
 +#endif // OS_CPU_LINUX_PPC_VM_THREAD_LINUX_PPC_HPP
-diff -r 3e9959465be9 src/os_cpu/linux_ppc/vm/vmStructs_linux_ppc.hpp
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/linux_ppc/vm/vmStructs_linux_ppc.hpp	Thu Jun 20 13:32:16 2013 +0200
+diff -r ebd8e5f0807c src/os_cpu/linux_ppc/vm/vmStructs_linux_ppc.hpp
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/os_cpu/linux_ppc/vm/vmStructs_linux_ppc.hpp	Mon Jun 24 14:43:43 2013 +0200
 @@ -0,0 +1,55 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
--- a/ppc_patches/0011_AIX_IA64_preprocessor_conditionals.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0011_AIX_IA64_preprocessor_conditionals.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,10 +1,10 @@
 # HG changeset patch
-# Parent a0df3c284c8a77307dcd46e2dab9097d716bfa4a
+# Parent ce9da2e6c5ef0998b09a7b7c7075162ed0e1db89
 shared: Fix IA64 preprocessor conditionals on AIX.
 
-diff -r a0df3c284c8a src/share/vm/opto/generateOptoStub.cpp
---- a/src/share/vm/opto/generateOptoStub.cpp	Mon Mar 11 10:51:02 2013 +0100
-+++ b/src/share/vm/opto/generateOptoStub.cpp	Mon Mar 11 11:08:48 2013 +0100
+diff -r ce9da2e6c5ef src/share/vm/opto/generateOptoStub.cpp
+--- a/src/share/vm/opto/generateOptoStub.cpp	Mon Jun 24 10:24:04 2013 +0200
++++ b/src/share/vm/opto/generateOptoStub.cpp	Mon Jun 24 10:25:16 2013 +0200
 @@ -214,7 +214,7 @@
  #if defined(SPARC)
    store_to_memory(NULL, adr_flags, intcon(0), T_INT, NoAlias);
@@ -14,10 +14,10 @@
    Node* adr_last_Java_fp = basic_plus_adr(top(), thread, in_bytes(JavaThread::last_Java_fp_offset()));
    if( os::is_MP() ) insert_mem_bar(Op_MemBarRelease);
    store_to_memory(NULL, adr_last_Java_fp,    null(),    T_ADDRESS, NoAlias);
-diff -r a0df3c284c8a src/share/vm/opto/output.cpp
---- a/src/share/vm/opto/output.cpp	Mon Mar 11 10:51:02 2013 +0100
-+++ b/src/share/vm/opto/output.cpp	Mon Mar 11 11:08:48 2013 +0100
-@@ -1070,7 +1070,7 @@
+diff -r ce9da2e6c5ef src/share/vm/opto/output.cpp
+--- a/src/share/vm/opto/output.cpp	Mon Jun 24 10:24:04 2013 +0200
++++ b/src/share/vm/opto/output.cpp	Mon Jun 24 10:25:16 2013 +0200
+@@ -1065,7 +1065,7 @@
    // Compute prolog code size
    _method_size = 0;
    _frame_slots = OptoReg::reg2stack(_matcher->_old_SP)+_regalloc->_framesize;
@@ -26,10 +26,10 @@
    if (save_argument_registers()) {
      // 4815101: this is a stub with implicit and unknown precision fp args.
      // The usual spill mechanism can only generate stfd's in this case, which
-diff -r a0df3c284c8a src/share/vm/prims/forte.cpp
---- a/src/share/vm/prims/forte.cpp	Mon Mar 11 10:51:02 2013 +0100
-+++ b/src/share/vm/prims/forte.cpp	Mon Mar 11 11:08:48 2013 +0100
-@@ -55,7 +55,7 @@
+diff -r ce9da2e6c5ef src/share/vm/prims/forte.cpp
+--- a/src/share/vm/prims/forte.cpp	Mon Jun 24 10:24:04 2013 +0200
++++ b/src/share/vm/prims/forte.cpp	Mon Jun 24 10:25:16 2013 +0200
+@@ -70,7 +70,7 @@
  // Native interfaces for use by Forte tools.
  
  
@@ -38,7 +38,7 @@
  
  class vframeStreamForte : public vframeStreamCommon {
   public:
-@@ -626,7 +626,7 @@
+@@ -627,7 +627,7 @@
  #endif // !IA64
  
  void Forte::register_stub(const char* name, address start, address end) {
@@ -47,10 +47,10 @@
    assert(pointer_delta(end, start, sizeof(jbyte)) < INT_MAX,
           "Code size exceeds maximum range");
  
-diff -r a0df3c284c8a src/share/vm/runtime/objectMonitor.cpp
---- a/src/share/vm/runtime/objectMonitor.cpp	Mon Mar 11 10:51:02 2013 +0100
-+++ b/src/share/vm/runtime/objectMonitor.cpp	Mon Mar 11 11:08:48 2013 +0100
-@@ -51,14 +51,6 @@
+diff -r ce9da2e6c5ef src/share/vm/runtime/objectMonitor.cpp
+--- a/src/share/vm/runtime/objectMonitor.cpp	Mon Jun 24 10:24:04 2013 +0200
++++ b/src/share/vm/runtime/objectMonitor.cpp	Mon Jun 24 10:25:16 2013 +0200
+@@ -54,14 +54,6 @@
  # include "os_bsd.inline.hpp"
  #endif
  
@@ -65,7 +65,7 @@
  #ifdef DTRACE_ENABLED
  
  // Only bother with this argument setup if dtrace is available
-@@ -310,7 +302,7 @@
+@@ -313,7 +305,7 @@
    }
  }
  
@@ -74,7 +74,7 @@
    // The following code is ordered to check the most common cases first
    // and to reduce RTS->RTO cache line upgrades on SPARC and IA32 processors.
    Thread * const Self = THREAD ;
-@@ -463,7 +455,7 @@
+@@ -476,7 +468,7 @@
     }
  }
  
@@ -83,7 +83,7 @@
      Thread * Self = THREAD ;
      assert (Self->is_Java_thread(), "invariant") ;
      assert (((JavaThread *) Self)->thread_state() == _thread_blocked   , "invariant") ;
-@@ -712,7 +704,7 @@
+@@ -725,7 +717,7 @@
  // Knob_Reset and Knob_SpinAfterFutile support and restructuring the
  // loop accordingly.
  
@@ -92,19 +92,19 @@
      assert (Self != NULL                , "invariant") ;
      assert (SelfNode != NULL            , "invariant") ;
      assert (SelfNode->_thread == Self   , "invariant") ;
-@@ -917,7 +909,7 @@
+@@ -930,7 +922,7 @@
  // Both impinge on OS scalability.  Given that, at most one thread parked on
  // a monitor will use a timer.
  
--void ATTR ObjectMonitor::exit(TRAPS) {
-+void ObjectMonitor::exit(TRAPS) {
+-void ATTR ObjectMonitor::exit(bool not_suspended, TRAPS) {
++void ObjectMonitor::exit(bool not_suspended, TRAPS) {
     Thread * Self = THREAD ;
     if (THREAD != _owner) {
       if (THREAD->is_lock_owned((address) _owner)) {
-diff -r a0df3c284c8a src/share/vm/runtime/os.cpp
---- a/src/share/vm/runtime/os.cpp	Mon Mar 11 10:51:02 2013 +0100
-+++ b/src/share/vm/runtime/os.cpp	Mon Mar 11 11:08:48 2013 +0100
-@@ -985,7 +985,7 @@
+diff -r ce9da2e6c5ef src/share/vm/runtime/os.cpp
+--- a/src/share/vm/runtime/os.cpp	Mon Jun 24 10:24:04 2013 +0200
++++ b/src/share/vm/runtime/os.cpp	Mon Jun 24 10:25:16 2013 +0200
+@@ -1017,7 +1017,7 @@
  // if C stack is walkable beyond current frame. The check for fp() is not
  // necessary on Sparc, but it's harmless.
  bool os::is_first_C_frame(frame* fr) {
@@ -113,10 +113,10 @@
    // On IA64 we have to check if the callers bsp is still valid
    // (i.e. within the register stack bounds).
    // Notice: this only works for threads created by the VM and only if
-diff -r a0df3c284c8a src/share/vm/runtime/synchronizer.cpp
---- a/src/share/vm/runtime/synchronizer.cpp	Mon Mar 11 10:51:02 2013 +0100
-+++ b/src/share/vm/runtime/synchronizer.cpp	Mon Mar 11 11:08:48 2013 +0100
-@@ -943,7 +943,7 @@
+diff -r ce9da2e6c5ef src/share/vm/runtime/synchronizer.cpp
+--- a/src/share/vm/runtime/synchronizer.cpp	Mon Jun 24 10:24:04 2013 +0200
++++ b/src/share/vm/runtime/synchronizer.cpp	Mon Jun 24 10:25:16 2013 +0200
+@@ -941,7 +941,7 @@
     assert(freetally == Self->omFreeCount, "free count off");
  }
  */
@@ -125,7 +125,7 @@
      // A large MAXPRIVATE value reduces both list lock contention
      // and list coherency traffic, but also tends to increase the
      // number of objectMonitors in circulation as well as the STW
-@@ -1190,7 +1190,7 @@
+@@ -1189,7 +1189,7 @@
  // multiple locks occupy the same $ line.  Padding might be appropriate.
  
  
@@ -134,10 +134,10 @@
    // Inflate mutates the heap ...
    // Relaxing assertion for bug 6320749.
    assert (Universe::verify_in_progress() ||
-diff -r a0df3c284c8a src/share/vm/utilities/macros.hpp
---- a/src/share/vm/utilities/macros.hpp	Mon Mar 11 10:51:02 2013 +0100
-+++ b/src/share/vm/utilities/macros.hpp	Mon Mar 11 11:08:48 2013 +0100
-@@ -316,7 +316,11 @@
+diff -r ce9da2e6c5ef src/share/vm/utilities/macros.hpp
+--- a/src/share/vm/utilities/macros.hpp	Mon Jun 24 10:24:04 2013 +0200
++++ b/src/share/vm/utilities/macros.hpp	Mon Jun 24 10:25:16 2013 +0200
+@@ -320,7 +320,11 @@
  #define NOT_IA32(code) code
  #endif
  
--- a/ppc_patches/0013_basic_Aix_adaptions.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0013_basic_Aix_adaptions.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,12 +1,12 @@
 # HG changeset patch
-# Parent 9fcbf30c36369234fda29c106120c1347056a198
+# Parent e970b8cc5c6fc2a7e8c03d9965936bfa55e2b52b
 shared: Basic non-functional fixes needed for the Aix port.
 
 Added aix include alpha-sorted before BSD.
 
-diff -r 9fcbf30c3636 src/os/posix/vm/os_posix.cpp
---- a/src/os/posix/vm/os_posix.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/os/posix/vm/os_posix.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/os/posix/vm/os_posix.cpp
+--- a/src/os/posix/vm/os_posix.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/os/posix/vm/os_posix.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -164,8 +164,8 @@
    if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
    else st->print("%uk", rlim.rlim_cur >> 10);
@@ -18,9 +18,9 @@
    st->print(", NPROC ");
    getrlimit(RLIMIT_NPROC, &rlim);
    if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
-diff -r 9fcbf30c3636 src/share/vm/c1/c1_globals.hpp
---- a/src/share/vm/c1/c1_globals.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/c1/c1_globals.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/c1/c1_globals.hpp
+--- a/src/share/vm/c1/c1_globals.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/c1/c1_globals.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -47,6 +47,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "c1_globals_windows.hpp"
@@ -31,9 +31,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "c1_globals_bsd.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/classfile/classLoader.cpp
---- a/src/share/vm/classfile/classLoader.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/classfile/classLoader.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/classfile/classLoader.cpp
+--- a/src/share/vm/classfile/classLoader.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/classfile/classLoader.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -68,6 +68,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -44,9 +44,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/code/nmethod.hpp
---- a/src/share/vm/code/nmethod.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/code/nmethod.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/code/nmethod.hpp
+--- a/src/share/vm/code/nmethod.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/code/nmethod.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -265,7 +265,7 @@
            int comp_level);
  
@@ -56,9 +56,9 @@
  
    const char* reloc_string_for(u_char* begin, u_char* end);
    // Returns true if this thread changed the state of the nmethod or
-diff -r 9fcbf30c3636 src/share/vm/code/relocInfo.hpp
---- a/src/share/vm/code/relocInfo.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/code/relocInfo.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/code/relocInfo.hpp
+--- a/src/share/vm/code/relocInfo.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/code/relocInfo.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -378,7 +378,7 @@
    // "immediate" in the prefix header word itself.  This optimization
    // is invisible outside this module.)
@@ -77,9 +77,9 @@
    assert(relocInfo::fits_into_immediate(datalen), "datalen in limits");
    return relocInfo(relocInfo::data_prefix_tag, relocInfo::RAW_BITS, relocInfo::datalen_tag | datalen);
  }
-diff -r 9fcbf30c3636 src/share/vm/code/stubs.hpp
---- a/src/share/vm/code/stubs.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/code/stubs.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/code/stubs.hpp
+--- a/src/share/vm/code/stubs.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/code/stubs.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -36,6 +36,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -90,9 +90,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/code/vmreg.hpp
---- a/src/share/vm/code/vmreg.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/code/vmreg.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/code/vmreg.hpp
+--- a/src/share/vm/code/vmreg.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/code/vmreg.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -63,6 +63,14 @@
  // the current stack pointer.  Warped numbers are required during compilation
  // when we do not yet know how big the frame will be.
@@ -108,9 +108,9 @@
  class VMRegImpl;
  typedef VMRegImpl* VMReg;
  
-diff -r 9fcbf30c3636 src/share/vm/compiler/disassembler.hpp
---- a/src/share/vm/compiler/disassembler.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/compiler/disassembler.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/compiler/disassembler.hpp
+--- a/src/share/vm/compiler/disassembler.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/compiler/disassembler.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -36,6 +36,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -121,9 +121,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp
---- a/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp
+--- a/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -122,7 +122,7 @@
  
  template <class Chunk>
@@ -133,9 +133,9 @@
  }
  
  template <class Chunk>
-diff -r 9fcbf30c3636 src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp
---- a/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp
+--- a/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -37,6 +37,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -146,9 +146,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
---- a/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
+--- a/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -38,6 +38,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -159,9 +159,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp
---- a/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp
+--- a/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -35,6 +35,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -172,9 +172,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/interpreter/bytecodeInterpreter.cpp
---- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/interpreter/bytecodeInterpreter.cpp
+--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -67,6 +67,9 @@
  #ifdef TARGET_OS_ARCH_linux_ppc
  # include "orderAccess_linux_ppc.inline.hpp"
@@ -185,18 +185,9 @@
  #ifdef TARGET_OS_ARCH_bsd_x86
  # include "orderAccess_bsd_x86.inline.hpp"
  #endif
-@@ -469,7 +472,7 @@
- 
- #ifdef ASSERT
-   if (istate->_msg != initialize) {
--    assert(abs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
-+    assert(labs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
- #ifndef SHARK
-     IA32_ONLY(assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1, "wrong"));
- #endif // !SHARK
-diff -r 9fcbf30c3636 src/share/vm/libadt/port.hpp
---- a/src/share/vm/libadt/port.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/libadt/port.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/libadt/port.hpp
+--- a/src/share/vm/libadt/port.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/libadt/port.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -91,8 +91,6 @@
  #define IMPLEMENTATION
  #include <stdlib.h>
@@ -218,9 +209,9 @@
  
  //-----------------------------------------------------------------------------
  // Nice constants
-diff -r 9fcbf30c3636 src/share/vm/memory/allocation.cpp
---- a/src/share/vm/memory/allocation.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/memory/allocation.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/memory/allocation.cpp
+--- a/src/share/vm/memory/allocation.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/memory/allocation.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -45,6 +45,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -231,10 +222,10 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/memory/allocation.hpp
---- a/src/share/vm/memory/allocation.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/memory/allocation.hpp	Fri Jun 07 11:48:16 2013 +0200
-@@ -217,7 +217,7 @@
+diff -r e970b8cc5c6f src/share/vm/memory/allocation.hpp
+--- a/src/share/vm/memory/allocation.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/memory/allocation.hpp	Mon Jun 24 10:36:31 2013 +0200
+@@ -218,7 +218,7 @@
  // Calling new or delete will result in fatal error.
  
  class StackObj ALLOCATION_SUPER_CLASS_SPEC {
@@ -243,7 +234,7 @@
    void* operator new(size_t size);
    void  operator delete(void* p);
    void* operator new [](size_t size);
-@@ -243,7 +243,7 @@
+@@ -244,7 +244,7 @@
  // be defined as a an empty string "".
  //
  class _ValueObj {
@@ -252,9 +243,9 @@
    void* operator new(size_t size);
    void  operator delete(void* p);
    void* operator new [](size_t size);
-diff -r 9fcbf30c3636 src/share/vm/memory/space.hpp
---- a/src/share/vm/memory/space.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/memory/space.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/memory/space.hpp
+--- a/src/share/vm/memory/space.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/memory/space.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -45,6 +45,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -265,9 +256,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/oops/typeArrayOop.hpp
---- a/src/share/vm/oops/typeArrayOop.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/oops/typeArrayOop.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/oops/typeArrayOop.hpp
+--- a/src/share/vm/oops/typeArrayOop.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/oops/typeArrayOop.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -51,6 +51,9 @@
  #ifdef TARGET_OS_ARCH_linux_ppc
  # include "orderAccess_linux_ppc.inline.hpp"
@@ -278,9 +269,9 @@
  #ifdef TARGET_OS_ARCH_bsd_x86
  # include "orderAccess_bsd_x86.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/opto/c2_globals.hpp
---- a/src/share/vm/opto/c2_globals.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/opto/c2_globals.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/opto/c2_globals.hpp
+--- a/src/share/vm/opto/c2_globals.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/opto/c2_globals.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -47,6 +47,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "c2_globals_windows.hpp"
@@ -291,10 +282,10 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "c2_globals_bsd.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/prims/forte.cpp
---- a/src/share/vm/prims/forte.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/prims/forte.cpp	Fri Jun 07 11:48:16 2013 +0200
-@@ -604,7 +604,7 @@
+diff -r e970b8cc5c6f src/share/vm/prims/forte.cpp
+--- a/src/share/vm/prims/forte.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/prims/forte.cpp	Mon Jun 24 10:36:31 2013 +0200
+@@ -605,7 +605,7 @@
  // Method to let libcollector know about a dynamically loaded function.
  // Because it is weakly bound, the calls become NOP's when the library
  // isn't present.
@@ -303,10 +294,10 @@
  // XXXDARWIN: Link errors occur even when __attribute__((weak_import))
  // is added
  #define collector_func_load(x0,x1,x2,x3,x4,x5,x6) (0)
-diff -r 9fcbf30c3636 src/share/vm/prims/jvm.cpp
---- a/src/share/vm/prims/jvm.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/prims/jvm.cpp	Fri Jun 07 11:48:16 2013 +0200
-@@ -75,6 +75,9 @@
+diff -r e970b8cc5c6f src/share/vm/prims/jvm.cpp
+--- a/src/share/vm/prims/jvm.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/prims/jvm.cpp	Mon Jun 24 10:36:31 2013 +0200
+@@ -76,6 +76,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "jvm_windows.h"
  #endif
@@ -316,9 +307,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "jvm_bsd.h"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/prims/jvm.h
---- a/src/share/vm/prims/jvm.h	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/prims/jvm.h	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/prims/jvm.h
+--- a/src/share/vm/prims/jvm.h	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/prims/jvm.h	Mon Jun 24 10:36:31 2013 +0200
 @@ -35,6 +35,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "jvm_windows.h"
@@ -329,9 +320,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "jvm_bsd.h"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/prims/nativeLookup.cpp
---- a/src/share/vm/prims/nativeLookup.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/prims/nativeLookup.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/prims/nativeLookup.cpp
+--- a/src/share/vm/prims/nativeLookup.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/prims/nativeLookup.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -50,6 +50,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -342,9 +333,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/arguments.cpp
---- a/src/share/vm/runtime/arguments.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/arguments.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/arguments.cpp
+--- a/src/share/vm/runtime/arguments.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/arguments.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -49,6 +49,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -355,9 +346,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/atomic.cpp
---- a/src/share/vm/runtime/atomic.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/atomic.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/atomic.cpp
+--- a/src/share/vm/runtime/atomic.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/atomic.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -33,6 +33,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -368,9 +359,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/atomic.inline.hpp
---- a/src/share/vm/runtime/atomic.inline.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/atomic.inline.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/atomic.inline.hpp
+--- a/src/share/vm/runtime/atomic.inline.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/atomic.inline.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -57,6 +57,11 @@
  # include "atomic_windows_x86.inline.hpp"
  #endif
@@ -383,9 +374,9 @@
  // BSD
  #ifdef TARGET_OS_ARCH_bsd_x86
  # include "atomic_bsd_x86.inline.hpp"
-diff -r 9fcbf30c3636 src/share/vm/runtime/globals.hpp
---- a/src/share/vm/runtime/globals.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/globals.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/globals.hpp
+--- a/src/share/vm/runtime/globals.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/globals.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -61,6 +61,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "globals_windows.hpp"
@@ -436,9 +427,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "c2_globals_bsd.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/interfaceSupport.hpp
---- a/src/share/vm/runtime/interfaceSupport.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/interfaceSupport.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/interfaceSupport.hpp
+--- a/src/share/vm/runtime/interfaceSupport.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/interfaceSupport.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -107,6 +107,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "interfaceSupport_windows.hpp"
@@ -449,9 +440,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "interfaceSupport_bsd.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/javaFrameAnchor.hpp
---- a/src/share/vm/runtime/javaFrameAnchor.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/javaFrameAnchor.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/javaFrameAnchor.hpp
+--- a/src/share/vm/runtime/javaFrameAnchor.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/javaFrameAnchor.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -50,6 +50,9 @@
  #ifdef TARGET_OS_ARCH_linux_ppc
  # include "orderAccess_linux_ppc.inline.hpp"
@@ -462,9 +453,9 @@
  #ifdef TARGET_OS_ARCH_bsd_x86
  # include "orderAccess_bsd_x86.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/mutexLocker.hpp
---- a/src/share/vm/runtime/mutexLocker.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/mutexLocker.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/mutexLocker.hpp
+--- a/src/share/vm/runtime/mutexLocker.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/mutexLocker.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -36,6 +36,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -475,9 +466,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/os.hpp
---- a/src/share/vm/runtime/os.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/os.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/os.hpp
+--- a/src/share/vm/runtime/os.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/os.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -39,6 +39,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "jvm_windows.h"
@@ -509,9 +500,9 @@
  #ifdef TARGET_OS_ARCH_bsd_x86
  # include "os_bsd_x86.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/osThread.hpp
---- a/src/share/vm/runtime/osThread.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/osThread.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/osThread.hpp
+--- a/src/share/vm/runtime/osThread.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/osThread.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -105,6 +105,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "osThread_windows.hpp"
@@ -522,9 +513,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "osThread_bsd.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/sharedRuntimeTrans.cpp
---- a/src/share/vm/runtime/sharedRuntimeTrans.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/sharedRuntimeTrans.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/sharedRuntimeTrans.cpp
+--- a/src/share/vm/runtime/sharedRuntimeTrans.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/sharedRuntimeTrans.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -56,10 +56,12 @@
  # define __LO(x) *(1+(int*)&x)
  #endif
@@ -554,9 +545,9 @@
  
  /* __ieee754_log(x)
   * Return the logrithm of x
-diff -r 9fcbf30c3636 src/share/vm/runtime/sharedRuntimeTrig.cpp
---- a/src/share/vm/runtime/sharedRuntimeTrig.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/sharedRuntimeTrig.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/sharedRuntimeTrig.cpp
+--- a/src/share/vm/runtime/sharedRuntimeTrig.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/sharedRuntimeTrig.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -656,6 +656,13 @@
  C5  =  2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */
  C6  = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */
@@ -571,10 +562,10 @@
  static double __kernel_cos(double x, double y)
  {
    double a,hz,z,r,qx;
-diff -r 9fcbf30c3636 src/share/vm/runtime/thread.hpp
---- a/src/share/vm/runtime/thread.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/thread.hpp	Fri Jun 07 11:48:16 2013 +0200
-@@ -1714,6 +1714,9 @@
+diff -r e970b8cc5c6f src/share/vm/runtime/thread.hpp
+--- a/src/share/vm/runtime/thread.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/thread.hpp	Mon Jun 24 10:36:31 2013 +0200
+@@ -1711,6 +1711,9 @@
  #ifdef TARGET_OS_ARCH_linux_ppc
  # include "thread_linux_ppc.hpp"
  #endif
@@ -584,9 +575,9 @@
  #ifdef TARGET_OS_ARCH_bsd_x86
  # include "thread_bsd_x86.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/thread.inline.hpp
---- a/src/share/vm/runtime/thread.inline.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/thread.inline.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/thread.inline.hpp
+--- a/src/share/vm/runtime/thread.inline.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/thread.inline.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -37,6 +37,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "thread_windows.inline.hpp"
@@ -597,9 +588,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "thread_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/threadLocalStorage.hpp
---- a/src/share/vm/runtime/threadLocalStorage.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/threadLocalStorage.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/threadLocalStorage.hpp
+--- a/src/share/vm/runtime/threadLocalStorage.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/threadLocalStorage.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -68,6 +68,9 @@
  #ifdef TARGET_OS_ARCH_linux_ppc
  # include "threadLS_linux_ppc.hpp"
@@ -610,9 +601,9 @@
  #ifdef TARGET_OS_ARCH_bsd_x86
  # include "threadLS_bsd_x86.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/timer.cpp
---- a/src/share/vm/runtime/timer.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/timer.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/timer.cpp
+--- a/src/share/vm/runtime/timer.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/timer.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -35,6 +35,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -623,9 +614,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/virtualspace.cpp
---- a/src/share/vm/runtime/virtualspace.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/virtualspace.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/virtualspace.cpp
+--- a/src/share/vm/runtime/virtualspace.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/virtualspace.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -36,6 +36,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -636,10 +627,10 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/vmStructs.cpp
---- a/src/share/vm/runtime/vmStructs.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/vmStructs.cpp	Fri Jun 07 11:48:16 2013 +0200
-@@ -142,6 +142,9 @@
+diff -r e970b8cc5c6f src/share/vm/runtime/vmStructs.cpp
+--- a/src/share/vm/runtime/vmStructs.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/vmStructs.cpp	Mon Jun 24 10:36:31 2013 +0200
+@@ -143,6 +143,9 @@
  #ifdef TARGET_OS_ARCH_linux_ppc
  # include "vmStructs_linux_ppc.hpp"
  #endif
@@ -649,9 +640,9 @@
  #ifdef TARGET_OS_ARCH_bsd_x86
  # include "vmStructs_bsd_x86.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/runtime/vm_version.cpp
---- a/src/share/vm/runtime/vm_version.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/runtime/vm_version.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/runtime/vm_version.cpp
+--- a/src/share/vm/runtime/vm_version.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/runtime/vm_version.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -177,6 +177,7 @@
  #define OS       LINUX_ONLY("linux")             \
                   WINDOWS_ONLY("windows")         \
@@ -670,9 +661,9 @@
      #else
        #define HOTSPOT_BUILD_COMPILER "unknown compiler"
      #endif
-diff -r 9fcbf30c3636 src/share/vm/utilities/accessFlags.cpp
---- a/src/share/vm/utilities/accessFlags.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/accessFlags.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/utilities/accessFlags.cpp
+--- a/src/share/vm/utilities/accessFlags.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/accessFlags.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -34,6 +34,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -683,9 +674,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/utilities/bitMap.cpp
---- a/src/share/vm/utilities/bitMap.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/bitMap.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/utilities/bitMap.cpp
+--- a/src/share/vm/utilities/bitMap.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/bitMap.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -35,6 +35,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -696,9 +687,9 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/utilities/debug.hpp
---- a/src/share/vm/utilities/debug.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/debug.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/utilities/debug.hpp
+--- a/src/share/vm/utilities/debug.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/debug.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -25,8 +25,8 @@
  #ifndef SHARE_VM_UTILITIES_DEBUG_HPP
  #define SHARE_VM_UTILITIES_DEBUG_HPP
@@ -709,9 +700,9 @@
  
  #include <stdarg.h>
  
-diff -r 9fcbf30c3636 src/share/vm/utilities/decoder.cpp
---- a/src/share/vm/utilities/decoder.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/decoder.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/utilities/decoder.cpp
+--- a/src/share/vm/utilities/decoder.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/decoder.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -33,6 +33,8 @@
    #include "decoder_windows.hpp"
  #elif defined(__APPLE__)
@@ -730,9 +721,9 @@
  #else
    decoder = new (std::nothrow)ElfDecoder();
  #endif
-diff -r 9fcbf30c3636 src/share/vm/utilities/globalDefinitions.hpp
---- a/src/share/vm/utilities/globalDefinitions.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/globalDefinitions.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/utilities/globalDefinitions.hpp
+--- a/src/share/vm/utilities/globalDefinitions.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/globalDefinitions.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -38,6 +38,9 @@
  #ifdef TARGET_COMPILER_sparcWorks
  # include "utilities/globalDefinitions_sparcWorks.hpp"
@@ -743,9 +734,9 @@
  
  #include "utilities/macros.hpp"
  
-diff -r 9fcbf30c3636 src/share/vm/utilities/histogram.hpp
---- a/src/share/vm/utilities/histogram.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/histogram.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/utilities/histogram.hpp
+--- a/src/share/vm/utilities/histogram.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/histogram.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -37,6 +37,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -756,10 +747,10 @@
  #ifdef TARGET_OS_FAMILY_bsd
  # include "os_bsd.inline.hpp"
  #endif
-diff -r 9fcbf30c3636 src/share/vm/utilities/macros.hpp
---- a/src/share/vm/utilities/macros.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/macros.hpp	Fri Jun 07 11:48:16 2013 +0200
-@@ -250,6 +250,14 @@
+diff -r e970b8cc5c6f src/share/vm/utilities/macros.hpp
+--- a/src/share/vm/utilities/macros.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/macros.hpp	Mon Jun 24 10:36:31 2013 +0200
+@@ -254,6 +254,14 @@
  #define NOT_LINUX(code) code
  #endif
  
@@ -774,9 +765,9 @@
  #ifdef SOLARIS
  #define SOLARIS_ONLY(code) code
  #define NOT_SOLARIS(code)
-diff -r 9fcbf30c3636 src/share/vm/utilities/ostream.cpp
---- a/src/share/vm/utilities/ostream.cpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/ostream.cpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/utilities/ostream.cpp
+--- a/src/share/vm/utilities/ostream.cpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/ostream.cpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -39,6 +39,9 @@
  #ifdef TARGET_OS_FAMILY_windows
  # include "os_windows.inline.hpp"
@@ -796,9 +787,9 @@
  #include <sys/types.h>
  #include <sys/socket.h>
  #include <netinet/in.h>
-diff -r 9fcbf30c3636 src/share/vm/utilities/resourceHash.hpp
---- a/src/share/vm/utilities/resourceHash.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/resourceHash.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/utilities/resourceHash.hpp
+--- a/src/share/vm/utilities/resourceHash.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/resourceHash.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -44,8 +44,12 @@
  
  template<
@@ -814,9 +805,9 @@
      unsigned SIZE = 256
      >
  class ResourceHashtable : public ResourceObj {
-diff -r 9fcbf30c3636 src/share/vm/utilities/taskqueue.hpp
---- a/src/share/vm/utilities/taskqueue.hpp	Fri Jun 07 11:47:36 2013 +0200
-+++ b/src/share/vm/utilities/taskqueue.hpp	Fri Jun 07 11:48:16 2013 +0200
+diff -r e970b8cc5c6f src/share/vm/utilities/taskqueue.hpp
+--- a/src/share/vm/utilities/taskqueue.hpp	Mon Jun 24 10:25:20 2013 +0200
++++ b/src/share/vm/utilities/taskqueue.hpp	Mon Jun 24 10:36:31 2013 +0200
 @@ -53,6 +53,9 @@
  #ifdef TARGET_OS_ARCH_linux_ppc
  # include "orderAccess_linux_ppc.inline.hpp"
--- a/ppc_patches/0014_aix_make_changes.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0014_aix_make_changes.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,10 +1,10 @@
 # HG changeset patch
-# Parent d4a1c0a07b7a73612c98dc5707b43d8362664284
+# Parent db3171ee407475ab29c4df188e0b22e4d15e29d3
 make: Implement aix ppc64 build.
 
-diff -r d4a1c0a07b7a make/aix/Makefile
+diff -r db3171ee4074 make/aix/Makefile
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/Makefile	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/Makefile	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,377 @@
 +#
 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -383,9 +383,9 @@
 +.PHONY: all compiler1 compiler2 core zero shark
 +.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
 +.PHONY: checks check_os_version check_j2se_version
-diff -r d4a1c0a07b7a make/aix/adlc_updater
+diff -r db3171ee4074 make/aix/adlc_updater
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/adlc_updater	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/adlc_updater	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,20 @@
 +#! /bin/sh
 +#
@@ -407,9 +407,9 @@
 +fix_lines $2/$1 $3/$1
 +[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \
 +( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
-diff -r d4a1c0a07b7a make/aix/build.sh
+diff -r db3171ee4074 make/aix/build.sh
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/build.sh	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/build.sh	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,99 @@
 +#! /bin/sh
 +#
@@ -510,9 +510,9 @@
 +echo \
 +${GNUMAKE} -f ${Location}/make/linux/Makefile $Build_Options GAMMADIR=${Location}
 +${GNUMAKE} -f ${Location}/make/linux/Makefile $Build_Options GAMMADIR=${Location}
-diff -r d4a1c0a07b7a make/aix/makefiles/adjust-mflags.sh
+diff -r db3171ee4074 make/aix/makefiles/adjust-mflags.sh
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/adjust-mflags.sh	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/adjust-mflags.sh	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,87 @@
 +#! /bin/sh
 +#
@@ -601,9 +601,9 @@
 +esac
 +
 +echo "${MFLAGS}"
-diff -r d4a1c0a07b7a make/aix/makefiles/adlc.make
+diff -r db3171ee4074 make/aix/makefiles/adlc.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/adlc.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/adlc.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,233 @@
 +#
 +# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -838,9 +838,9 @@
 +# #########################################################################
 +
 +.PHONY: all dump refresh_adfiles clean cleanall
-diff -r d4a1c0a07b7a make/aix/makefiles/build_vm_def.sh
+diff -r db3171ee4074 make/aix/makefiles/build_vm_def.sh
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/build_vm_def.sh	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/build_vm_def.sh	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,18 @@
 +#!/bin/sh
 +
@@ -860,10 +860,10 @@
 +              if ($3 ~ /^SharedArchivePath__9Arguments$/) print "\t" $3 ";"
 +          }' \
 +    | sort -u
-diff -r d4a1c0a07b7a make/aix/makefiles/buildtree.make
+diff -r db3171ee4074 make/aix/makefiles/buildtree.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/buildtree.make	Thu Jun 20 13:38:21 2013 +0200
-@@ -0,0 +1,350 @@
++++ b/make/aix/makefiles/buildtree.make	Mon Jun 24 15:27:06 2013 +0200
+@@ -0,0 +1,364 @@
 +#
 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
 +# Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -914,6 +914,7 @@
 +# flags.make	- with macro settings
 +# vm.make	- to support making "$(MAKE) -v vm.make" in makefiles
 +# adlc.make	-
++# trace.make	- generate tracing event and type definitions
 +# jvmti.make	- generate JVMTI bindings from the spec (JSR-163)
 +# sa.make	- generate SA jar file and natives
 +#
@@ -981,7 +982,8 @@
 +SIMPLE_DIRS	= \
 +	$(PLATFORM_DIR)/generated/dependencies \
 +	$(PLATFORM_DIR)/generated/adfiles \
-+	$(PLATFORM_DIR)/generated/jvmtifiles
++	$(PLATFORM_DIR)/generated/jvmtifiles \
++	$(PLATFORM_DIR)/generated/tracefiles
 +
 +TARGETS      = debug fastdebug optimized product
 +SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
@@ -989,7 +991,7 @@
 +# For dependencies and recursive makes.
 +BUILDTREE_MAKE	= $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
 +
-+BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.make sa.make
++BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.make trace.make sa.make
 +
 +BUILDTREE_VARS	= GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
 +	SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT)
@@ -1133,6 +1135,8 @@
 +	    echo && \
 +	    echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
 +	    echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
++	[ -n "$(INCLUDE_TRACE)" ] && \
++	    echo && echo "INCLUDE_TRACE = $(INCLUDE_TRACE)"; \
 +	echo; \
 +	[ -n "$(SPEC)" ] && \
 +	    echo "include $(SPEC)"; \
@@ -1201,6 +1205,16 @@
 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
 +	) > $@
 +
++trace.make: $(BUILDTREE_MAKE)
++	@echo Creating $@ ...
++	$(QUIETLY) ( \
++	$(BUILDTREE_COMMENT); \
++	echo; \
++	echo include flags.make; \
++	echo; \
++	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
++	) > $@
++
 +sa.make: $(BUILDTREE_MAKE)
 +	@echo Creating $@ ...
 +	$(QUIETLY) ( \
@@ -1214,9 +1228,9 @@
 +FORCE:
 +
 +.PHONY:  all FORCE
-diff -r d4a1c0a07b7a make/aix/makefiles/compiler2.make
+diff -r db3171ee4074 make/aix/makefiles/compiler2.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/compiler2.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/compiler2.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,32 @@
 +#
 +# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -1250,9 +1264,9 @@
 +VM_SUBDIR = server
 +
 +CFLAGS += -DCOMPILER2
-diff -r d4a1c0a07b7a make/aix/makefiles/core.make
+diff -r db3171ee4074 make/aix/makefiles/core.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/core.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/core.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,33 @@
 +#
 +# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -1287,9 +1301,9 @@
 +VM_SUBDIR = server
 +
 +# Note:  macros.hpp defines CORE
-diff -r d4a1c0a07b7a make/aix/makefiles/debug.make
+diff -r db3171ee4074 make/aix/makefiles/debug.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/debug.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/debug.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,41 @@
 +#
 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -1332,9 +1346,9 @@
 +VERSION = debug
 +SYSDEFS += -DASSERT -DDEBUG
 +PICFLAGS = DEFAULT
-diff -r d4a1c0a07b7a make/aix/makefiles/defs.make
+diff -r db3171ee4074 make/aix/makefiles/defs.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/defs.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/defs.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,231 @@
 +#
 +# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -1534,7 +1548,7 @@
 +EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
 +EXPORT_MINIMAL_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/minimal
 +
-+ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
++ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)) $(JVM_VARIANT_CORE)), true)
 +  EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
 +  EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
 +#  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@@ -1567,9 +1581,9 @@
 +EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
 +
 +
-diff -r d4a1c0a07b7a make/aix/makefiles/dtrace.make
+diff -r db3171ee4074 make/aix/makefiles/dtrace.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/dtrace.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/dtrace.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,27 @@
 +#
 +# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -1598,9 +1612,9 @@
 +# Linux does not build jvm_db
 +LIBJVM_DB =
 +
-diff -r d4a1c0a07b7a make/aix/makefiles/fastdebug.make
+diff -r db3171ee4074 make/aix/makefiles/fastdebug.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/fastdebug.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/fastdebug.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,73 @@
 +#
 +# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -1675,9 +1689,9 @@
 +VERSION = optimized
 +SYSDEFS += -DASSERT -DFASTDEBUG
 +PICFLAGS = DEFAULT
-diff -r d4a1c0a07b7a make/aix/makefiles/jsig.make
+diff -r db3171ee4074 make/aix/makefiles/jsig.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/jsig.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/jsig.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,87 @@
 +#
 +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -1766,9 +1780,9 @@
 +	$(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
 +
 +.PHONY: install_jsig
-diff -r d4a1c0a07b7a make/aix/makefiles/jvmti.make
+diff -r db3171ee4074 make/aix/makefiles/jvmti.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/jvmti.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/jvmti.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,118 @@
 +#
 +# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -1888,9 +1902,9 @@
 +
 +# #########################################################################
 +
-diff -r d4a1c0a07b7a make/aix/makefiles/mapfile-vers-debug
+diff -r db3171ee4074 make/aix/makefiles/mapfile-vers-debug
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/mapfile-vers-debug	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/mapfile-vers-debug	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,274 @@
 +#
 +# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -2166,9 +2180,9 @@
 +                *;
 +};
 +
-diff -r d4a1c0a07b7a make/aix/makefiles/mapfile-vers-jsig
+diff -r db3171ee4074 make/aix/makefiles/mapfile-vers-jsig
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/mapfile-vers-jsig	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/mapfile-vers-jsig	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,38 @@
 +#
 +# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2208,9 +2222,9 @@
 +        local:
 +                *;
 +};
-diff -r d4a1c0a07b7a make/aix/makefiles/mapfile-vers-product
+diff -r db3171ee4074 make/aix/makefiles/mapfile-vers-product
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/mapfile-vers-product	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/mapfile-vers-product	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,267 @@
 +#
 +# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -2479,9 +2493,9 @@
 +                *;
 +};
 +
-diff -r d4a1c0a07b7a make/aix/makefiles/ppc64.make
+diff -r db3171ee4074 make/aix/makefiles/ppc64.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/ppc64.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/ppc64.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,110 @@
 +#
 +# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -2593,9 +2607,9 @@
 +#AOUT_FLAGS += -q64
 +#AOUT_FLAGS += -L/lib64
 +#AOUT_FLAGS += -Wl,-melf64ppc
-diff -r d4a1c0a07b7a make/aix/makefiles/product.make
+diff -r db3171ee4074 make/aix/makefiles/product.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/product.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/product.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,58 @@
 +#
 +# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -2655,9 +2669,9 @@
 +# If we can create .debuginfo files, then the VM is stripped in vm.make
 +# and this macro is not used.
 +# LINK_LIB.CXX/POST_HOOK += $(STRIP_$(LINK_INTO))
-diff -r d4a1c0a07b7a make/aix/makefiles/rules.make
+diff -r db3171ee4074 make/aix/makefiles/rules.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/rules.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/rules.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,203 @@
 +#
 +# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -2862,9 +2876,9 @@
 +	@exit 666
 +
 +.PHONY: default
-diff -r d4a1c0a07b7a make/aix/makefiles/sa.make
+diff -r db3171ee4074 make/aix/makefiles/sa.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/sa.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/sa.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,116 @@
 +#
 +# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -2982,9 +2996,9 @@
 +	rm -rf $(SA_CLASSDIR)
 +	rm -rf $(GENERATED)/sa-jdi.jar
 +	rm -rf $(AGENT_FILES_LIST)
-diff -r d4a1c0a07b7a make/aix/makefiles/saproc.make
+diff -r db3171ee4074 make/aix/makefiles/saproc.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/saproc.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/saproc.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,117 @@
 +#
 +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -3103,12 +3117,12 @@
 +	fi
 +
 +.PHONY: install_saproc
-diff -r d4a1c0a07b7a make/aix/makefiles/top.make
+diff -r db3171ee4074 make/aix/makefiles/top.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/top.make	Thu Jun 20 13:38:21 2013 +0200
-@@ -0,0 +1,140 @@
++++ b/make/aix/makefiles/top.make	Mon Jun 24 15:27:06 2013 +0200
+@@ -0,0 +1,144 @@
 +#
-+# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 +#
 +# This code is free software; you can redistribute it and/or modify it
@@ -3189,7 +3203,7 @@
 +	@echo All done.
 +
 +# This is an explicit dependency for the sake of parallel makes.
-+vm_build_preliminaries:  checks $(Cached_plat) $(AD_Files_If_Required) jvmti_stuff sa_stuff
++vm_build_preliminaries:  checks $(Cached_plat) $(AD_Files_If_Required) trace_stuff jvmti_stuff sa_stuff
 +	@# We need a null action here, so implicit rules don't get consulted.
 +
 +$(Cached_plat): $(Plat_File)
@@ -3203,6 +3217,10 @@
 +jvmti_stuff: $(Cached_plat) $(adjust-mflags)
 +	@$(MAKE) -f jvmti.make $(MFLAGS-adjusted)
 +
++# generate trace files
++trace_stuff: jvmti_stuff $(Cached_plat) $(adjust-mflags)
++	@$(MAKE) -f trace.make $(MFLAGS-adjusted)
++
 +# generate SA jar files and native header
 +sa_stuff:
 +	@$(MAKE) -f sa.make $(MFLAGS-adjusted)
@@ -3247,12 +3265,136 @@
 +.PHONY: default vm_build_preliminaries
 +.PHONY: lists ad_stuff jvmti_stuff sa_stuff the_vm clean realclean
 +.PHONY: checks check_os_version install
-diff -r d4a1c0a07b7a make/aix/makefiles/vm.make
+diff -r db3171ee4074 make/aix/makefiles/trace.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/vm.make	Thu Jun 20 13:38:21 2013 +0200
-@@ -0,0 +1,385 @@
++++ b/make/aix/makefiles/trace.make	Mon Jun 24 15:27:06 2013 +0200
+@@ -0,0 +1,120 @@
 +#
-+# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# 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.
++#
++#
++
++# This makefile (trace.make) is included from the trace.make in the
++# build directories.
++#
++# It knows how to build and run the tools to generate trace files.
++
++include $(GAMMADIR)/make/linux/makefiles/rules.make
++include $(GAMMADIR)/make/altsrc.make
++
++# #########################################################################
++
++HAS_ALT_SRC:=$(shell if [ -d $(HS_ALT_SRC)/share/vm/trace ]; then \
++  echo "true"; else echo "false";\
++  fi)
++
++TOPDIR      = $(shell echo `pwd`)
++GENERATED   = $(TOPDIR)/../generated
++JvmtiOutDir = $(GENERATED)/jvmtifiles
++TraceOutDir   = $(GENERATED)/tracefiles
++
++TraceAltSrcDir = $(HS_ALT_SRC)/share/vm/trace
++TraceSrcDir = $(HS_COMMON_SRC)/share/vm/trace
++
++# set VPATH so make knows where to look for source files
++Src_Dirs_V += $(TraceSrcDir) $(TraceAltSrcDir)
++VPATH += $(Src_Dirs_V:%=%:)
++
++TraceGeneratedNames =     \
++    traceEventClasses.hpp \
++	traceEventIds.hpp     \
++	traceTypes.hpp
++
++ifeq ($(HAS_ALT_SRC), true)
++TraceGeneratedNames +=  \
++	traceRequestables.hpp \
++    traceEventControl.hpp
++
++ifneq ($(INCLUDE_TRACE), false)
++TraceGeneratedNames += traceProducer.cpp
++endif
++
++endif
++
++TraceGeneratedFiles = $(TraceGeneratedNames:%=$(TraceOutDir)/%)
++
++XSLT = $(REMOTE) $(RUN.JAVA) -Djavax.xml.accessExternalDTD=file -classpath $(JvmtiOutDir) jvmtiGen
++
++XML_DEPS =  $(TraceSrcDir)/trace.xml  $(TraceSrcDir)/tracetypes.xml \
++	$(TraceSrcDir)/trace.dtd $(TraceSrcDir)/xinclude.mod
++ifeq ($(HAS_ALT_SRC), true)
++	XML_DEPS += $(TraceAltSrcDir)/traceevents.xml
++endif
++
++.PHONY: all clean cleanall
++
++# #########################################################################
++
++all: $(TraceGeneratedFiles)
++
++GENERATE_CODE= \
++  $(QUIETLY) echo Generating $@; \
++  $(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
++  test -f $@
++
++$(TraceOutDir)/traceEventIds.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventIds.xsl $(XML_DEPS)
++	$(GENERATE_CODE)
++
++$(TraceOutDir)/traceTypes.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceTypes.xsl $(XML_DEPS)
++	$(GENERATE_CODE)
++
++ifeq ($(HAS_ALT_SRC), false)
++
++$(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventClasses.xsl $(XML_DEPS)
++	$(GENERATE_CODE)
++
++else
++
++$(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceEventClasses.xsl $(XML_DEPS)
++	$(GENERATE_CODE)
++
++$(TraceOutDir)/traceProducer.cpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceProducer.xsl $(XML_DEPS)
++	$(GENERATE_CODE)
++
++$(TraceOutDir)/traceRequestables.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceRequestables.xsl $(XML_DEPS)
++	$(GENERATE_CODE)
++
++$(TraceOutDir)/traceEventControl.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceEventControl.xsl $(XML_DEPS)
++	$(GENERATE_CODE)
++
++endif
++
++# #########################################################################
++
++clean cleanall:
++	rm $(TraceGeneratedFiles)
++
++
+diff -r db3171ee4074 make/aix/makefiles/vm.make
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/make/aix/makefiles/vm.make	Mon Jun 24 15:27:06 2013 +0200
+@@ -0,0 +1,377 @@
++#
++# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
 +# Copyright 2012, 2013 SAP AG. All rights reserved.
 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 +#
@@ -3306,7 +3448,7 @@
 +# Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm
 +# The adfiles directory contains ad_<arch>.[ch]pp.
 +# The jvmtifiles directory contains jvmti*.[ch]pp
-+Src_Dirs_V += $(GENERATED)/adfiles $(GENERATED)/jvmtifiles
++Src_Dirs_V += $(GENERATED)/adfiles $(GENERATED)/jvmtifiles $(GENERATED)/tracefiles
 +VPATH += $(Src_Dirs_V:%=%:)
 +
 +# set INCLUDES for C preprocessor.
@@ -3362,12 +3504,6 @@
 +CXXFLAGS += $(CXXFLAGS/BYFILE)
 +
 +
-+ifndef JAVASE_EMBEDDED 
-+ifneq (${ARCH},arm)
-+CFLAGS += -DINCLUDE_TRACE
-+endif
-+endif
-+
 +# CFLAGS_WARN holds compiler options to suppress/enable warnings.
 +CFLAGS += $(CFLAGS_WARN/BYFILE)
 +
@@ -3414,16 +3550,14 @@
 +SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(SRCARCH)/vm
 +SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_family)_$(SRCARCH)/vm
 +
-+ifndef JAVASE_EMBEDDED 
-+ifneq (${ARCH},arm)
-+SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
++CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
++CORE_PATHS+=$(GENERATED)/jvmtifiles $(GENERATED)/tracefiles
++
++ifneq ($(INCLUDE_TRACE), false)
++CORE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
 +  find $(HS_ALT_SRC)/share/vm/jfr -type d; \
 +  fi)
 +endif
-+endif
-+
-+CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
-+CORE_PATHS+=$(GENERATED)/jvmtifiles
 +
 +COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1)
 +COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1
@@ -3636,9 +3770,9 @@
 +install: install_jvm install_jsig install_saproc
 +
 +.PHONY: default build install install_jvm
-diff -r d4a1c0a07b7a make/aix/makefiles/xlc.make
+diff -r db3171ee4074 make/aix/makefiles/xlc.make
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/makefiles/xlc.make	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/makefiles/xlc.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,180 @@
 +#
 +# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -3820,9 +3954,9 @@
 +else
 +  STRIP = strip
 +endif
-diff -r d4a1c0a07b7a make/aix/platform_ppc64
+diff -r db3171ee4074 make/aix/platform_ppc64
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/make/aix/platform_ppc64	Thu Jun 20 13:38:21 2013 +0200
++++ b/make/aix/platform_ppc64	Mon Jun 24 15:27:06 2013 +0200
 @@ -0,0 +1,17 @@
 +os_family = aix
 +
@@ -3841,9 +3975,9 @@
 +gnu_dis_arch = ppc64
 +
 +sysdefs = -DAIX -DPPC64
-diff -r d4a1c0a07b7a make/defs.make
---- a/make/defs.make	Thu Jun 20 13:38:08 2013 +0200
-+++ b/make/defs.make	Thu Jun 20 13:38:21 2013 +0200
+diff -r db3171ee4074 make/defs.make
+--- a/make/defs.make	Mon Jun 24 15:26:03 2013 +0200
++++ b/make/defs.make	Mon Jun 24 15:27:06 2013 +0200
 @@ -166,11 +166,15 @@
    HOST := $(shell uname -n)
  endif
--- a/ppc_patches/0015_aix_ppc_files.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0015_aix_ppc_files.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,13 +1,13 @@
 # HG changeset patch
-# Parent f993a902051726cefb9ec0229dff48e75b7d9cf6
+# Parent 9358c0b2e2904456f58a3fdba07f699b23e76a87
 aix: AIX platform files as required to start up the interpreter.
 
 With this change the AIX vm should compile as jvmgcore and run
 purely interpreted.
 
-diff -r f993a9020517 src/os/aix/vm/attachListener_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/attachListener_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/attachListener_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/attachListener_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,551 @@
 +/*
 + * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -560,9 +560,9 @@
 +  // Cleanup server socket to detach clients.
 +  listener_cleanup();
 +}
-diff -r f993a9020517 src/os/aix/vm/c2_globals_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/c2_globals_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/c2_globals_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/c2_globals_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,37 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -601,9 +601,9 @@
 +//
 +
 +#endif // OS_AIX_VM_C2_GLOBALS_AIX_HPP
-diff -r f993a9020517 src/os/aix/vm/decoder_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/decoder_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/decoder_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/decoder_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,48 @@
 +/*
 + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -653,9 +653,9 @@
 +    return false;
 +  }
 +};
-diff -r f993a9020517 src/os/aix/vm/globals_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/globals_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/globals_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/globals_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,63 @@
 +/*
 + * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -720,9 +720,9 @@
 +define_pd_global(bool, UseThreadPriorities, true) ;
 +
 +#endif // OS_AIX_VM_GLOBALS_AIX_HPP
-diff -r f993a9020517 src/os/aix/vm/interfaceSupport_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/interfaceSupport_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/interfaceSupport_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/interfaceSupport_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,35 @@
 +/*
 + * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -759,9 +759,9 @@
 +}
 +
 +#endif // OS_LINUX_VM_INTERFACESUPPORT_LINUX_HPP
-diff -r f993a9020517 src/os/aix/vm/jsig.c
+diff -r 9358c0b2e290 src/os/aix/vm/jsig.c
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/jsig.c	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/jsig.c	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,233 @@
 +/*
 + * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -996,9 +996,9 @@
 +  }
 +  return NULL;
 +}
-diff -r f993a9020517 src/os/aix/vm/jvm_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/jvm_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/jvm_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/jvm_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,201 @@
 +/*
 + * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -1201,9 +1201,9 @@
 +  }
 +  return false;
 +}
-diff -r f993a9020517 src/os/aix/vm/jvm_aix.h
+diff -r 9358c0b2e290 src/os/aix/vm/jvm_aix.h
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/jvm_aix.h	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/jvm_aix.h	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,123 @@
 +/*
 + * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -1328,9 +1328,9 @@
 +#endif /* JVM_MD_H */
 +
 +#endif // OS_AIX_VM_JVM_AIX_H
-diff -r f993a9020517 src/os/aix/vm/libperfstat_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/libperfstat_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/libperfstat_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/libperfstat_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,124 @@
 +/*
 + * Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -1456,9 +1456,9 @@
 +  assert(g_fun_perfstat_reset, "");
 +  g_fun_perfstat_reset();
 +}
-diff -r f993a9020517 src/os/aix/vm/libperfstat_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/libperfstat_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/libperfstat_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/libperfstat_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,59 @@
 +/*
 + * Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -1519,9 +1519,9 @@
 +};
 +
 +#endif // OS_AIX_VM_LIBPERFSTAT_AIX_HPP
-diff -r f993a9020517 src/os/aix/vm/loadlib_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/loadlib_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/loadlib_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/loadlib_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,185 @@
 +/*
 + * Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -1708,9 +1708,9 @@
 +
 +}
 +
-diff -r f993a9020517 src/os/aix/vm/loadlib_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/loadlib_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/loadlib_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/loadlib_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,128 @@
 +/*
 + * Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -1840,9 +1840,9 @@
 +
 +
 +#endif // OS_AIX_VM_LOADLIB_AIX_HPP
-diff -r f993a9020517 src/os/aix/vm/mutex_aix.inline.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/mutex_aix.inline.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/mutex_aix.inline.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/mutex_aix.inline.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,33 @@
 +/*
 + * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -1877,9 +1877,9 @@
 +#include "thread_aix.inline.hpp"
 +
 +#endif // OS_AIX_VM_MUTEX_AIX_INLINE_HPP
-diff -r f993a9020517 src/os/aix/vm/osThread_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/osThread_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/osThread_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/osThread_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,58 @@
 +/*
 + * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -1939,9 +1939,9 @@
 +void OSThread::pd_destroy() {
 +  delete _startThread_lock;
 +}
-diff -r f993a9020517 src/os/aix/vm/osThread_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/osThread_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/osThread_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/osThread_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,144 @@
 +/*
 + * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -2026,7 +2026,7 @@
 +  // flags that support signal based suspend/resume on Linux are in a
 +  // separate class to avoid confusion with many flags in OSThread that
 +  // are used by VM level suspend/resume.
-+  os::Aix::SuspendResume sr;
++  os::SuspendResume sr;
 +
 +  // _ucontext and _siginfo are used by SR_handler() to save thread context,
 +  // and they will later be used to walk the stack or reposition thread PC.
@@ -2087,10 +2087,10 @@
 +  } _last_cpu_times;
 +
 +#endif // OS_AIX_VM_OSTHREAD_AIX_HPP
-diff -r f993a9020517 src/os/aix/vm/os_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/os_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/os_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
-@@ -0,0 +1,5010 @@
++++ b/src/os/aix/vm/os_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
+@@ -0,0 +1,5098 @@
 +/*
 + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
 + * Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -5083,9 +5083,6 @@
 +static void resume_clear_context(OSThread *osthread) {
 +  osthread->set_ucontext(NULL);
 +  osthread->set_siginfo(NULL);
-+
-+  // notify the suspend action is completed, we have now resumed
-+  osthread->sr.clear_suspended();
 +}
 +
 +static void suspend_save_context(OSThread *osthread, siginfo_t* siginfo, ucontext_t* context) {
@@ -5105,7 +5102,7 @@
 +// its signal handlers run and prevents sigwait()'s use with the
 +// mutex granting granting signal.
 +//
-+// Currently only ever called on the VMThread
++// Currently only ever called on the VMThread and JavaThreads (PC sampling).
 +//
 +static void SR_handler(int sig, siginfo_t* siginfo, ucontext_t* context) {
 +  // Save and restore errno to avoid confusing native code with EINTR
@@ -5114,48 +5111,44 @@
 +
 +  Thread* thread = Thread::current();
 +  OSThread* osthread = thread->osthread();
-+  assert(thread->is_VM_thread(), "Must be VMThread");
-+  // read current suspend action
-+  int action = osthread->sr.suspend_action();
-+  if (action == SR_SUSPEND) {
-+    // Allow suspending other threads as well.
-+    if (thread->is_Java_thread()) {
-+      JavaThread* jt = (JavaThread*) thread;
-+      // We are only "logically" blocked.
-+      // NOTE: this will make the stack walkable (i.e. flush windows as needed) but may not
-+      // mark anchor as flushed unless we have a last_Java_sp. This allows profiling to have
-+      // a readable window but doesn't subvert the stack walking invariants.
-+      jt->frame_anchor()->make_walkable(jt);
-+    }
-+
++  assert(thread->is_VM_thread() || thread->is_Java_thread(), "Must be VMThread or JavaThread");
++
++  os::SuspendResume::State current = osthread->sr.state();
++  if (current == os::SuspendResume::SR_SUSPEND_REQUEST) {
 +    suspend_save_context(osthread, siginfo, context);
 +
-+    // Notify the suspend action is about to be completed. do_suspend()
-+    // waits until SR_SUSPENDED is set and then returns. We will wait
-+    // here for a resume signal and that completes the suspend-other
-+    // action. do_suspend/do_resume is always called as a pair from
-+    // the same thread - so there are no races
-+
-+    // notify the caller
-+    osthread->sr.set_suspended();
-+
-+    sigset_t suspend_set;  // signals for sigsuspend()
-+
-+    // get current set of blocked signals and unblock resume signal
-+    pthread_sigmask(SIG_BLOCK, NULL, &suspend_set);
-+    sigdelset(&suspend_set, SR_signum);
-+
-+    // wait here until we are resumed
-+    do {
-+      sigsuspend(&suspend_set);
-+      // ignore all returns until we get a resume signal
-+    } while (osthread->sr.suspend_action() != SR_CONTINUE);
++    // attempt to switch the state, we assume we had a SUSPEND_REQUEST
++    os::SuspendResume::State state = osthread->sr.suspended();
++    if (state == os::SuspendResume::SR_SUSPENDED) {
++      sigset_t suspend_set;  // signals for sigsuspend()
++
++      // get current set of blocked signals and unblock resume signal
++      pthread_sigmask(SIG_BLOCK, NULL, &suspend_set);
++      sigdelset(&suspend_set, SR_signum);
++
++      // wait here until we are resumed
++      while (1) {
++        sigsuspend(&suspend_set);
++
++        os::SuspendResume::State result = osthread->sr.running();
++        if (result == os::SuspendResume::SR_RUNNING) {
++          break;
++        }
++      }
++
++    } else if (state == os::SuspendResume::SR_RUNNING) {
++      // request was cancelled, continue
++    } else {
++      ShouldNotReachHere();
++    }
 +
 +    resume_clear_context(osthread);
-+
++  } else if (current == os::SuspendResume::SR_RUNNING) {
++    // request was cancelled, continue
++  } else if (current == os::SuspendResume::SR_WAKEUP_REQUEST) {
++    // ignore
 +  } else {
-+    assert(action == SR_CONTINUE, "unexpected sr action");
-+    // nothing special to do - just leave the handler
++    ShouldNotReachHere();
 +  }
 +
 +  errno = old_errno;
@@ -5203,16 +5196,93 @@
 +  return 0;
 +}
 +
++static int sr_notify(OSThread* osthread) {
++  int status = pthread_kill(osthread->pthread_id(), SR_signum);
++  assert_status(status == 0, status, "pthread_kill");
++  return status;
++}
++
++// "Randomly" selected value for how long we want to spin
++// before bailing out on suspending a thread, also how often
++// we send a signal to a thread we want to resume
++static const int RANDOMLY_LARGE_INTEGER = 1000000;
++static const int RANDOMLY_LARGE_INTEGER2 = 100;
 +
 +// returns true on success and false on error - really an error is fatal
 +// but this seems the normal response to library errors
 +static bool do_suspend(OSThread* osthread) {
-+  Unimplemented();
-+  return false;
++  assert(osthread->sr.is_running(), "thread should be running");
++  // mark as suspended and send signal
++
++  if (osthread->sr.request_suspend() != os::SuspendResume::SR_SUSPEND_REQUEST) {
++    // failed to switch, state wasn't running?
++    ShouldNotReachHere();
++    return false;
++  }
++
++  if (sr_notify(osthread) != 0) {
++    // try to cancel, switch to running
++
++    os::SuspendResume::State result = osthread->sr.cancel_suspend();
++    if (result == os::SuspendResume::SR_RUNNING) {
++      // cancelled
++      return false;
++    } else if (result == os::SuspendResume::SR_SUSPENDED) {
++      // somehow managed to suspend
++      return true;
++    } else {
++      ShouldNotReachHere();
++      return false;
++    }
++  }
++
++  // managed to send the signal and switch to SUSPEND_REQUEST, now wait for SUSPENDED
++
++  for (int n = 0; !osthread->sr.is_suspended(); n++) {
++    for (int i = 0; i < RANDOMLY_LARGE_INTEGER2 && !osthread->sr.is_suspended(); i++) {
++      os::yield_all(i);
++    }
++
++    // timeout, try to cancel the request
++    if (n >= RANDOMLY_LARGE_INTEGER) {
++      os::SuspendResume::State cancelled = osthread->sr.cancel_suspend();
++      if (cancelled == os::SuspendResume::SR_RUNNING) {
++        return false;
++      } else if (cancelled == os::SuspendResume::SR_SUSPENDED) {
++        return true;
++      } else {
++        ShouldNotReachHere();
++        return false;
++      }
++    }
++  }
++
++  guarantee(osthread->sr.is_suspended(), "Must be suspended");
++  return true;
 +}
 +
 +static void do_resume(OSThread* osthread) {
-+  Unimplemented();
++  //assert(osthread->sr.is_suspended(), "thread should be suspended");
++
++  if (osthread->sr.request_wakeup() != os::SuspendResume::SR_WAKEUP_REQUEST) {
++    // failed to switch to WAKEUP_REQUEST
++    ShouldNotReachHere();
++    return;
++  }
++
++  while (!osthread->sr.is_running()) {
++    if (sr_notify(osthread) == 0) {
++      for (int n = 0; n < RANDOMLY_LARGE_INTEGER && !osthread->sr.is_running(); n++) {
++        for (int i = 0; i < 100 && !osthread->sr.is_running(); i++) {
++          os::yield_all(i);
++        }
++      }
++    } else {
++      ShouldNotReachHere();
++    }
++  }
++
++  guarantee(osthread->sr.is_running(), "Must be running!");
 +}
 +
 +////////////////////////////////////////////////////////////////////////////////
@@ -5974,7 +6044,39 @@
 +  return false;
 +}
 +
-+///
++void os::SuspendedThreadTask::internal_do_task() {
++  if (do_suspend(_thread->osthread())) {
++    SuspendedThreadTaskContext context(_thread, _thread->osthread()->ucontext());
++    do_task(context);
++    do_resume(_thread->osthread());
++  }
++}
++
++class PcFetcher : public os::SuspendedThreadTask {
++public:
++  PcFetcher(Thread* thread) : os::SuspendedThreadTask(thread) {}
++  ExtendedPC result();
++protected:
++  void do_task(const os::SuspendedThreadTaskContext& context);
++private:
++  ExtendedPC _epc;
++};
++
++ExtendedPC PcFetcher::result() {
++  guarantee(is_done(), "task is not done yet.");
++  return _epc;
++}
++
++void PcFetcher::do_task(const os::SuspendedThreadTaskContext& context) {
++  Thread* thread = context.thread();
++  OSThread* osthread = thread->osthread();
++  if (osthread->ucontext() != NULL) {
++    _epc = os::Aix::ucontext_get_pc((ucontext_t *) context.ucontext());
++  } else {
++    // NULL context is unexpected, double-check this is the VMThread.
++    guarantee(thread->is_VM_thread(), "can only be called for VMThread");
++  }
++}
 +
 +// Suspends the target using the signal mechanism and then grabs the PC before
 +// resuming the target. Used by the flat-profiler only
@@ -5983,23 +6085,9 @@
 +  assert(Thread::current()->is_Watcher_thread(), "Must be watcher");
 +  assert(thread->is_VM_thread(), "Can only be called for VMThread");
 +
-+  ExtendedPC epc;
-+
-+  OSThread* osthread = thread->osthread();
-+  if (do_suspend(osthread)) {
-+    if (osthread->ucontext() != NULL) {
-+      epc = os::Aix::ucontext_get_pc(osthread->ucontext());
-+    } else {
-+      // NULL context is unexpected, double-check this is the VMThread
-+      guarantee(thread->is_VM_thread(), "can only be called for VMThread");
-+      Unimplemented();
-+    }
-+    do_resume(osthread);
-+  }
-+  // failure means pthread_kill failed for some reason - arguably this is
-+  // a fatal problem, but such problems are ignored elsewhere
-+
-+  return epc;
++  PcFetcher fetcher(thread);
++  fetcher.run();
++  return fetcher.result();
 +}
 +
 +// Not neede on Aix.
@@ -7101,10 +7189,10 @@
 +
 +  return strlen(buffer);
 +}
-diff -r f993a9020517 src/os/aix/vm/os_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/os_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/os_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
-@@ -0,0 +1,423 @@
++++ b/src/os/aix/vm/os_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
+@@ -0,0 +1,381 @@
 +/*
 + * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
 + * Copyright 2013 SAP AG. All rights reserved.
@@ -7429,48 +7517,6 @@
 +  // Returns true if ok, false if error.
 +  static bool get_cpuinfo(cpuinfo_t* pci);
 +
-+  // suspend/resume support taken from Java6/Linux
-+  // Original comment:
-+  // Linux suspend/resume support - this helper is a shadow of its former
-+  // self now that low-level suspension is barely used, and old workarounds
-+  // for LinuxThreads are no longer needed.
-+  class SuspendResume {
-+  private:
-+    volatile int _suspend_action;
-+    // values for suspend_action:
-+    #define SR_NONE               (0x00)
-+    #define SR_SUSPEND            (0x01)  // suspend request
-+    #define SR_CONTINUE           (0x02)  // resume request
-+
-+    volatile jint _state;
-+    // values for _state: + SR_NONE
-+    #define SR_SUSPENDED          (0x20)
-+  public:
-+    SuspendResume() { _suspend_action = SR_NONE; _state = SR_NONE; }
-+
-+    int suspend_action() const     { return _suspend_action; }
-+    void set_suspend_action(int x) { _suspend_action = x;    }
-+
-+    // atomic updates for _state
-+    void set_suspended()           {
-+      jint temp, temp2;
-+      do {
-+        temp = _state;
-+        temp2 = Atomic::cmpxchg(temp | SR_SUSPENDED, &_state, temp);
-+      } while (temp2 != temp);
-+    }
-+    void clear_suspended()        {
-+      jint temp, temp2;
-+      do {
-+        temp = _state;
-+        temp2 = Atomic::cmpxchg(temp & ~SR_SUSPENDED, &_state, temp);
-+      } while (temp2 != temp);
-+    }
-+    bool is_suspended()            { return _state & SR_SUSPENDED;       }
-+
-+    #undef SR_SUSPENDED
-+  };
-+
 +}; // os::Aix class
 +
 +
@@ -7528,9 +7574,9 @@
 +};
 +
 +#endif // OS_AIX_VM_OS_AIX_HPP
-diff -r f993a9020517 src/os/aix/vm/os_aix.inline.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/os_aix.inline.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/os_aix.inline.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/os_aix.inline.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,286 @@
 +/*
 + * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -7818,9 +7864,9 @@
 +  return ::setsockopt(fd, level, optname, optval, optlen);
 +}
 +#endif // OS_AIX_VM_OS_AIX_INLINE_HPP
-diff -r f993a9020517 src/os/aix/vm/os_share_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/os_share_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/os_share_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/os_share_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,37 @@
 +/*
 + * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -7859,9 +7905,9 @@
 +#define PROCFILE_LENGTH 128
 +
 +#endif // OS_AIX_VM_OS_SHARE_AIX_HPP
-diff -r f993a9020517 src/os/aix/vm/perfMemory_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/perfMemory_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/perfMemory_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/perfMemory_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,1026 @@
 +/*
 + * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -8889,9 +8935,9 @@
 +char* PerfMemory::backing_store_filename() {
 +  return backing_store_file_name;
 +}
-diff -r f993a9020517 src/os/aix/vm/porting_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/porting_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/porting_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/porting_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,367 @@
 +/*
 + * Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -9260,9 +9306,9 @@
 +  return rc; // error: return 0 [sic]
 +
 +}
-diff -r f993a9020517 src/os/aix/vm/porting_aix.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/porting_aix.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/porting_aix.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/porting_aix.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,81 @@
 +/*
 + * Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -9345,9 +9391,9 @@
 +      const struct tbtable** p_tb,     // [out] optional: ptr to traceback table to get further information
 +      char* p_errmsg, size_t errmsglen // [out] optional: user provided buffer for error messages
 +    );
-diff -r f993a9020517 src/os/aix/vm/threadCritical_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/threadCritical_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/threadCritical_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/threadCritical_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,68 @@
 +/*
 + * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -9417,9 +9463,9 @@
 +    guarantee(ret == 0, "fatal error with pthread_mutex_unlock()");
 +  }
 +}
-diff -r f993a9020517 src/os/aix/vm/thread_aix.inline.hpp
+diff -r 9358c0b2e290 src/os/aix/vm/thread_aix.inline.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/thread_aix.inline.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/thread_aix.inline.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,42 @@
 +/*
 + * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
@@ -9463,9 +9509,9 @@
 +inline void ThreadLocalStorage::pd_invalidate_all() {} // nothing to do
 +
 +#endif // OS_AIX_VM_THREAD_AIX_INLINE_HPP
-diff -r f993a9020517 src/os/aix/vm/vmError_aix.cpp
+diff -r 9358c0b2e290 src/os/aix/vm/vmError_aix.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os/aix/vm/vmError_aix.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os/aix/vm/vmError_aix.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,122 @@
 +/*
 + * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -9589,9 +9635,9 @@
 +
 +  sigthreadmask(SIG_UNBLOCK, &newset, NULL);
 +}
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/atomic_aix_ppc.inline.hpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/atomic_aix_ppc.inline.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/atomic_aix_ppc.inline.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/atomic_aix_ppc.inline.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,401 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -9994,9 +10040,9 @@
 +#undef strasm_ppc_nobarrier_clobber_memory
 +
 +#endif // OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_INLINE_HPP
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,54 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10052,9 +10098,9 @@
 +define_pd_global(bool, UseVectoredExceptions,    false);
 +
 +#endif // OS_CPU_AIX_OJDKPPC_VM_GLOBALS_AIX_PPC_HPP
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/orderAccess_aix_ppc.inline.hpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/orderAccess_aix_ppc.inline.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/orderAccess_aix_ppc.inline.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/orderAccess_aix_ppc.inline.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,147 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10203,9 +10249,9 @@
 +#undef inlasm_ppc_fence
 +
 +#endif // OS_CPU_AIX_OJDKPPC_VM_ORDERACCESS_AIX_PPC_INLINE_HPP
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,568 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10775,9 +10821,9 @@
 +  assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment");
 +}
 +#endif
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/os_aix_ppc.hpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/os_aix_ppc.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/os_aix_ppc.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/os_aix_ppc.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,35 @@
 +/*
 + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10814,9 +10860,9 @@
 +  static bool register_code_area(char *low, char *high) { return true; }
 +
 +#endif // OS_CPU_AIX_OJDKPPC_VM_OS_AIX_PPC_HPP
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/prefetch_aix_ppc.inline.hpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/prefetch_aix_ppc.inline.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/prefetch_aix_ppc.inline.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/prefetch_aix_ppc.inline.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,58 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10876,9 +10922,9 @@
 +}
 +
 +#endif // OS_CPU_AIX_PPC_64_VM_PREFETCH_AIX_PPC_64_INLINE_HPP
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.cpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,40 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10920,9 +10966,9 @@
 +void ThreadLocalStorage::pd_set_thread(Thread* thread) {
 +  os::thread_local_storage_at_put(ThreadLocalStorage::thread_index(), thread);
 +}
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.hpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,36 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -10960,9 +11006,9 @@
 +  }
 +
 +#endif // OS_CPU_AIX_OJDKPPC_VM_THREADLS_AIX_PPC_HPP
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/thread_aix_ppc.cpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/thread_aix_ppc.cpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/thread_aix_ppc.cpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/thread_aix_ppc.cpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,36 @@
 +/*
 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -11000,9 +11046,9 @@
 +}
 +
 +void JavaThread::cache_global_variables() { }
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/thread_aix_ppc.hpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/thread_aix_ppc.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/thread_aix_ppc.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/thread_aix_ppc.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,79 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -11083,9 +11129,9 @@
 +  intptr_t* last_interpreter_fp() { return _last_interpreter_fp; }
 +
 +#endif // OS_CPU_AIX_OJDKPPC_VM_THREAD_AIX_PPC_HPP
-diff -r f993a9020517 src/os_cpu/aix_ppc/vm/vmStructs_aix_ppc.hpp
+diff -r 9358c0b2e290 src/os_cpu/aix_ppc/vm/vmStructs_aix_ppc.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/os_cpu/aix_ppc/vm/vmStructs_aix_ppc.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/os_cpu/aix_ppc/vm/vmStructs_aix_ppc.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,55 @@
 +/*
 + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -11142,9 +11188,9 @@
 +#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
 +
 +#endif // OS_CPU_AIX_OJDKPPC_VM_VMSTRUCTS_AIX_PPC_HPP
-diff -r f993a9020517 src/share/vm/utilities/globalDefinitions_xlc.hpp
+diff -r 9358c0b2e290 src/share/vm/utilities/globalDefinitions_xlc.hpp
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/share/vm/utilities/globalDefinitions_xlc.hpp	Fri Jun 07 13:51:24 2013 +0200
++++ b/src/share/vm/utilities/globalDefinitions_xlc.hpp	Mon Jun 24 14:42:07 2013 +0200
 @@ -0,0 +1,202 @@
 +/*
 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
--- a/ppc_patches/0103_C_interpreter-support_method_handles.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0103_C_interpreter-support_method_handles.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,39 +1,11 @@
 # HG changeset patch
-# Parent d72c886faee21ea9135faa4a2233f0361b06f92f
+# Parent 302d2b4626846820b76e0a0f39d82930e823dfb0
 C-interpreter: method handles support
 
-diff -r d72c886faee2 src/share/vm/interpreter/bytecodeInterpreter.cpp
---- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon May 06 21:18:20 2013 +0200
-+++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon May 06 21:18:33 2013 +0200
-@@ -468,7 +468,26 @@
- 
- #ifdef ASSERT
-   if (istate->_msg != initialize) {
--    assert(labs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
-+    // We have a problem here if we are running with a pre-hsx24 JDK (for example during bootstrap)
-+    // because in that case, EnableInvokeDynamic is true by default but will be later switched off
-+    // if java_lang_invoke_MethodHandle::compute_offsets() detects that the JDK only has the classes
-+    // for the old JSR292 implementation.
-+    // This leads to a situation where 'istate->_stack_limit' always accounts for
-+    // methodOopDesc::extra_stack_entries() because it is computed in
-+    // CppInterpreterGenerator::generate_compute_interpreter_state() which was generated while
-+    // EnableInvokeDynamic was still true. On the other hand, istate->_method->max_stack() doesn't
-+    // account for extra_stack_entries() anymore because at the time when it is called
-+    // EnableInvokeDynamic was already set to false.
-+    // So we have a second version of the assertion which handles the case where EnableInvokeDynamic was
-+    // switched off because of the wrong classes.
-+    if (EnableInvokeDynamic || FLAG_IS_CMDLINE(EnableInvokeDynamic)) {
-+      assert(labs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
-+    }
-+    else {
-+      const int extra_stack_entries = 2; // MUST match the value in methodOopDesc::extra_stack_entries()
-+      assert(labs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + extra_stack_entries
-+                                                                                               + 1), "bad stack limit");
-+    }
- #ifndef SHARK
-     IA32_ONLY(assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1, "wrong"));
- #endif // !SHARK
-@@ -2338,7 +2357,7 @@
+diff -r 302d2b462684 src/share/vm/interpreter/bytecodeInterpreter.cpp
+--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Jun 24 10:26:57 2013 +0200
++++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Jun 24 10:28:14 2013 +0200
+@@ -2353,7 +2353,7 @@
          }
  
          Method* method = cache->f1_as_method();
@@ -42,7 +14,7 @@
  
          if (cache->has_appendix()) {
            ConstantPool* constants = METHOD->constants();
-@@ -2371,7 +2390,7 @@
+@@ -2386,7 +2386,7 @@
  
          Method* method = cache->f1_as_method();
  
@@ -51,9 +23,9 @@
  
          if (cache->has_appendix()) {
            ConstantPool* constants = METHOD->constants();
-diff -r d72c886faee2 src/share/vm/interpreter/bytecodeInterpreter.inline.hpp
---- a/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp	Mon May 06 21:18:20 2013 +0200
-+++ b/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp	Mon May 06 21:18:33 2013 +0200
+diff -r 302d2b462684 src/share/vm/interpreter/bytecodeInterpreter.inline.hpp
+--- a/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp	Mon Jun 24 10:26:57 2013 +0200
++++ b/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp	Mon Jun 24 10:28:14 2013 +0200
 @@ -38,8 +38,13 @@
          assert((oop(o_))->is_oop_or_null(), "Not an oop!"); \
          StubRoutines::_verify_oop_count++;  \
@@ -68,10 +40,10 @@
  #endif
  
  // Platform dependent data manipulation
-diff -r d72c886faee2 src/share/vm/runtime/globals.hpp
---- a/src/share/vm/runtime/globals.hpp	Mon May 06 21:18:20 2013 +0200
-+++ b/src/share/vm/runtime/globals.hpp	Mon May 06 21:18:33 2013 +0200
-@@ -3618,7 +3618,7 @@
+diff -r 302d2b462684 src/share/vm/runtime/globals.hpp
+--- a/src/share/vm/runtime/globals.hpp	Mon Jun 24 10:26:57 2013 +0200
++++ b/src/share/vm/runtime/globals.hpp	Mon Jun 24 10:28:14 2013 +0200
+@@ -3625,7 +3625,7 @@
            NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0)),                           \
            "Address to allocate shared memory region for class data")        \
                                                                              \
--- a/ppc_patches/0104_C_interpreter-support_compressed_Oops.patch	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/0104_C_interpreter-support_compressed_Oops.patch	Mon Jun 24 17:34:32 2013 +0200
@@ -1,11 +1,11 @@
 # HG changeset patch
-# Parent 65cda4aa1c13ab45117655a8830b92f8ee8b5cde
+# Parent 81f420fdea5f465b4b7a0bfe18843a699aef64b6
 C-interpreter: implement support for compressed Oops.
 
-diff -r 65cda4aa1c13 src/share/vm/interpreter/bytecodeInterpreter.cpp
---- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon May 06 21:18:33 2013 +0200
-+++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon May 06 21:19:59 2013 +0200
-@@ -1650,8 +1650,18 @@
+diff -r 81f420fdea5f src/share/vm/interpreter/bytecodeInterpreter.cpp
+--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Jun 24 12:32:37 2013 +0200
++++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Mon Jun 24 12:32:58 2013 +0200
+@@ -1648,8 +1648,18 @@
            ARRAY_LOADTO32(T_INT, jint,   "%d",   STACK_INT, 0);
        CASE(_faload):
            ARRAY_LOADTO32(T_FLOAT, jfloat, "%f",   STACK_FLOAT, 0);
@@ -26,10 +26,10 @@
        CASE(_baload):
            ARRAY_LOADTO32(T_BYTE, jbyte,  "%d",   STACK_INT, 0);
        CASE(_caload):
-diff -r 65cda4aa1c13 src/share/vm/memory/universe.cpp
---- a/src/share/vm/memory/universe.cpp	Mon May 06 21:18:33 2013 +0200
-+++ b/src/share/vm/memory/universe.cpp	Mon May 06 21:19:59 2013 +0200
-@@ -743,7 +743,7 @@
+diff -r 81f420fdea5f src/share/vm/memory/universe.cpp
+--- a/src/share/vm/memory/universe.cpp	Mon Jun 24 12:32:37 2013 +0200
++++ b/src/share/vm/memory/universe.cpp	Mon Jun 24 12:32:58 2013 +0200
+@@ -740,7 +740,7 @@
        // the correct no-access prefix.
        // The final value will be set in initialize_heap() below.
        Universe::set_narrow_oop_base((address)NarrowOopHeapMax);
@@ -38,7 +38,7 @@
        if (UseLargePages) {
          // Cannot allocate guard pages for implicit checks in indexed
          // addressing mode when large pages are specified on windows.
-@@ -821,6 +821,11 @@
+@@ -818,6 +818,11 @@
        // Can't reserve heap below 32Gb.
        // keep the Universe::narrow_oop_base() set in Universe::reserve_heap()
        Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
@@ -48,9 +48,9 @@
 +      Universe::set_narrow_oop_use_implicit_null_checks(false);
 +#endif
        if (verbose) {
-         tty->print(", Compressed Oops with base: "PTR_FORMAT, Universe::narrow_oop_base());
-       }
-@@ -1326,9 +1331,7 @@
+         tty->print(", %s: "PTR_FORMAT,
+             narrow_oop_mode_to_string(HeapBasedNarrowOop),
+@@ -1352,9 +1357,7 @@
  static uintptr_t _verify_oop_data[2]   = {0, (uintptr_t)-1};
  static uintptr_t _verify_klass_data[2] = {0, (uintptr_t)-1};
  
@@ -60,10 +60,10 @@
  static void calculate_verify_data(uintptr_t verify_data[2],
                                    HeapWord* low_boundary,
                                    HeapWord* high_boundary) {
-diff -r 65cda4aa1c13 src/share/vm/runtime/arguments.cpp
---- a/src/share/vm/runtime/arguments.cpp	Mon May 06 21:18:33 2013 +0200
-+++ b/src/share/vm/runtime/arguments.cpp	Mon May 06 21:19:59 2013 +0200
-@@ -3424,10 +3424,10 @@
+diff -r 81f420fdea5f src/share/vm/runtime/arguments.cpp
+--- a/src/share/vm/runtime/arguments.cpp	Mon Jun 24 12:32:37 2013 +0200
++++ b/src/share/vm/runtime/arguments.cpp	Mon Jun 24 12:32:58 2013 +0200
+@@ -3582,10 +3582,10 @@
    // Clear flags not supported by the C++ interpreter
  #if !defined(PPC64)
    FLAG_SET_DEFAULT(UseBiasedLocking, false);
--- a/ppc_patches/series	Mon Jun 24 15:21:51 2013 +0200
+++ b/ppc_patches/series	Mon Jun 24 17:34:32 2013 +0200
@@ -1,8 +1,10 @@
-0003_basic_PPC64_adaptions.patch
+0003-2_C_interpreter-fix_for_8010460.patch
+0003-3_Build-Fix_for_JEP_185.patch
 0004_opto-trampoline_relocations.patch
 0005_rt-use_stubs_to_implement_safefetch_.patch
 0006_C_interpreter-adapt_stack_handling.patch
 0007_C_interpreter-biased_locking.patch
+0103_C_interpreter-support_method_handles.patch
 0008_linux_ppc_make_changes.patch
 0009_linux_ppc_files.patch
 0011_AIX_IA64_preprocessor_conditionals.patch
@@ -13,7 +15,6 @@
 0015_aix_ppc_files.patch
 0101_rt-make_adapter_code_size_a_function.patch
 0102_C_interpreter-implement_G1_support.patch
-0103_C_interpreter-support_method_handles.patch
 0104_C_interpreter-support_compressed_Oops.patch
 0105_C_interpreter-support_early_return.patch
 0106_rt-make_hsdis_build_and_work_on_Linux_PPC64.patch
@@ -44,4 +45,3 @@
 0214_linux-Extend_signal_handler_to_catch_SIGTRAP_on_ppc.patch
 0215_opto-extend_ImplicitNullCheck_optimizations.patch
 0216_opto-trap_based_null_and_range_checks.patch
-0217_opto-remove_assert_in_escape.patch