equal
deleted
inserted
replaced
42 #include "runtime/stubRoutines.hpp" |
42 #include "runtime/stubRoutines.hpp" |
43 #include "runtime/synchronizer.hpp" |
43 #include "runtime/synchronizer.hpp" |
44 #include "runtime/timer.hpp" |
44 #include "runtime/timer.hpp" |
45 #include "runtime/vframeArray.hpp" |
45 #include "runtime/vframeArray.hpp" |
46 #include "utilities/debug.hpp" |
46 #include "utilities/debug.hpp" |
|
47 #include "utilities/macros.hpp" |
47 |
48 |
48 #define __ _masm-> |
49 #define __ _masm-> |
49 |
50 |
50 |
51 |
51 #ifndef CC_INTERP |
52 #ifndef CC_INTERP |
759 |
760 |
760 } |
761 } |
761 |
762 |
762 // Method entry for java.lang.ref.Reference.get. |
763 // Method entry for java.lang.ref.Reference.get. |
763 address InterpreterGenerator::generate_Reference_get_entry(void) { |
764 address InterpreterGenerator::generate_Reference_get_entry(void) { |
764 #ifndef SERIALGC |
765 #if INCLUDE_ALL_GCS |
765 // Code: _aload_0, _getfield, _areturn |
766 // Code: _aload_0, _getfield, _areturn |
766 // parameter size = 1 |
767 // parameter size = 1 |
767 // |
768 // |
768 // The code that gets generated by this routine is split into 2 parts: |
769 // The code that gets generated by this routine is split into 2 parts: |
769 // 1. The "intrinsified" code for G1 (or any SATB based GC), |
770 // 1. The "intrinsified" code for G1 (or any SATB based GC), |
842 __ bind(slow_path); |
843 __ bind(slow_path); |
843 (void) generate_normal_entry(false); |
844 (void) generate_normal_entry(false); |
844 |
845 |
845 return entry; |
846 return entry; |
846 } |
847 } |
847 #endif // SERIALGC |
848 #endif // INCLUDE_ALL_GCS |
848 |
849 |
849 // If G1 is not enabled then attempt to go through the accessor entry point |
850 // If G1 is not enabled then attempt to go through the accessor entry point |
850 // Reference.get is an accessor |
851 // Reference.get is an accessor |
851 return generate_accessor_entry(); |
852 return generate_accessor_entry(); |
852 } |
853 } |