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 //