Mercurial > hg > graal-compiler
comparison src/share/vm/ci/ciStreams.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 | 7f813940ac35 |
children | f6b0eb4e44cf |
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. |
53 return c; | 53 return c; |
54 } | 54 } |
55 | 55 |
56 ciMethod* _method; // the method | 56 ciMethod* _method; // the method |
57 ciInstanceKlass* _holder; | 57 ciInstanceKlass* _holder; |
58 ciCPCache* _cpcache; | |
59 address _bc_start; // Start of current bytecode for table | 58 address _bc_start; // Start of current bytecode for table |
60 address _was_wide; // Address past last wide bytecode | 59 address _was_wide; // Address past last wide bytecode |
61 jint* _table_base; // Aligned start of last table or switch | 60 jint* _table_base; // Aligned start of last table or switch |
62 | 61 |
63 address _start; // Start of bytecodes | 62 address _start; // Start of bytecodes |
67 Bytecodes::Code _raw_bc; // Current bytecode, raw form | 66 Bytecodes::Code _raw_bc; // Current bytecode, raw form |
68 | 67 |
69 void reset( address base, unsigned int size ) { | 68 void reset( address base, unsigned int size ) { |
70 _bc_start =_was_wide = 0; | 69 _bc_start =_was_wide = 0; |
71 _start = _pc = base; _end = base + size; | 70 _start = _pc = base; _end = base + size; |
72 _cpcache = NULL; | |
73 } | 71 } |
74 | 72 |
75 void assert_wide(bool require_wide) const { | 73 void assert_wide(bool require_wide) const { |
76 if (require_wide) | 74 if (require_wide) |
77 { assert(is_wide(), "must be a wide instruction"); } | 75 { assert(is_wide(), "must be a wide instruction"); } |
264 ciObject* get_appendix(); | 262 ciObject* get_appendix(); |
265 ciKlass* get_declared_method_holder(); | 263 ciKlass* get_declared_method_holder(); |
266 int get_method_holder_index(); | 264 int get_method_holder_index(); |
267 int get_method_signature_index(); | 265 int get_method_signature_index(); |
268 | 266 |
269 ciCPCache* get_cpcache() const; | 267 // Get the resolved references arrays from the constant pool |
270 ciCallSite* get_call_site(); | 268 ciObjArray* get_resolved_references(); |
271 }; | 269 }; |
272 | 270 |
273 | 271 |
274 // ciSignatureStream | 272 // ciSignatureStream |
275 // | 273 // |