src/share/vm/oops/constMethodOop.hpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 39,49 **** // | header | // | klass | // |------------------------------------------------------| // | fingerprint 1 | // | fingerprint 2 | ! // | method (oop) | // | stackmap_data (oop) | // | exception_table (oop) | // | constMethod_size | // | interp_kind | flags | code_size | // | name index | signature index | --- 39,49 ---- // | header | // | klass | // |------------------------------------------------------| // | fingerprint 1 | // | fingerprint 2 | ! // | constants (oop) | // | stackmap_data (oop) | // | exception_table (oop) | // | constMethod_size | // | interp_kind | flags | code_size | // | name index | signature index |
*** 111,130 **** // multiple threads, so is volatile. volatile uint64_t _fingerprint; volatile bool _is_conc_safe; // if true, safe for concurrent GC processing public: ! oop* oop_block_beg() const { return adr_method(); } oop* oop_block_end() const { return adr_exception_table() + 1; } private: // // The oop block. See comment in klass.hpp before making changes. // ! // Backpointer to non-const methodOop (needed for some JVMTI operations) ! methodOop _method; // Raw stackmap data for the method typeArrayOop _stackmap_data; // The exception handler table. 4-tuples of ints [start_pc, end_pc, --- 111,129 ---- // multiple threads, so is volatile. volatile uint64_t _fingerprint; volatile bool _is_conc_safe; // if true, safe for concurrent GC processing public: ! oop* oop_block_beg() const { return adr_constants(); } oop* oop_block_end() const { return adr_exception_table() + 1; } private: // // The oop block. See comment in klass.hpp before making changes. // ! constantPoolOop _constants; // Constant pool // Raw stackmap data for the method typeArrayOop _stackmap_data; // The exception handler table. 4-tuples of ints [start_pc, end_pc,
*** 165,178 **** { return (_flags & _has_localvariable_table) != 0; } void set_interpreter_kind(int kind) { _interpreter_kind = kind; } int interpreter_kind(void) const { return _interpreter_kind; } ! // backpointer to non-const methodOop ! methodOop method() const { return _method; } ! void set_method(methodOop m) { oop_store_without_check((oop*)&_method, (oop) m); } // stackmap table data typeArrayOop stackmap_data() const { return _stackmap_data; } void set_stackmap_data(typeArrayOop sd) { oop_store_without_check((oop*)&_stackmap_data, (oop)sd); --- 164,180 ---- { return (_flags & _has_localvariable_table) != 0; } void set_interpreter_kind(int kind) { _interpreter_kind = kind; } int interpreter_kind(void) const { return _interpreter_kind; } ! // constant pool ! constantPoolOop constants() const { return _constants; } ! void set_constants(constantPoolOop c) { ! oop_store_without_check((oop*)&_constants, (oop)c); ! } + methodOop method() const; // stackmap table data typeArrayOop stackmap_data() const { return _stackmap_data; } void set_stackmap_data(typeArrayOop sd) { oop_store_without_check((oop*)&_stackmap_data, (oop)sd);
*** 276,290 **** // Offset to bytecodes static ByteSize codes_offset() { return in_ByteSize(sizeof(constMethodOopDesc)); } // interpreter support static ByteSize exception_table_offset() { return byte_offset_of(constMethodOopDesc, _exception_table); } // Garbage collection support ! oop* adr_method() const { return (oop*)&_method; } oop* adr_stackmap_data() const { return (oop*)&_stackmap_data; } oop* adr_exception_table() const { return (oop*)&_exception_table; } bool is_conc_safe() { return _is_conc_safe; } void set_is_conc_safe(bool v) { _is_conc_safe = v; } --- 278,294 ---- // Offset to bytecodes static ByteSize codes_offset() { return in_ByteSize(sizeof(constMethodOopDesc)); } // interpreter support + static ByteSize constants_offset() + { return byte_offset_of(constMethodOopDesc, _constants); } static ByteSize exception_table_offset() { return byte_offset_of(constMethodOopDesc, _exception_table); } // Garbage collection support ! oop* adr_constants() const { return (oop*)&_constants; } oop* adr_stackmap_data() const { return (oop*)&_stackmap_data; } oop* adr_exception_table() const { return (oop*)&_exception_table; } bool is_conc_safe() { return _is_conc_safe; } void set_is_conc_safe(bool v) { _is_conc_safe = v; }