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 #ifndef CC_INTERP |
49 #ifndef CC_INTERP |
49 #ifndef FAST_DISPATCH |
50 #ifndef FAST_DISPATCH |
50 #define FAST_DISPATCH 1 |
51 #define FAST_DISPATCH 1 |
51 #endif |
52 #endif |
732 return NULL; |
733 return NULL; |
733 } |
734 } |
734 |
735 |
735 // Method entry for java.lang.ref.Reference.get. |
736 // Method entry for java.lang.ref.Reference.get. |
736 address InterpreterGenerator::generate_Reference_get_entry(void) { |
737 address InterpreterGenerator::generate_Reference_get_entry(void) { |
737 #ifndef SERIALGC |
738 #if INCLUDE_ALL_GCS |
738 // Code: _aload_0, _getfield, _areturn |
739 // Code: _aload_0, _getfield, _areturn |
739 // parameter size = 1 |
740 // parameter size = 1 |
740 // |
741 // |
741 // The code that gets generated by this routine is split into 2 parts: |
742 // The code that gets generated by this routine is split into 2 parts: |
742 // 1. The "intrinsified" code for G1 (or any SATB based GC), |
743 // 1. The "intrinsified" code for G1 (or any SATB based GC), |
803 // Generate regular method entry |
804 // Generate regular method entry |
804 __ bind(slow_path); |
805 __ bind(slow_path); |
805 (void) generate_normal_entry(false); |
806 (void) generate_normal_entry(false); |
806 return entry; |
807 return entry; |
807 } |
808 } |
808 #endif // SERIALGC |
809 #endif // INCLUDE_ALL_GCS |
809 |
810 |
810 // If G1 is not enabled then attempt to go through the accessor entry point |
811 // If G1 is not enabled then attempt to go through the accessor entry point |
811 // Reference.get is an accessor |
812 // Reference.get is an accessor |
812 return generate_accessor_entry(); |
813 return generate_accessor_entry(); |
813 } |
814 } |