Mercurial > hg > truffle
comparison src/share/vm/c1/c1_Runtime1.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 | 8f37087fc13f |
children | e522a00b91aa 46f6f063b272 |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1999, 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. |
64 stub(monitorexit) \ | 64 stub(monitorexit) \ |
65 stub(monitorexit_nofpu) /* optimized version that does not preserve fpu registers */ \ | 65 stub(monitorexit_nofpu) /* optimized version that does not preserve fpu registers */ \ |
66 stub(deoptimize) \ | 66 stub(deoptimize) \ |
67 stub(access_field_patching) \ | 67 stub(access_field_patching) \ |
68 stub(load_klass_patching) \ | 68 stub(load_klass_patching) \ |
69 stub(load_mirror_patching) \ | |
69 stub(g1_pre_barrier_slow) \ | 70 stub(g1_pre_barrier_slow) \ |
70 stub(g1_post_barrier_slow) \ | 71 stub(g1_post_barrier_slow) \ |
71 stub(fpu2long_stub) \ | 72 stub(fpu2long_stub) \ |
72 stub(counter_overflow) \ | 73 stub(counter_overflow) \ |
73 last_entry(number_of_ids) | 74 last_entry(number_of_ids) |
129 | 130 |
130 static OopMapSet* generate_stub_call(StubAssembler* sasm, Register result, address entry, | 131 static OopMapSet* generate_stub_call(StubAssembler* sasm, Register result, address entry, |
131 Register arg1 = noreg, Register arg2 = noreg, Register arg3 = noreg); | 132 Register arg1 = noreg, Register arg2 = noreg, Register arg3 = noreg); |
132 | 133 |
133 // runtime entry points | 134 // runtime entry points |
134 static void new_instance (JavaThread* thread, klassOopDesc* klass); | 135 static void new_instance (JavaThread* thread, Klass* klass); |
135 static void new_type_array (JavaThread* thread, klassOopDesc* klass, jint length); | 136 static void new_type_array (JavaThread* thread, Klass* klass, jint length); |
136 static void new_object_array(JavaThread* thread, klassOopDesc* klass, jint length); | 137 static void new_object_array(JavaThread* thread, Klass* klass, jint length); |
137 static void new_multi_array (JavaThread* thread, klassOopDesc* klass, int rank, jint* dims); | 138 static void new_multi_array (JavaThread* thread, Klass* klass, int rank, jint* dims); |
138 | 139 |
139 static address counter_overflow(JavaThread* thread, int bci, methodOopDesc* method); | 140 static address counter_overflow(JavaThread* thread, int bci, Method* method); |
140 | 141 |
141 static void unimplemented_entry (JavaThread* thread, StubID id); | 142 static void unimplemented_entry (JavaThread* thread, StubID id); |
142 | 143 |
143 static address exception_handler_for_pc(JavaThread* thread); | 144 static address exception_handler_for_pc(JavaThread* thread); |
144 | 145 |
155 | 156 |
156 static void deoptimize(JavaThread* thread); | 157 static void deoptimize(JavaThread* thread); |
157 | 158 |
158 static int access_field_patching(JavaThread* thread); | 159 static int access_field_patching(JavaThread* thread); |
159 static int move_klass_patching(JavaThread* thread); | 160 static int move_klass_patching(JavaThread* thread); |
161 static int move_mirror_patching(JavaThread* thread); | |
160 | 162 |
161 static void patch_code(JavaThread* thread, StubID stub_id); | 163 static void patch_code(JavaThread* thread, StubID stub_id); |
162 | 164 |
163 public: | 165 public: |
164 // initialization | 166 // initialization |