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 #include "precompiled.hpp"
26 #include "compiler/abstractCompiler.hpp"
27 #include "compiler/disassembler.hpp"
28 #include "gc_interface/collectedHeap.inline.hpp"
29 #include "interpreter/interpreter.hpp"
30 #include "interpreter/oopMapCache.hpp"
31 #include "memory/resourceArea.hpp"
32 #include "memory/universe.inline.hpp"
33 #include "oops/markOop.hpp"
34 #include "oops/methodData.hpp"
35 #include "oops/method.hpp"
36 #include "oops/oop.inline.hpp"
37 #include "oops/oop.inline2.hpp"
38 #include "prims/methodHandles.hpp"
39 #include "runtime/frame.inline.hpp"
40 #include "runtime/handles.inline.hpp"
41 #include "runtime/javaCalls.hpp"
42 #include "runtime/monitorChunk.hpp"
43 #include "runtime/os.hpp"
44 #include "runtime/sharedRuntime.hpp"
45 #include "runtime/signature.hpp"
46 #include "runtime/stubCodeGenerator.hpp"
47 #include "runtime/stubRoutines.hpp"
48 #include "runtime/thread.inline.hpp"
49 #include "utilities/decoder.hpp"
50
51 #ifdef TARGET_ARCH_x86
52 # include "nativeInst_x86.hpp"
53 #endif
54 #ifdef TARGET_ARCH_sparc
55 # include "nativeInst_sparc.hpp"
56 #endif
57 #ifdef TARGET_ARCH_zero
58 # include "nativeInst_zero.hpp"
59 #endif
60 #ifdef TARGET_ARCH_arm
61 # include "nativeInst_arm.hpp"
62 #endif
63 #ifdef TARGET_ARCH_ppc
64 # include "nativeInst_ppc.hpp"
65 #endif
66
67 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
68
69 RegisterMap::RegisterMap(JavaThread *thread, bool update_map) {
70 _thread = thread;
71 _update_map = update_map;
72 clear();
73 debug_only(_update_for_id = NULL;)
74 #ifndef PRODUCT
75 for (int i = 0; i < reg_count ; i++ ) _location[i] = NULL;
76 #endif /* PRODUCT */
77 }
78
79 RegisterMap::RegisterMap(const RegisterMap* map) {
80 assert(map != this, "bad initialization parameter");
81 assert(map != NULL, "RegisterMap must be present");
82 _thread = map->thread();
83 _update_map = map->update_map();
84 _include_argument_oops = map->include_argument_oops();
85 debug_only(_update_for_id = map->_update_for_id;)
|
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 #include "precompiled.hpp"
26 #include "code/codeCache.hpp"
27 #include "code/vmreg.inline.hpp"
28 #include "compiler/abstractCompiler.hpp"
29 #include "compiler/disassembler.hpp"
30 #include "gc_interface/collectedHeap.inline.hpp"
31 #include "interpreter/interpreter.hpp"
32 #include "interpreter/oopMapCache.hpp"
33 #include "memory/resourceArea.hpp"
34 #include "memory/universe.inline.hpp"
35 #include "oops/markOop.hpp"
36 #include "oops/methodData.hpp"
37 #include "oops/method.hpp"
38 #include "oops/oop.inline.hpp"
39 #include "oops/oop.inline2.hpp"
40 #include "prims/methodHandles.hpp"
41 #include "runtime/frame.inline.hpp"
42 #include "runtime/handles.inline.hpp"
43 #include "runtime/javaCalls.hpp"
44 #include "runtime/monitorChunk.hpp"
45 #include "runtime/os.hpp"
46 #include "runtime/sharedRuntime.hpp"
47 #include "runtime/signature.hpp"
48 #include "runtime/stubCodeGenerator.hpp"
49 #include "runtime/stubRoutines.hpp"
50 #include "runtime/thread.inline.hpp"
51 #include "utilities/decoder.hpp"
52
53
54 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
55
56 RegisterMap::RegisterMap(JavaThread *thread, bool update_map) {
57 _thread = thread;
58 _update_map = update_map;
59 clear();
60 debug_only(_update_for_id = NULL;)
61 #ifndef PRODUCT
62 for (int i = 0; i < reg_count ; i++ ) _location[i] = NULL;
63 #endif /* PRODUCT */
64 }
65
66 RegisterMap::RegisterMap(const RegisterMap* map) {
67 assert(map != this, "bad initialization parameter");
68 assert(map != NULL, "RegisterMap must be present");
69 _thread = map->thread();
70 _update_map = map->update_map();
71 _include_argument_oops = map->include_argument_oops();
72 debug_only(_update_for_id = map->_update_for_id;)
|