11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #ifndef CPU_S390_VM_FRAME_S390_INLINE_HPP
27 #define CPU_S390_VM_FRAME_S390_INLINE_HPP
28
29 #include "code/codeCache.hpp"
30 #include "code/vmreg.inline.hpp"
31
32 // Inline functions for z/Architecture frames:
33
34 inline void frame::find_codeblob_and_set_pc_and_deopt_state(address pc) {
35 assert(pc != NULL, "precondition: must have PC");
36
37 _cb = CodeCache::find_blob(pc);
38 _pc = pc; // Must be set for get_deopt_original_pc().
39
40 _fp = (intptr_t *) own_abi()->callers_sp;
41
42 address original_pc = CompiledMethod::get_deopt_original_pc(this);
43 if (original_pc != NULL) {
44 _pc = original_pc;
45 _deopt_state = is_deoptimized;
46 } else {
47 _deopt_state = not_deoptimized;
48 }
49
50 assert(((uint64_t)_sp & 0x7) == 0, "SP must be 8-byte aligned");
|
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #ifndef CPU_S390_VM_FRAME_S390_INLINE_HPP
27 #define CPU_S390_VM_FRAME_S390_INLINE_HPP
28
29 #include "code/codeCache.hpp"
30 #include "code/vmreg.inline.hpp"
31 #include "utilities/align.hpp"
32
33 // Inline functions for z/Architecture frames:
34
35 inline void frame::find_codeblob_and_set_pc_and_deopt_state(address pc) {
36 assert(pc != NULL, "precondition: must have PC");
37
38 _cb = CodeCache::find_blob(pc);
39 _pc = pc; // Must be set for get_deopt_original_pc().
40
41 _fp = (intptr_t *) own_abi()->callers_sp;
42
43 address original_pc = CompiledMethod::get_deopt_original_pc(this);
44 if (original_pc != NULL) {
45 _pc = original_pc;
46 _deopt_state = is_deoptimized;
47 } else {
48 _deopt_state = not_deoptimized;
49 }
50
51 assert(((uint64_t)_sp & 0x7) == 0, "SP must be 8-byte aligned");
|