comparison src/share/vm/runtime/vframe_hp.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 d2a62e0f25eb
children e522a00b91aa
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 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 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
28 #include "runtime/vframe.hpp" 28 #include "runtime/vframe.hpp"
29 29
30 class compiledVFrame: public javaVFrame { 30 class compiledVFrame: public javaVFrame {
31 public: 31 public:
32 // JVM state 32 // JVM state
33 methodOop method() const; 33 Method* method() const;
34 int bci() const; 34 int bci() const;
35 bool should_reexecute() const; 35 bool should_reexecute() const;
36 StackValueCollection* locals() const; 36 StackValueCollection* locals() const;
37 StackValueCollection* expressions() const; 37 StackValueCollection* expressions() const;
38 GrowableArray<MonitorInfo*>* monitors() const; 38 GrowableArray<MonitorInfo*>* monitors() const;
90 90
91 class jvmtiDeferredLocalVariable; 91 class jvmtiDeferredLocalVariable;
92 class jvmtiDeferredLocalVariableSet : public CHeapObj<mtCompiler> { 92 class jvmtiDeferredLocalVariableSet : public CHeapObj<mtCompiler> {
93 private: 93 private:
94 94
95 methodOop _method; // must be GC'd 95 Method* _method;
96 int _bci; 96 int _bci;
97 intptr_t* _id; 97 intptr_t* _id;
98 GrowableArray<jvmtiDeferredLocalVariable*>* _locals; 98 GrowableArray<jvmtiDeferredLocalVariable*>* _locals;
99 99
100 public: 100 public:
101 // JVM state 101 // JVM state
102 methodOop method() const { return _method; } 102 Method* method() const { return _method; }
103 int bci() const { return _bci; } 103 int bci() const { return _bci; }
104 intptr_t* id() const { return _id; } 104 intptr_t* id() const { return _id; }
105 GrowableArray<jvmtiDeferredLocalVariable*>* locals() const { return _locals; } 105 GrowableArray<jvmtiDeferredLocalVariable*>* locals() const { return _locals; }
106 void set_local_at(int idx, BasicType typ, jvalue val); 106 void set_local_at(int idx, BasicType typ, jvalue val);
107 107
109 bool matches(vframe* vf); 109 bool matches(vframe* vf);
110 // GC 110 // GC
111 void oops_do(OopClosure* f); 111 void oops_do(OopClosure* f);
112 112
113 // constructor 113 // constructor
114 jvmtiDeferredLocalVariableSet(methodOop method, int bci, intptr_t* id); 114 jvmtiDeferredLocalVariableSet(Method* method, int bci, intptr_t* id);
115 115
116 // destructor 116 // destructor
117 ~jvmtiDeferredLocalVariableSet(); 117 ~jvmtiDeferredLocalVariableSet();
118 118
119 119