comparison src/share/vm/runtime/javaCalls.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 f08d439fab8c
children e522a00b91aa f34d701e952e
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 1997, 2011, 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.
24 24
25 #ifndef SHARE_VM_RUNTIME_JAVACALLS_HPP 25 #ifndef SHARE_VM_RUNTIME_JAVACALLS_HPP
26 #define SHARE_VM_RUNTIME_JAVACALLS_HPP 26 #define SHARE_VM_RUNTIME_JAVACALLS_HPP
27 27
28 #include "memory/allocation.hpp" 28 #include "memory/allocation.hpp"
29 #include "oops/methodOop.hpp" 29 #include "oops/method.hpp"
30 #include "runtime/handles.hpp" 30 #include "runtime/handles.hpp"
31 #include "runtime/javaFrameAnchor.hpp" 31 #include "runtime/javaFrameAnchor.hpp"
32 #include "runtime/vmThread.hpp" 32 #include "runtime/vmThread.hpp"
33 #ifdef TARGET_ARCH_x86 33 #ifdef TARGET_ARCH_x86
34 # include "jniTypes_x86.hpp" 34 # include "jniTypes_x86.hpp"
65 class JavaCallWrapper: StackObj { 65 class JavaCallWrapper: StackObj {
66 friend class VMStructs; 66 friend class VMStructs;
67 private: 67 private:
68 JavaThread* _thread; // the thread to which this call belongs 68 JavaThread* _thread; // the thread to which this call belongs
69 JNIHandleBlock* _handles; // the saved handle block 69 JNIHandleBlock* _handles; // the saved handle block
70 methodOop _callee_method; // to be able to collect arguments if entry frame is top frame 70 Method* _callee_method; // to be able to collect arguments if entry frame is top frame
71 oop _receiver; // the receiver of the call (if a non-static call) 71 oop _receiver; // the receiver of the call (if a non-static call)
72 72
73 JavaFrameAnchor _anchor; // last thread anchor state that we must restore 73 JavaFrameAnchor _anchor; // last thread anchor state that we must restore
74 74
75 JavaValue* _result; // result value 75 JavaValue* _result; // result value
85 85
86 JavaFrameAnchor* anchor(void) { return &_anchor; } 86 JavaFrameAnchor* anchor(void) { return &_anchor; }
87 87
88 JavaValue* result() const { return _result; } 88 JavaValue* result() const { return _result; }
89 // GC support 89 // GC support
90 methodOop callee_method() { return _callee_method; } 90 Method* callee_method() { return _callee_method; }
91 oop receiver() { return _receiver; } 91 oop receiver() { return _receiver; }
92 void oops_do(OopClosure* f); 92 void oops_do(OopClosure* f);
93 93
94 }; 94 };
95 95