changeset 1947:13b87063b4d8

6977640: Zero and Shark fixes Summary: A number of fixes for Zero and Shark. Reviewed-by: twisti Contributed-by: Gary Benson <gbenson@redhat.com>
author twisti
date Wed, 18 Aug 2010 01:22:16 -0700
parents a62d332029cf
children f55c4f82ab9d
files src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp src/cpu/zero/vm/javaFrameAnchor_zero.hpp src/os_cpu/linux_zero/vm/os_linux_zero.cpp src/os_cpu/linux_zero/vm/thread_linux_zero.cpp src/share/vm/interpreter/bytecodeInterpreter.cpp
diffstat 5 files changed, 19 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp	Fri Aug 13 15:14:00 2010 -0700
+++ b/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp	Wed Aug 18 01:22:16 2010 -0700
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2007 Red Hat, Inc.
+ * Copyright 2007, 2010 Red Hat, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -268,7 +268,7 @@
   return op1 - op2;
 }
 
-inline jint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
+inline juint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
   return ((juint) op1) >> (op2 & 0x1F);
 }
 
--- a/src/cpu/zero/vm/javaFrameAnchor_zero.hpp	Fri Aug 13 15:14:00 2010 -0700
+++ b/src/cpu/zero/vm/javaFrameAnchor_zero.hpp	Wed Aug 18 01:22:16 2010 -0700
@@ -82,6 +82,10 @@
     return _last_Java_fp;
   }
 
+  address last_Java_pc() const {
+    return _last_Java_pc;
+  }
+
   static ByteSize last_Java_fp_offset() {
     return byte_offset_of(JavaFrameAnchor, _last_Java_fp);
   }
--- a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Fri Aug 13 15:14:00 2010 -0700
+++ b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Wed Aug 18 01:22:16 2010 -0700
@@ -435,22 +435,22 @@
   void _Copy_arrayof_conjoint_bytes(HeapWord* from,
                                     HeapWord* to,
                                     size_t    count) {
-    ShouldNotCallThis();
+    memmove(to, from, count);
   }
   void _Copy_arrayof_conjoint_jshorts(HeapWord* from,
                                       HeapWord* to,
                                       size_t    count) {
-    ShouldNotCallThis();
+    memmove(to, from, count * 2);
   }
   void _Copy_arrayof_conjoint_jints(HeapWord* from,
                                     HeapWord* to,
                                     size_t    count) {
-    ShouldNotCallThis();
+    memmove(to, from, count * 4);
   }
   void _Copy_arrayof_conjoint_jlongs(HeapWord* from,
                                      HeapWord* to,
                                      size_t    count) {
-    ShouldNotCallThis();
+    memmove(to, from, count * 8);
   }
 };
 
--- a/src/os_cpu/linux_zero/vm/thread_linux_zero.cpp	Fri Aug 13 15:14:00 2010 -0700
+++ b/src/os_cpu/linux_zero/vm/thread_linux_zero.cpp	Wed Aug 18 01:22:16 2010 -0700
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2009 Red Hat, Inc.
+ * Copyright 2009, 2010 Red Hat, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,6 +23,9 @@
  *
  */
 
-// This file is intentionally empty
+#include "incls/_precompiled.incl"
+#include "incls/_thread_linux_zero.cpp.incl"
 
-void JavaThread::cache_global_variables() { }
+void JavaThread::cache_global_variables() {
+  // nothing to do
+}
--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Aug 13 15:14:00 2010 -0700
+++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Wed Aug 18 01:22:16 2010 -0700
@@ -421,7 +421,9 @@
 #ifdef ASSERT
   if (istate->_msg != initialize) {
     assert(abs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
-  IA32_ONLY(assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1, "wrong"));
+#ifndef SHARK
+    IA32_ONLY(assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1, "wrong"));
+#endif // !SHARK
   }
   // Verify linkages.
   interpreterState l = istate;