Path: blob/master/runtime/compiler/codegen/PreprologueConst.hpp
6000 views
/*******************************************************************************1* Copyright (c) 2000, 2017 IBM Corp. and others2*3* This program and the accompanying materials are made available under4* the terms of the Eclipse Public License 2.0 which accompanies this5* distribution and is available at https://www.eclipse.org/legal/epl-2.0/6* or the Apache License, Version 2.0 which accompanies this distribution and7* is available at https://www.apache.org/licenses/LICENSE-2.0.8*9* This Source Code may also be made available under the following10* Secondary Licenses when the conditions for such availability set11* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU12* General Public License, version 2 with the GNU Classpath13* Exception [1] and GNU General Public License, version 2 with the14* OpenJDK Assembly Exception [2].15*16* [1] https://www.gnu.org/software/classpath/license.html17* [2] http://openjdk.java.net/legal/assembly-exception.html18*19* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception20*******************************************************************************/2122#if defined(TR_HOST_X86)23#define SAMPLING_CALL_SIZE (5)24#define LINKAGE_INFO_SIZE (4)25#if defined(TR_TARGET_64BIT)26#define SAVE_AREA_SIZE (2)27#define JITTED_BODY_INFO_SIZE (8)28#else29#define SAVE_AREA_SIZE (0)30#define JITTED_BODY_INFO_SIZE (4)31#endif32#elif defined(TR_TARGET_S390)33#if defined(TR_TARGET_64BIT)34// Offset from interpreter entry point to the JIT entry point save / restore location used for patching35#define OFFSET_INTEP_JITEP_SAVE_RESTORE_LOCATION -163637// Offset from interpreter entry point to the VM call helper trampoline38#define OFFSET_INTEP_VM_CALL_HELPER_TRAMPOLINE -203940// Offset from interpreter entry point to the samplingRecompileMethod trampoline41#define OFFSET_INTEP_SAMPLING_RECOMPILE_METHOD_TRAMPOLINE 244243// Offset from interpreter entry point to the samplingRecompileMethod address44#define OFFSET_INTEP_SAMPLING_RECOMPILE_METHOD_ADDRESS 324546// Offset from JIT entry point to the countingPatchCallSite snippet start47#define OFFSET_JITEP_COUNTING_PATCH_CALL_SITE_SNIPPET_START 724849// Offset from JIT entry point to the countingPatchCallSite snippet end50#define OFFSET_JITEP_COUNTING_PATCH_CALL_SITE_SNIPPET_END 1245152// Size in bytes of the counting prologue53#define COUNTING_PROLOGUE_SIZE 13454#else55// Offset from interpreter entry point to the JIT entry point save / restore location used for patching56#define OFFSET_INTEP_JITEP_SAVE_RESTORE_LOCATION -125758// Offset from interpreter entry point to the VM call helper trampoline59#define OFFSET_INTEP_VM_CALL_HELPER_TRAMPOLINE -166061// Offset from interpreter entry point to the samplingRecompileMethod trampoline62#define OFFSET_INTEP_SAMPLING_RECOMPILE_METHOD_TRAMPOLINE 206364// Offset from interpreter entry point to the samplingRecompileMethod address65#define OFFSET_INTEP_SAMPLING_RECOMPILE_METHOD_ADDRESS 246667// Offset from JIT entry point to the countingPatchCallSite snippet start68#define OFFSET_JITEP_COUNTING_PATCH_CALL_SITE_SNIPPET_START 586970// Offset from JIT entry point to the countingPatchCallSite snippet end71#define OFFSET_JITEP_COUNTING_PATCH_CALL_SITE_SNIPPET_END 967273// Size in bytes of the counting prologue74#define COUNTING_PROLOGUE_SIZE 10475#endif76#endif777879