< prev index next >
src/hotspot/share/runtime/stubRoutines.hpp
Print this page
rev 50307 : [mq]: cont
*** 119,129 ****
static jint _mxcsr_std;
static jint _fpu_subnormal_bias1[3];
static jint _fpu_subnormal_bias2[3];
static BufferBlob* _code1; // code buffer for initial routines
! static BufferBlob* _code2; // code buffer for all other routines
// Leaf routines which implement arraycopy and their addresses
// arraycopy operands aligned on element type boundary
static address _jbyte_arraycopy;
static address _jshort_arraycopy;
--- 119,130 ----
static jint _mxcsr_std;
static jint _fpu_subnormal_bias1[3];
static jint _fpu_subnormal_bias2[3];
static BufferBlob* _code1; // code buffer for initial routines
! static BufferBlob* _code2;
! static BufferBlob* _code3; // code buffer for all other routines
// Leaf routines which implement arraycopy and their addresses
// arraycopy operands aligned on element type boundary
static address _jbyte_arraycopy;
static address _jshort_arraycopy;
*** 204,213 ****
--- 205,220 ----
static address _dlibm_sin_cos_huge;
static address _dlibm_reduce_pi04l;
static address _dlibm_tan_cot_huge;
static address _dtan;
+ static address _cont_doYield;
+ static address _cont_thaw;
+ static address _cont_returnBarrier;
+ static address _cont_getSP;
+ static address _cont_getPC;
+
// These are versions of the java.lang.Math methods which perform
// the same operations as the intrinsic version. They are used for
// constant folding in the compiler to ensure equivalence. If the
// intrinsic version returns the same result as the strict version
// then they can be set to the appropriate function from
*** 228,237 ****
--- 235,245 ----
public:
// Initialization/Testing
static void initialize1(); // must happen before universe::genesis
static void initialize2(); // must happen after universe::genesis
+ static void initializeContinuationStubs(); // must happen after universe::genesis
static bool is_stub_code(address addr) { return contains(addr); }
static bool contains(address addr) {
return
*** 239,248 ****
--- 247,257 ----
(_code2 != NULL && _code2->blob_contains(addr)) ;
}
static RuntimeBlob* code1() { return _code1; }
static RuntimeBlob* code2() { return _code2; }
+ static RuntimeBlob* code3() { return _code3; }
// Debugging
static jint verify_oop_count() { return _verify_oop_count; }
static jint* verify_oop_count_addr() { return &_verify_oop_count; }
// a subroutine for debugging the GC
*** 379,388 ****
--- 388,404 ----
static address dlibm_reduce_pi04l() { return _dlibm_reduce_pi04l; }
static address dlibm_sin_cos_huge() { return _dlibm_sin_cos_huge; }
static address dlibm_tan_cot_huge() { return _dlibm_tan_cot_huge; }
static address dtan() { return _dtan; }
+ static address cont_doYield() { return _cont_doYield; }
+ static address cont_thaw() { return _cont_thaw; }
+ static address cont_returnBarrier() { return _cont_returnBarrier; }
+ static address cont_getSP() { return _cont_getSP; }
+ static address cont_getPC() { return _cont_getPC; }
+
+
static address select_fill_function(BasicType t, bool aligned, const char* &name);
static address zero_aligned_words() { return _zero_aligned_words; }
static double intrinsic_log10(double d) {
< prev index next >