Wed, 18 Aug 2010 01:22:16 -0700
6977640: Zero and Shark fixes
Summary: A number of fixes for Zero and Shark.
Reviewed-by: twisti
Contributed-by: Gary Benson <gbenson@redhat.com>
1.1 --- a/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp Fri Aug 13 15:14:00 2010 -0700 1.2 +++ b/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp Wed Aug 18 01:22:16 2010 -0700 1.3 @@ -1,6 +1,6 @@ 1.4 /* 1.5 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved. 1.6 - * Copyright 2007 Red Hat, Inc. 1.7 + * Copyright 2007, 2010 Red Hat, Inc. 1.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.9 * 1.10 * This code is free software; you can redistribute it and/or modify it 1.11 @@ -268,7 +268,7 @@ 1.12 return op1 - op2; 1.13 } 1.14 1.15 -inline jint BytecodeInterpreter::VMintUshr(jint op1, jint op2) { 1.16 +inline juint BytecodeInterpreter::VMintUshr(jint op1, jint op2) { 1.17 return ((juint) op1) >> (op2 & 0x1F); 1.18 } 1.19
2.1 --- a/src/cpu/zero/vm/javaFrameAnchor_zero.hpp Fri Aug 13 15:14:00 2010 -0700 2.2 +++ b/src/cpu/zero/vm/javaFrameAnchor_zero.hpp Wed Aug 18 01:22:16 2010 -0700 2.3 @@ -82,6 +82,10 @@ 2.4 return _last_Java_fp; 2.5 } 2.6 2.7 + address last_Java_pc() const { 2.8 + return _last_Java_pc; 2.9 + } 2.10 + 2.11 static ByteSize last_Java_fp_offset() { 2.12 return byte_offset_of(JavaFrameAnchor, _last_Java_fp); 2.13 }
3.1 --- a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Fri Aug 13 15:14:00 2010 -0700 3.2 +++ b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Wed Aug 18 01:22:16 2010 -0700 3.3 @@ -435,22 +435,22 @@ 3.4 void _Copy_arrayof_conjoint_bytes(HeapWord* from, 3.5 HeapWord* to, 3.6 size_t count) { 3.7 - ShouldNotCallThis(); 3.8 + memmove(to, from, count); 3.9 } 3.10 void _Copy_arrayof_conjoint_jshorts(HeapWord* from, 3.11 HeapWord* to, 3.12 size_t count) { 3.13 - ShouldNotCallThis(); 3.14 + memmove(to, from, count * 2); 3.15 } 3.16 void _Copy_arrayof_conjoint_jints(HeapWord* from, 3.17 HeapWord* to, 3.18 size_t count) { 3.19 - ShouldNotCallThis(); 3.20 + memmove(to, from, count * 4); 3.21 } 3.22 void _Copy_arrayof_conjoint_jlongs(HeapWord* from, 3.23 HeapWord* to, 3.24 size_t count) { 3.25 - ShouldNotCallThis(); 3.26 + memmove(to, from, count * 8); 3.27 } 3.28 }; 3.29
4.1 --- a/src/os_cpu/linux_zero/vm/thread_linux_zero.cpp Fri Aug 13 15:14:00 2010 -0700 4.2 +++ b/src/os_cpu/linux_zero/vm/thread_linux_zero.cpp Wed Aug 18 01:22:16 2010 -0700 4.3 @@ -1,6 +1,6 @@ 4.4 /* 4.5 * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved. 4.6 - * Copyright 2009 Red Hat, Inc. 4.7 + * Copyright 2009, 2010 Red Hat, Inc. 4.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4.9 * 4.10 * This code is free software; you can redistribute it and/or modify it 4.11 @@ -23,6 +23,9 @@ 4.12 * 4.13 */ 4.14 4.15 -// This file is intentionally empty 4.16 +#include "incls/_precompiled.incl" 4.17 +#include "incls/_thread_linux_zero.cpp.incl" 4.18 4.19 -void JavaThread::cache_global_variables() { } 4.20 +void JavaThread::cache_global_variables() { 4.21 + // nothing to do 4.22 +}
5.1 --- a/src/share/vm/interpreter/bytecodeInterpreter.cpp Fri Aug 13 15:14:00 2010 -0700 5.2 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Aug 18 01:22:16 2010 -0700 5.3 @@ -421,7 +421,9 @@ 5.4 #ifdef ASSERT 5.5 if (istate->_msg != initialize) { 5.6 assert(abs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit"); 5.7 - IA32_ONLY(assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1, "wrong")); 5.8 +#ifndef SHARK 5.9 + IA32_ONLY(assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1, "wrong")); 5.10 +#endif // !SHARK 5.11 } 5.12 // Verify linkages. 5.13 interpreterState l = istate;