comparison src/share/vm/shark/sharkRuntime.hpp @ 6725:da91efe96a93

6964458: Reimplement class meta-data storage to use native memory Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author coleenp
date Sat, 01 Sep 2012 13:25:18 -0400
parents f95d63e2154a
children
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
3 * Copyright 2008, 2009, 2010 Red Hat, Inc. 3 * Copyright 2008, 2009, 2010 Red Hat, Inc.
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
25 25
26 #ifndef SHARE_VM_SHARK_SHARKRUNTIME_HPP 26 #ifndef SHARE_VM_SHARK_SHARKRUNTIME_HPP
27 #define SHARE_VM_SHARK_SHARKRUNTIME_HPP 27 #define SHARE_VM_SHARK_SHARKRUNTIME_HPP
28 28
29 #include "memory/allocation.hpp" 29 #include "memory/allocation.hpp"
30 #include "oops/klassOop.hpp"
31 #include "runtime/thread.hpp" 30 #include "runtime/thread.hpp"
32 #include "shark/llvmHeaders.hpp" 31 #include "shark/llvmHeaders.hpp"
33 #include "shark/llvmValue.hpp" 32 #include "shark/llvmValue.hpp"
34 33
35 class SharkRuntime : public AllStatic { 34 class SharkRuntime : public AllStatic {
69 // Helpers for VM calls 68 // Helpers for VM calls
70 private: 69 private:
71 static const SharkFrame* last_frame(JavaThread *thread) { 70 static const SharkFrame* last_frame(JavaThread *thread) {
72 return thread->last_frame().zero_sharkframe(); 71 return thread->last_frame().zero_sharkframe();
73 } 72 }
74 static methodOop method(JavaThread *thread) { 73 static Method* method(JavaThread *thread) {
75 return last_frame(thread)->method(); 74 return last_frame(thread)->method();
76 } 75 }
77 static address bcp(JavaThread *thread, int bci) { 76 static address bcp(JavaThread *thread, int bci) {
78 return method(thread)->code_base() + bci; 77 return method(thread)->code_base() + bci;
79 } 78 }
85 } 84 }
86 85
87 // Non-VM calls 86 // Non-VM calls
88 public: 87 public:
89 static void dump(const char *name, intptr_t value); 88 static void dump(const char *name, intptr_t value);
90 static bool is_subtype_of(klassOop check_klass, klassOop object_klass); 89 static bool is_subtype_of(Klass* check_klass, Klass* object_klass);
91 static int uncommon_trap(JavaThread* thread, int trap_request); 90 static int uncommon_trap(JavaThread* thread, int trap_request);
92 }; 91 };
93 92
94 #endif // SHARE_VM_SHARK_SHARKRUNTIME_HPP 93 #endif // SHARE_VM_SHARK_SHARKRUNTIME_HPP