src/hotspot/cpu/s390/sharedRuntime_s390.cpp
changeset 50094 2f79462aab9b
parent 49449 ef5d5d343e2a
child 51966 2a2a78bd1fc3
equal deleted inserted replaced
50093:55153a374d18 50094:2f79462aab9b
     1 /*
     1 /*
     2  * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
     3  * Copyright (c) 2016, 2017 SAP SE. All rights reserved.
     3  * Copyright (c) 2016, 2018 SAP SE. All rights reserved.
     4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     5  *
     5  *
     6  * This code is free software; you can redistribute it and/or modify it
     6  * This code is free software; you can redistribute it and/or modify it
     7  * under the terms of the GNU General Public License version 2 only, as
     7  * under the terms of the GNU General Public License version 2 only, as
     8  * published by the Free Software Foundation.
     8  * published by the Free Software Foundation.
   312 
   312 
   313   // Save return pc in old frame.
   313   // Save return pc in old frame.
   314   __ save_return_pc(return_pc);
   314   __ save_return_pc(return_pc);
   315 
   315 
   316   // Push a new frame (includes stack linkage).
   316   // Push a new frame (includes stack linkage).
   317   // use return_pc as scratch for push_frame. Z_R0_scratch (the default) and Z_R1_scratch are
   317   // Use return_pc as scratch for push_frame. Z_R0_scratch (the default) and Z_R1_scratch are
   318   // illegally used to pass parameters (SAPJVM extension) by RangeCheckStub::emit_code().
   318   // illegally used to pass parameters by RangeCheckStub::emit_code().
   319   __ push_frame(frame_size_in_bytes, return_pc);
   319   __ push_frame(frame_size_in_bytes, return_pc);
   320   // We have to restore return_pc right away.
   320   // We have to restore return_pc right away.
   321   // Nobody else will. Furthermore, return_pc isn't necessarily the default (Z_R14).
   321   // Nobody else will. Furthermore, return_pc isn't necessarily the default (Z_R14).
   322   // Nobody else knows which register we saved.
   322   // Nobody else knows which register we saved.
   323   __ z_lg(return_pc, _z_abi16(return_pc) + frame_size_in_bytes, Z_SP);
   323   __ z_lg(return_pc, _z_abi16(return_pc) + frame_size_in_bytes, Z_SP);