Mercurial > hg > graal-compiler
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 |