1 /*
2 * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef CPU_ARM_STACKCHUNKFRAMESTREAM_ARM_INLINE_HPP
26 #define CPU_ARM_STACKCHUNKFRAMESTREAM_ARM_INLINE_HPP
27
28 #include "interpreter/oopMapCache.hpp"
29 #include "runtime/frame.inline.hpp"
30 #include "runtime/registerMap.hpp"
31
32 #ifdef ASSERT
33 template <ChunkFrames frame_kind>
34 inline bool StackChunkFrameStream<frame_kind>::is_in_frame(void* p0) const {
35 Unimplemented();
36 return true;
37 }
38 #endif
39
40 template <ChunkFrames frame_kind>
41 inline frame StackChunkFrameStream<frame_kind>::to_frame() const {
42 Unimplemented();
43 return frame();
44 }
45
46 template <ChunkFrames frame_kind>
47 inline address StackChunkFrameStream<frame_kind>::get_pc() const {
48 Unimplemented();
49 return nullptr;
50 }
51
52 template <ChunkFrames frame_kind>
53 inline intptr_t* StackChunkFrameStream<frame_kind>::fp() const {
54 Unimplemented();
55 return nullptr;
56 }
57
58 template <ChunkFrames frame_kind>
59 inline intptr_t* StackChunkFrameStream<frame_kind>::derelativize(int offset) const {
60 Unimplemented();
61 return nullptr;
62 }
63
64 template <ChunkFrames frame_kind>
65 inline intptr_t* StackChunkFrameStream<frame_kind>::unextended_sp_for_interpreter_frame() const {
66 Unimplemented();
67 return nullptr;
68 }
69
70 template <ChunkFrames frame_kind>
71 inline void StackChunkFrameStream<frame_kind>::next_for_interpreter_frame() {
72 Unimplemented();
73 }
74
75 template <ChunkFrames frame_kind>
76 inline int StackChunkFrameStream<frame_kind>::interpreter_frame_size() const {
77 Unimplemented();
78 return 0;
79 }
80
81 template <ChunkFrames frame_kind>
82 inline int StackChunkFrameStream<frame_kind>::interpreter_frame_stack_argsize() const {
83 Unimplemented();
84 return 0;
85 }
86
87 template <ChunkFrames frame_kind>
88 inline int StackChunkFrameStream<frame_kind>::interpreter_frame_num_oops() const {
89 Unimplemented();
90 return 0;
91 }
92
93 template<>
94 template<>
95 inline void StackChunkFrameStream<ChunkFrames::Mixed>::update_reg_map_pd(RegisterMap* map) {
96 Unimplemented();
97 }
98
99 template<>
100 template<>
101 inline void StackChunkFrameStream<ChunkFrames::CompiledOnly>::update_reg_map_pd(RegisterMap* map) {
102 Unimplemented();
103 }
104
105 template <ChunkFrames frame_kind>
106 template <typename RegisterMapT>
107 inline void StackChunkFrameStream<frame_kind>::update_reg_map_pd(RegisterMapT* map) {}
108
109 #endif // CPU_ARM_STACKCHUNKFRAMESTREAM_ARM_INLINE_HPP