Mercurial > hg > truffle
comparison src/share/vm/ci/ciStreams.hpp @ 6948:e522a00b91aa
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/ after NPG - C++ build works
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 12 Nov 2012 23:14:12 +0100 |
parents | f6b0eb4e44cf |
children | d13d7aba8c12 |
comparison
equal
deleted
inserted
replaced
6711:ae13cc658b80 | 6948:e522a00b91aa |
---|---|
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"); } |
257 | 255 |
258 ciInstanceKlass* get_declared_field_holder(); | 256 ciInstanceKlass* get_declared_field_holder(); |
259 int get_field_holder_index(); | 257 int get_field_holder_index(); |
260 int get_field_signature_index(); | 258 int get_field_signature_index(); |
261 | 259 |
262 ciMethod* get_method(bool& will_link, ciSignature* *declared_signature_result); | 260 ciMethod* get_method(bool& will_link, ciSignature* *declared_signature_result); |
263 bool has_appendix(); | 261 bool has_appendix(); |
264 ciObject* get_appendix(); | 262 ciObject* get_appendix(); |
265 ciKlass* get_declared_method_holder(); | 263 bool has_method_type(); |
266 int get_method_holder_index(); | 264 ciMethodType* get_method_type(); |
267 int get_method_signature_index(); | 265 ciKlass* get_declared_method_holder(); |
268 | 266 int get_method_holder_index(); |
269 ciCPCache* get_cpcache() const; | 267 int get_method_signature_index(); |
270 ciCallSite* get_call_site(); | 268 |
269 // Get the resolved references arrays from the constant pool | |
270 ciObjArray* get_resolved_references(); | |
271 }; | 271 }; |
272 | 272 |
273 | 273 |
274 // ciSignatureStream | 274 // ciSignatureStream |
275 // | 275 // |