Quellcode-Bibliothek c1_FrameMap_s390.cpp
Sprache: C
/* * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2019 SAP SE. 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. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. *
*/
// The following registers are usually unavailable.
DEBUG_ONLY(unallocated++); map_register(13, Z_R8);
DEBUG_ONLY(unallocated++); map_register(14, Z_R9);
DEBUG_ONLY(unallocated++); map_register(15, Z_R15);
assert(allocated-1 == pd_last_cpu_reg, "wrong number/mapping of allocated CPU registers");
assert(unallocated == pd_nof_cpu_regs_unallocated, "wrong number of unallocated CPU registers");
assert(nof_cpu_regs == allocated+unallocated, "wrong number of CPU registers");
int j = 0; for (int i = 0; i < nof_fpu_regs; i++) { if (as_FloatRegister(i) == Z_fscratch_1) continue; // unallocated
map_float_register(j++, as_FloatRegister(i));
}
assert(j == nof_fpu_regs-1, "missed one fpu reg?");
map_float_register(j++, Z_fscratch_1);
// JSR 292 // On ZARCH_64, there is no need to save the SP, because neither // method handle intrinsics nor compiled lambda forms modify it.
LIR_Opr FrameMap::method_handle_invoke_SP_save_opr() { return LIR_OprFact::illegalOpr;
}
bool FrameMap::validate_frame() { returntrue;
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.2Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.