20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_OOPS_METHOD_INLINE_HPP
26 #define SHARE_OOPS_METHOD_INLINE_HPP
27
28 #include "oops/method.hpp"
29
30 #include "classfile/vmIntrinsics.hpp"
31 #include "code/nmethod.inline.hpp"
32 #include "oops/methodCounters.hpp"
33 #include "oops/methodData.inline.hpp"
34 #include "runtime/atomic.hpp"
35
36 inline address Method::from_compiled_entry() const {
37 return Atomic::load_acquire(&_from_compiled_entry);
38 }
39
40 inline address Method::from_interpreted_entry() const {
41 return Atomic::load_acquire(&_from_interpreted_entry);
42 }
43
44 inline nmethod* Method::code() const {
45 assert( check_code(), "" );
46 return Atomic::load_acquire(&_code);
47 }
48
49 // Write (bci, line number) pair to stream
50 inline void CompressedLineNumberWriteStream::write_pair_regular(int bci_delta, int line_delta) {
51 // bci and line number does not compress into single byte.
52 // Write out escape character and use regular compression for bci and line number.
53 write_byte((jubyte)0xFF);
54 write_signed_int(bci_delta);
55 write_signed_int(line_delta);
56 }
57
58 inline void CompressedLineNumberWriteStream::write_pair_inline(int bci, int line) {
59 int bci_delta = bci - _bci;
|
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_OOPS_METHOD_INLINE_HPP
26 #define SHARE_OOPS_METHOD_INLINE_HPP
27
28 #include "oops/method.hpp"
29
30 #include "classfile/vmIntrinsics.hpp"
31 #include "code/nmethod.inline.hpp"
32 #include "oops/methodCounters.hpp"
33 #include "oops/methodData.inline.hpp"
34 #include "runtime/atomic.hpp"
35
36 inline address Method::from_compiled_entry() const {
37 return Atomic::load_acquire(&_from_compiled_entry);
38 }
39
40 inline address Method::from_compiled_inline_ro_entry() const {
41 return Atomic::load_acquire(&_from_compiled_inline_ro_entry);
42 }
43
44 inline address Method::from_compiled_inline_entry() const {
45 return Atomic::load_acquire(&_from_compiled_inline_entry);
46 }
47
48 inline address Method::from_interpreted_entry() const {
49 return Atomic::load_acquire(&_from_interpreted_entry);
50 }
51
52 inline nmethod* Method::code() const {
53 assert( check_code(), "" );
54 return Atomic::load_acquire(&_code);
55 }
56
57 // Write (bci, line number) pair to stream
58 inline void CompressedLineNumberWriteStream::write_pair_regular(int bci_delta, int line_delta) {
59 // bci and line number does not compress into single byte.
60 // Write out escape character and use regular compression for bci and line number.
61 write_byte((jubyte)0xFF);
62 write_signed_int(bci_delta);
63 write_signed_int(line_delta);
64 }
65
66 inline void CompressedLineNumberWriteStream::write_pair_inline(int bci, int line) {
67 int bci_delta = bci - _bci;
|