src/share/vm/interpreter/templateInterpreterGenerator.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/interpreter

src/share/vm/interpreter/templateInterpreterGenerator.cpp

Print this page




 195 
 196       { CodeletMark cm(_masm, "exception handling");
 197         // (Note: this is not safepoint safe because thread may return to compiled code)
 198         generate_throw_exception();
 199       }
 200 
 201       { CodeletMark cm(_masm, "throw exception entrypoints");
 202         Interpreter::_throw_ArrayIndexOutOfBoundsException_entry = generate_ArrayIndexOutOfBounds_handler("java/lang/ArrayIndexOutOfBoundsException");
 203         Interpreter::_throw_ArrayStoreException_entry            = generate_klass_exception_handler("java/lang/ArrayStoreException"                 );
 204         Interpreter::_throw_ArithmeticException_entry            = generate_exception_handler("java/lang/ArithmeticException"           , "/ by zero");
 205         Interpreter::_throw_ClassCastException_entry             = generate_ClassCastException_handler();
 206         Interpreter::_throw_NullPointerException_entry           = generate_exception_handler("java/lang/NullPointerException"          , NULL       );
 207         Interpreter::_throw_StackOverflowError_entry             = generate_StackOverflowError_handler();
 208       }
 209 
 210 
 211 
 212 #define method_entry(kind)                                              \
 213       { CodeletMark cm(_masm, "method entry point (kind = " #kind ")"); \
 214         Interpreter::_entry_table[Interpreter::kind] = generate_method_entry(Interpreter::kind); \

 215       }
 216 
 217       // all non-native method kinds
 218       method_entry(zerolocals)
 219       method_entry(zerolocals_synchronized)
 220       method_entry(empty)
 221       method_entry(accessor)
 222       method_entry(abstract)
 223       method_entry(java_lang_math_sin  )
 224       method_entry(java_lang_math_cos  )
 225       method_entry(java_lang_math_tan  )
 226       method_entry(java_lang_math_abs  )
 227       method_entry(java_lang_math_sqrt )
 228       method_entry(java_lang_math_log  )
 229       method_entry(java_lang_math_log10)
 230       method_entry(java_lang_math_exp  )
 231       method_entry(java_lang_math_pow  )
 232       method_entry(java_lang_ref_reference_get)
 233 
 234       AbstractInterpreter::initialize_method_handle_entries();




 195 
 196       { CodeletMark cm(_masm, "exception handling");
 197         // (Note: this is not safepoint safe because thread may return to compiled code)
 198         generate_throw_exception();
 199       }
 200 
 201       { CodeletMark cm(_masm, "throw exception entrypoints");
 202         Interpreter::_throw_ArrayIndexOutOfBoundsException_entry = generate_ArrayIndexOutOfBounds_handler("java/lang/ArrayIndexOutOfBoundsException");
 203         Interpreter::_throw_ArrayStoreException_entry            = generate_klass_exception_handler("java/lang/ArrayStoreException"                 );
 204         Interpreter::_throw_ArithmeticException_entry            = generate_exception_handler("java/lang/ArithmeticException"           , "/ by zero");
 205         Interpreter::_throw_ClassCastException_entry             = generate_ClassCastException_handler();
 206         Interpreter::_throw_NullPointerException_entry           = generate_exception_handler("java/lang/NullPointerException"          , NULL       );
 207         Interpreter::_throw_StackOverflowError_entry             = generate_StackOverflowError_handler();
 208       }
 209 
 210 
 211 
 212 #define method_entry(kind)                                              \
 213       { CodeletMark cm(_masm, "method entry point (kind = " #kind ")"); \
 214         Interpreter::_entry_table[Interpreter::kind] = generate_method_entry(Interpreter::kind); \
 215         Interpreter::update_cds_entry_table(Interpreter::kind); \
 216       }
 217 
 218       // all non-native method kinds
 219       method_entry(zerolocals)
 220       method_entry(zerolocals_synchronized)
 221       method_entry(empty)
 222       method_entry(accessor)
 223       method_entry(abstract)
 224       method_entry(java_lang_math_sin  )
 225       method_entry(java_lang_math_cos  )
 226       method_entry(java_lang_math_tan  )
 227       method_entry(java_lang_math_abs  )
 228       method_entry(java_lang_math_sqrt )
 229       method_entry(java_lang_math_log  )
 230       method_entry(java_lang_math_log10)
 231       method_entry(java_lang_math_exp  )
 232       method_entry(java_lang_math_pow  )
 233       method_entry(java_lang_ref_reference_get)
 234 
 235       AbstractInterpreter::initialize_method_handle_entries();


src/share/vm/interpreter/templateInterpreterGenerator.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File