18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
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 "oops/methodCounters.hpp"
32 #include "runtime/atomic.hpp"
33
34 inline address Method::from_compiled_entry() const {
35 return Atomic::load_acquire(&_from_compiled_entry);
36 }
37
38 inline address Method::from_interpreted_entry() const {
39 return Atomic::load_acquire(&_from_interpreted_entry);
40 }
41
42 inline nmethod* Method::code() const {
43 assert( check_code(), "" );
44 return Atomic::load_acquire(&_code);
45 }
46
47 // Write (bci, line number) pair to stream
48 inline void CompressedLineNumberWriteStream::write_pair_regular(int bci_delta, int line_delta) {
49 // bci and line number does not compress into single byte.
50 // Write out escape character and use regular compression for bci and line number.
51 write_byte((jubyte)0xFF);
52 write_signed_int(bci_delta);
53 write_signed_int(line_delta);
54 }
55
56 inline void CompressedLineNumberWriteStream::write_pair_inline(int bci, int line) {
57 int bci_delta = bci - _bci;
|
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
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 "oops/methodCounters.hpp"
32 #include "runtime/atomic.hpp"
33
34 inline address Method::from_compiled_entry() const {
35 return Atomic::load_acquire(&_from_compiled_entry);
36 }
37
38 inline address Method::from_compiled_inline_ro_entry() const {
39 return Atomic::load_acquire(&_from_compiled_inline_ro_entry);
40 }
41
42 inline address Method::from_compiled_inline_entry() const {
43 return Atomic::load_acquire(&_from_compiled_inline_entry);
44 }
45
46 inline address Method::from_interpreted_entry() const {
47 return Atomic::load_acquire(&_from_interpreted_entry);
48 }
49
50 inline nmethod* Method::code() const {
51 assert( check_code(), "" );
52 return Atomic::load_acquire(&_code);
53 }
54
55 // Write (bci, line number) pair to stream
56 inline void CompressedLineNumberWriteStream::write_pair_regular(int bci_delta, int line_delta) {
57 // bci and line number does not compress into single byte.
58 // Write out escape character and use regular compression for bci and line number.
59 write_byte((jubyte)0xFF);
60 write_signed_int(bci_delta);
61 write_signed_int(line_delta);
62 }
63
64 inline void CompressedLineNumberWriteStream::write_pair_inline(int bci, int line) {
65 int bci_delta = bci - _bci;
|