1 /* 2 * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. 3 * Copyright (c) 2014, Red Hat Inc. All rights reserved. 4 * Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved. 5 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6 * 7 * This code is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License version 2 only, as 9 * published by the Free Software Foundation. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 * 25 */ 26 27 #include "precompiled.hpp" 28 #include "runtime/deoptimization.hpp" 29 #include "runtime/frame.inline.hpp" 30 #include "runtime/stubRoutines.hpp" 31 #include "runtime/thread.inline.hpp" 32 #include "utilities/globalDefinitions.hpp" 33 34 // Implementation of the platform-specific part of StubRoutines - for 35 // a description of how to extend it, see the stubRoutines.hpp file. 36 37 address StubRoutines::riscv::_get_previous_sp_entry = NULL; 38 39 address StubRoutines::riscv::_f2i_fixup = NULL; 40 address StubRoutines::riscv::_f2l_fixup = NULL; 41 address StubRoutines::riscv::_d2i_fixup = NULL; 42 address StubRoutines::riscv::_d2l_fixup = NULL; 43 address StubRoutines::riscv::_float_sign_mask = NULL; 44 address StubRoutines::riscv::_float_sign_flip = NULL; 45 address StubRoutines::riscv::_double_sign_mask = NULL; 46 address StubRoutines::riscv::_double_sign_flip = NULL; 47 address StubRoutines::riscv::_zero_blocks = NULL; 48 address StubRoutines::riscv::_compare_long_string_LL = NULL; 49 address StubRoutines::riscv::_compare_long_string_UU = NULL; 50 address StubRoutines::riscv::_compare_long_string_LU = NULL; 51 address StubRoutines::riscv::_compare_long_string_UL = NULL; 52 address StubRoutines::riscv::_string_indexof_linear_ll = NULL; 53 address StubRoutines::riscv::_string_indexof_linear_uu = NULL; 54 address StubRoutines::riscv::_string_indexof_linear_ul = NULL; 55 address StubRoutines::riscv::_large_byte_array_inflate = NULL; 56 address StubRoutines::riscv::_method_entry_barrier = NULL; 57 58 bool StubRoutines::riscv::_completed = false;