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 #ifndef CC_INTERP |
51 #ifndef CC_INTERP |
51 |
52 |
740 return entry_point; |
741 return entry_point; |
741 } |
742 } |
742 |
743 |
743 // Method entry for java.lang.ref.Reference.get. |
744 // Method entry for java.lang.ref.Reference.get. |
744 address InterpreterGenerator::generate_Reference_get_entry(void) { |
745 address InterpreterGenerator::generate_Reference_get_entry(void) { |
745 #ifndef SERIALGC |
746 #if INCLUDE_ALL_GCS |
746 // Code: _aload_0, _getfield, _areturn |
747 // Code: _aload_0, _getfield, _areturn |
747 // parameter size = 1 |
748 // parameter size = 1 |
748 // |
749 // |
749 // The code that gets generated by this routine is split into 2 parts: |
750 // The code that gets generated by this routine is split into 2 parts: |
750 // 1. The "intrinsified" code for G1 (or any SATB based GC), |
751 // 1. The "intrinsified" code for G1 (or any SATB based GC), |
819 __ bind(slow_path); |
820 __ bind(slow_path); |
820 (void) generate_normal_entry(false); |
821 (void) generate_normal_entry(false); |
821 |
822 |
822 return entry; |
823 return entry; |
823 } |
824 } |
824 #endif // SERIALGC |
825 #endif // INCLUDE_ALL_GCS |
825 |
826 |
826 // If G1 is not enabled then attempt to go through the accessor entry point |
827 // If G1 is not enabled then attempt to go through the accessor entry point |
827 // Reference.get is an accessor |
828 // Reference.get is an accessor |
828 return generate_accessor_entry(); |
829 return generate_accessor_entry(); |
829 } |
830 } |