Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/share/vm/c1/c1_Defs.hpp
32285 views
/*1* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*22*/2324#ifndef SHARE_VM_C1_C1_DEFS_HPP25#define SHARE_VM_C1_C1_DEFS_HPP2627#include "utilities/globalDefinitions.hpp"28#ifdef TARGET_ARCH_x8629# include "register_x86.hpp"30#endif31#ifdef TARGET_ARCH_aarch3232# include "register_aarch32.hpp"33#endif34#ifdef TARGET_ARCH_aarch6435# include "register_aarch64.hpp"36#endif37#ifdef TARGET_ARCH_sparc38# include "register_sparc.hpp"39#endif40#ifdef TARGET_ARCH_zero41# include "register_zero.hpp"42#endif43#ifdef TARGET_ARCH_arm44# include "register_arm.hpp"45#endif46#ifdef TARGET_ARCH_ppc47# include "register_ppc.hpp"48#endif4950// set frame size and return address offset to these values in blobs51// (if the compiled frame uses ebp as link pointer on IA; otherwise,52// the frame size must be fixed)53enum {54no_frame_size = -155};565758#ifdef TARGET_ARCH_x8659# include "c1_Defs_x86.hpp"60#endif61#ifdef TARGET_ARCH_aarch3262# include "c1_Defs_aarch32.hpp"63#endif64#ifdef TARGET_ARCH_aarch6465# include "c1_Defs_aarch64.hpp"66#endif67#ifdef TARGET_ARCH_sparc68# include "c1_Defs_sparc.hpp"69#endif70#ifdef TARGET_ARCH_arm71# include "c1_Defs_arm.hpp"72#endif73#ifdef TARGET_ARCH_ppc74# include "c1_Defs_ppc.hpp"75#endif767778// native word offsets from memory address79enum {80lo_word_offset_in_bytes = pd_lo_word_offset_in_bytes,81hi_word_offset_in_bytes = pd_hi_word_offset_in_bytes82};838485// the processor may require explicit rounding operations to implement the strictFP mode86enum {87strict_fp_requires_explicit_rounding = pd_strict_fp_requires_explicit_rounding88};899091// for debug info: a float value in a register may be saved in double precision by runtime stubs92enum {93float_saved_as_double = pd_float_saved_as_double94};9596#endif // SHARE_VM_C1_C1_DEFS_HPP979899