src/share/vm/runtime/stubRoutines.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File g1-bulk-zeroing-reduction Cdiff src/share/vm/runtime/stubRoutines.hpp

src/share/vm/runtime/stubRoutines.hpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1997, 2010, 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. --- 1,7 ---- /* ! * Copyright (c) 1997, 2011, 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.
*** 162,195 **** // arraycopy operands aligned on element type boundary static address _jbyte_arraycopy; static address _jshort_arraycopy; static address _jint_arraycopy; static address _jlong_arraycopy; ! static address _oop_arraycopy; static address _jbyte_disjoint_arraycopy; static address _jshort_disjoint_arraycopy; static address _jint_disjoint_arraycopy; static address _jlong_disjoint_arraycopy; ! static address _oop_disjoint_arraycopy; // arraycopy operands aligned on zero'th element boundary // These are identical to the ones aligned aligned on an // element type boundary, except that they assume that both // source and destination are HeapWord aligned. static address _arrayof_jbyte_arraycopy; static address _arrayof_jshort_arraycopy; static address _arrayof_jint_arraycopy; static address _arrayof_jlong_arraycopy; ! static address _arrayof_oop_arraycopy; static address _arrayof_jbyte_disjoint_arraycopy; static address _arrayof_jshort_disjoint_arraycopy; static address _arrayof_jint_disjoint_arraycopy; static address _arrayof_jlong_disjoint_arraycopy; ! static address _arrayof_oop_disjoint_arraycopy; // these are recommended but optional: ! static address _checkcast_arraycopy; static address _unsafe_arraycopy; static address _generic_arraycopy; static address _jbyte_fill; static address _jshort_fill; --- 162,195 ---- // arraycopy operands aligned on element type boundary static address _jbyte_arraycopy; static address _jshort_arraycopy; static address _jint_arraycopy; static address _jlong_arraycopy; ! static address _oop_arraycopy, _oop_arraycopy_no_pre; static address _jbyte_disjoint_arraycopy; static address _jshort_disjoint_arraycopy; static address _jint_disjoint_arraycopy; static address _jlong_disjoint_arraycopy; ! static address _oop_disjoint_arraycopy, _oop_disjoint_arraycopy_no_pre; // arraycopy operands aligned on zero'th element boundary // These are identical to the ones aligned aligned on an // element type boundary, except that they assume that both // source and destination are HeapWord aligned. static address _arrayof_jbyte_arraycopy; static address _arrayof_jshort_arraycopy; static address _arrayof_jint_arraycopy; static address _arrayof_jlong_arraycopy; ! static address _arrayof_oop_arraycopy, _arrayof_oop_arraycopy_no_pre; static address _arrayof_jbyte_disjoint_arraycopy; static address _arrayof_jshort_disjoint_arraycopy; static address _arrayof_jint_disjoint_arraycopy; static address _arrayof_jlong_disjoint_arraycopy; ! static address _arrayof_oop_disjoint_arraycopy, _arrayof_oop_disjoint_arraycopy_no_pre; // these are recommended but optional: ! static address _checkcast_arraycopy, _checkcast_arraycopy_no_pre; static address _unsafe_arraycopy; static address _generic_arraycopy; static address _jbyte_fill; static address _jshort_fill;
*** 284,313 **** static address jbyte_arraycopy() { return _jbyte_arraycopy; } static address jshort_arraycopy() { return _jshort_arraycopy; } static address jint_arraycopy() { return _jint_arraycopy; } static address jlong_arraycopy() { return _jlong_arraycopy; } ! static address oop_arraycopy() { return _oop_arraycopy; } static address jbyte_disjoint_arraycopy() { return _jbyte_disjoint_arraycopy; } static address jshort_disjoint_arraycopy() { return _jshort_disjoint_arraycopy; } static address jint_disjoint_arraycopy() { return _jint_disjoint_arraycopy; } static address jlong_disjoint_arraycopy() { return _jlong_disjoint_arraycopy; } ! static address oop_disjoint_arraycopy() { return _oop_disjoint_arraycopy; } static address arrayof_jbyte_arraycopy() { return _arrayof_jbyte_arraycopy; } static address arrayof_jshort_arraycopy() { return _arrayof_jshort_arraycopy; } static address arrayof_jint_arraycopy() { return _arrayof_jint_arraycopy; } static address arrayof_jlong_arraycopy() { return _arrayof_jlong_arraycopy; } ! static address arrayof_oop_arraycopy() { return _arrayof_oop_arraycopy; } static address arrayof_jbyte_disjoint_arraycopy() { return _arrayof_jbyte_disjoint_arraycopy; } static address arrayof_jshort_disjoint_arraycopy() { return _arrayof_jshort_disjoint_arraycopy; } static address arrayof_jint_disjoint_arraycopy() { return _arrayof_jint_disjoint_arraycopy; } static address arrayof_jlong_disjoint_arraycopy() { return _arrayof_jlong_disjoint_arraycopy; } ! static address arrayof_oop_disjoint_arraycopy() { return _arrayof_oop_disjoint_arraycopy; } ! static address checkcast_arraycopy() { return _checkcast_arraycopy; } static address unsafe_arraycopy() { return _unsafe_arraycopy; } static address generic_arraycopy() { return _generic_arraycopy; } static address jbyte_fill() { return _jbyte_fill; } static address jshort_fill() { return _jshort_fill; } --- 284,323 ---- static address jbyte_arraycopy() { return _jbyte_arraycopy; } static address jshort_arraycopy() { return _jshort_arraycopy; } static address jint_arraycopy() { return _jint_arraycopy; } static address jlong_arraycopy() { return _jlong_arraycopy; } ! static address oop_arraycopy(bool need_pre_barrier = true) { ! return need_pre_barrier ? _oop_arraycopy : _oop_arraycopy_no_pre; ! } static address jbyte_disjoint_arraycopy() { return _jbyte_disjoint_arraycopy; } static address jshort_disjoint_arraycopy() { return _jshort_disjoint_arraycopy; } static address jint_disjoint_arraycopy() { return _jint_disjoint_arraycopy; } static address jlong_disjoint_arraycopy() { return _jlong_disjoint_arraycopy; } ! static address oop_disjoint_arraycopy(bool need_pre_barrier = true) { ! return need_pre_barrier ? _oop_disjoint_arraycopy : _oop_disjoint_arraycopy_no_pre; ! } static address arrayof_jbyte_arraycopy() { return _arrayof_jbyte_arraycopy; } static address arrayof_jshort_arraycopy() { return _arrayof_jshort_arraycopy; } static address arrayof_jint_arraycopy() { return _arrayof_jint_arraycopy; } static address arrayof_jlong_arraycopy() { return _arrayof_jlong_arraycopy; } ! static address arrayof_oop_arraycopy(bool need_pre_barrier = true) { ! return need_pre_barrier ? _arrayof_oop_arraycopy : _arrayof_oop_arraycopy_no_pre; ! } static address arrayof_jbyte_disjoint_arraycopy() { return _arrayof_jbyte_disjoint_arraycopy; } static address arrayof_jshort_disjoint_arraycopy() { return _arrayof_jshort_disjoint_arraycopy; } static address arrayof_jint_disjoint_arraycopy() { return _arrayof_jint_disjoint_arraycopy; } static address arrayof_jlong_disjoint_arraycopy() { return _arrayof_jlong_disjoint_arraycopy; } ! static address arrayof_oop_disjoint_arraycopy(bool need_pre_barrier = true) { ! return need_pre_barrier ? _arrayof_oop_disjoint_arraycopy : _arrayof_oop_disjoint_arraycopy_no_pre; ! } ! static address checkcast_arraycopy(bool need_pre_barrier = true) { ! return need_pre_barrier ? _checkcast_arraycopy : _checkcast_arraycopy_no_pre; ! } static address unsafe_arraycopy() { return _unsafe_arraycopy; } static address generic_arraycopy() { return _generic_arraycopy; } static address jbyte_fill() { return _jbyte_fill; } static address jshort_fill() { return _jshort_fill; }
*** 351,368 **** // // Default versions of the above arraycopy functions for platforms which do // not have specialized versions // static void jbyte_copy (jbyte* src, jbyte* dest, size_t count); ! static void jshort_copy(jshort* src, jshort* dest, size_t count); static void jint_copy (jint* src, jint* dest, size_t count); static void jlong_copy (jlong* src, jlong* dest, size_t count); static void oop_copy (oop* src, oop* dest, size_t count); static void arrayof_jbyte_copy (HeapWord* src, HeapWord* dest, size_t count); ! static void arrayof_jshort_copy(HeapWord* src, HeapWord* dest, size_t count); static void arrayof_jint_copy (HeapWord* src, HeapWord* dest, size_t count); static void arrayof_jlong_copy (HeapWord* src, HeapWord* dest, size_t count); static void arrayof_oop_copy (HeapWord* src, HeapWord* dest, size_t count); }; #endif // SHARE_VM_RUNTIME_STUBROUTINES_HPP --- 361,380 ---- // // Default versions of the above arraycopy functions for platforms which do // not have specialized versions // static void jbyte_copy (jbyte* src, jbyte* dest, size_t count); ! static void jshort_copy (jshort* src, jshort* dest, size_t count); static void jint_copy (jint* src, jint* dest, size_t count); static void jlong_copy (jlong* src, jlong* dest, size_t count); static void oop_copy (oop* src, oop* dest, size_t count); + static void oop_copy_no_pre(oop* src, oop* dest, size_t count); static void arrayof_jbyte_copy (HeapWord* src, HeapWord* dest, size_t count); ! static void arrayof_jshort_copy (HeapWord* src, HeapWord* dest, size_t count); static void arrayof_jint_copy (HeapWord* src, HeapWord* dest, size_t count); static void arrayof_jlong_copy (HeapWord* src, HeapWord* dest, size_t count); static void arrayof_oop_copy (HeapWord* src, HeapWord* dest, size_t count); + static void arrayof_oop_copy_no_pre(HeapWord* src, HeapWord* dest, size_t count); }; #endif // SHARE_VM_RUNTIME_STUBROUTINES_HPP
src/share/vm/runtime/stubRoutines.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File