< prev index next >

src/hotspot/share/classfile/vmSymbols.cpp

Print this page




 346 
 347   return vmIntrinsics::_none;
 348 }
 349 
 350 bool vmIntrinsics::preserves_state(vmIntrinsics::ID id) {
 351   assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
 352   switch(id) {
 353 #ifdef JFR_HAVE_INTRINSICS
 354   case vmIntrinsics::_counterTime:
 355 #endif
 356   case vmIntrinsics::_currentTimeMillis:
 357   case vmIntrinsics::_nanoTime:
 358   case vmIntrinsics::_floatToRawIntBits:
 359   case vmIntrinsics::_intBitsToFloat:
 360   case vmIntrinsics::_doubleToRawLongBits:
 361   case vmIntrinsics::_longBitsToDouble:
 362   case vmIntrinsics::_getClass:
 363   case vmIntrinsics::_isInstance:
 364   case vmIntrinsics::_currentThread:
 365   case vmIntrinsics::_dabs:



 366   case vmIntrinsics::_dsqrt:
 367   case vmIntrinsics::_dsin:
 368   case vmIntrinsics::_dcos:
 369   case vmIntrinsics::_dtan:
 370   case vmIntrinsics::_dlog:
 371   case vmIntrinsics::_dlog10:
 372   case vmIntrinsics::_dexp:
 373   case vmIntrinsics::_dpow:
 374   case vmIntrinsics::_checkIndex:
 375   case vmIntrinsics::_Reference_get:
 376   case vmIntrinsics::_updateCRC32:
 377   case vmIntrinsics::_updateBytesCRC32:
 378   case vmIntrinsics::_updateByteBufferCRC32:
 379   case vmIntrinsics::_vectorizedMismatch:
 380   case vmIntrinsics::_fmaD:
 381   case vmIntrinsics::_fmaF:
 382   case vmIntrinsics::_isDigit:
 383   case vmIntrinsics::_isLowerCase:
 384   case vmIntrinsics::_isUpperCase:
 385   case vmIntrinsics::_isWhitespace:


 387   default:
 388     return false;
 389   }
 390 }
 391 
 392 bool vmIntrinsics::can_trap(vmIntrinsics::ID id) {
 393   assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
 394   switch(id) {
 395 #ifdef JFR_HAVE_INTRINSICS
 396   case vmIntrinsics::_counterTime:
 397   case vmIntrinsics::_getClassId:
 398 #endif
 399   case vmIntrinsics::_currentTimeMillis:
 400   case vmIntrinsics::_nanoTime:
 401   case vmIntrinsics::_floatToRawIntBits:
 402   case vmIntrinsics::_intBitsToFloat:
 403   case vmIntrinsics::_doubleToRawLongBits:
 404   case vmIntrinsics::_longBitsToDouble:
 405   case vmIntrinsics::_currentThread:
 406   case vmIntrinsics::_dabs:



 407   case vmIntrinsics::_dsqrt:
 408   case vmIntrinsics::_dsin:
 409   case vmIntrinsics::_dcos:
 410   case vmIntrinsics::_dtan:
 411   case vmIntrinsics::_dlog:
 412   case vmIntrinsics::_dlog10:
 413   case vmIntrinsics::_dexp:
 414   case vmIntrinsics::_dpow:
 415   case vmIntrinsics::_updateCRC32:
 416   case vmIntrinsics::_updateBytesCRC32:
 417   case vmIntrinsics::_updateByteBufferCRC32:
 418   case vmIntrinsics::_vectorizedMismatch:
 419   case vmIntrinsics::_fmaD:
 420   case vmIntrinsics::_fmaF:
 421     return false;
 422   default:
 423     return true;
 424   }
 425 }
 426 


 550   case vmIntrinsics::_getModifiers:
 551   case vmIntrinsics::_isInterface:
 552   case vmIntrinsics::_isArray:
 553   case vmIntrinsics::_isPrimitive:
 554   case vmIntrinsics::_getSuperclass:
 555   case vmIntrinsics::_Class_cast:
 556   case vmIntrinsics::_getLength:
 557   case vmIntrinsics::_newArray:
 558   case vmIntrinsics::_getClass:
 559     if (!InlineClassNatives) return true;
 560     break;
 561   case vmIntrinsics::_currentThread:
 562   case vmIntrinsics::_isInterrupted:
 563     if (!InlineThreadNatives) return true;
 564     break;
 565   case vmIntrinsics::_floatToRawIntBits:
 566   case vmIntrinsics::_intBitsToFloat:
 567   case vmIntrinsics::_doubleToRawLongBits:
 568   case vmIntrinsics::_longBitsToDouble:
 569   case vmIntrinsics::_dabs:



 570   case vmIntrinsics::_dsqrt:
 571   case vmIntrinsics::_dsin:
 572   case vmIntrinsics::_dcos:
 573   case vmIntrinsics::_dtan:
 574   case vmIntrinsics::_dlog:
 575   case vmIntrinsics::_dexp:
 576   case vmIntrinsics::_dpow:
 577   case vmIntrinsics::_dlog10:
 578   case vmIntrinsics::_datan2:
 579   case vmIntrinsics::_min:
 580   case vmIntrinsics::_max:
 581   case vmIntrinsics::_floatToIntBits:
 582   case vmIntrinsics::_doubleToLongBits:
 583   case vmIntrinsics::_maxF:
 584   case vmIntrinsics::_minF:
 585   case vmIntrinsics::_maxD:
 586   case vmIntrinsics::_minD:
 587     if (!InlineMathNatives) return true;
 588     break;
 589   case vmIntrinsics::_fmaD:




 346 
 347   return vmIntrinsics::_none;
 348 }
 349 
 350 bool vmIntrinsics::preserves_state(vmIntrinsics::ID id) {
 351   assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
 352   switch(id) {
 353 #ifdef JFR_HAVE_INTRINSICS
 354   case vmIntrinsics::_counterTime:
 355 #endif
 356   case vmIntrinsics::_currentTimeMillis:
 357   case vmIntrinsics::_nanoTime:
 358   case vmIntrinsics::_floatToRawIntBits:
 359   case vmIntrinsics::_intBitsToFloat:
 360   case vmIntrinsics::_doubleToRawLongBits:
 361   case vmIntrinsics::_longBitsToDouble:
 362   case vmIntrinsics::_getClass:
 363   case vmIntrinsics::_isInstance:
 364   case vmIntrinsics::_currentThread:
 365   case vmIntrinsics::_dabs:
 366   case vmIntrinsics::_fabs:
 367   case vmIntrinsics::_iabs:
 368   case vmIntrinsics::_labs:
 369   case vmIntrinsics::_dsqrt:
 370   case vmIntrinsics::_dsin:
 371   case vmIntrinsics::_dcos:
 372   case vmIntrinsics::_dtan:
 373   case vmIntrinsics::_dlog:
 374   case vmIntrinsics::_dlog10:
 375   case vmIntrinsics::_dexp:
 376   case vmIntrinsics::_dpow:
 377   case vmIntrinsics::_checkIndex:
 378   case vmIntrinsics::_Reference_get:
 379   case vmIntrinsics::_updateCRC32:
 380   case vmIntrinsics::_updateBytesCRC32:
 381   case vmIntrinsics::_updateByteBufferCRC32:
 382   case vmIntrinsics::_vectorizedMismatch:
 383   case vmIntrinsics::_fmaD:
 384   case vmIntrinsics::_fmaF:
 385   case vmIntrinsics::_isDigit:
 386   case vmIntrinsics::_isLowerCase:
 387   case vmIntrinsics::_isUpperCase:
 388   case vmIntrinsics::_isWhitespace:


 390   default:
 391     return false;
 392   }
 393 }
 394 
 395 bool vmIntrinsics::can_trap(vmIntrinsics::ID id) {
 396   assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
 397   switch(id) {
 398 #ifdef JFR_HAVE_INTRINSICS
 399   case vmIntrinsics::_counterTime:
 400   case vmIntrinsics::_getClassId:
 401 #endif
 402   case vmIntrinsics::_currentTimeMillis:
 403   case vmIntrinsics::_nanoTime:
 404   case vmIntrinsics::_floatToRawIntBits:
 405   case vmIntrinsics::_intBitsToFloat:
 406   case vmIntrinsics::_doubleToRawLongBits:
 407   case vmIntrinsics::_longBitsToDouble:
 408   case vmIntrinsics::_currentThread:
 409   case vmIntrinsics::_dabs:
 410   case vmIntrinsics::_fabs:
 411   case vmIntrinsics::_iabs:
 412   case vmIntrinsics::_labs:
 413   case vmIntrinsics::_dsqrt:
 414   case vmIntrinsics::_dsin:
 415   case vmIntrinsics::_dcos:
 416   case vmIntrinsics::_dtan:
 417   case vmIntrinsics::_dlog:
 418   case vmIntrinsics::_dlog10:
 419   case vmIntrinsics::_dexp:
 420   case vmIntrinsics::_dpow:
 421   case vmIntrinsics::_updateCRC32:
 422   case vmIntrinsics::_updateBytesCRC32:
 423   case vmIntrinsics::_updateByteBufferCRC32:
 424   case vmIntrinsics::_vectorizedMismatch:
 425   case vmIntrinsics::_fmaD:
 426   case vmIntrinsics::_fmaF:
 427     return false;
 428   default:
 429     return true;
 430   }
 431 }
 432 


 556   case vmIntrinsics::_getModifiers:
 557   case vmIntrinsics::_isInterface:
 558   case vmIntrinsics::_isArray:
 559   case vmIntrinsics::_isPrimitive:
 560   case vmIntrinsics::_getSuperclass:
 561   case vmIntrinsics::_Class_cast:
 562   case vmIntrinsics::_getLength:
 563   case vmIntrinsics::_newArray:
 564   case vmIntrinsics::_getClass:
 565     if (!InlineClassNatives) return true;
 566     break;
 567   case vmIntrinsics::_currentThread:
 568   case vmIntrinsics::_isInterrupted:
 569     if (!InlineThreadNatives) return true;
 570     break;
 571   case vmIntrinsics::_floatToRawIntBits:
 572   case vmIntrinsics::_intBitsToFloat:
 573   case vmIntrinsics::_doubleToRawLongBits:
 574   case vmIntrinsics::_longBitsToDouble:
 575   case vmIntrinsics::_dabs:
 576   case vmIntrinsics::_fabs:
 577   case vmIntrinsics::_iabs:
 578   case vmIntrinsics::_labs:
 579   case vmIntrinsics::_dsqrt:
 580   case vmIntrinsics::_dsin:
 581   case vmIntrinsics::_dcos:
 582   case vmIntrinsics::_dtan:
 583   case vmIntrinsics::_dlog:
 584   case vmIntrinsics::_dexp:
 585   case vmIntrinsics::_dpow:
 586   case vmIntrinsics::_dlog10:
 587   case vmIntrinsics::_datan2:
 588   case vmIntrinsics::_min:
 589   case vmIntrinsics::_max:
 590   case vmIntrinsics::_floatToIntBits:
 591   case vmIntrinsics::_doubleToLongBits:
 592   case vmIntrinsics::_maxF:
 593   case vmIntrinsics::_minF:
 594   case vmIntrinsics::_maxD:
 595   case vmIntrinsics::_minD:
 596     if (!InlineMathNatives) return true;
 597     break;
 598   case vmIntrinsics::_fmaD:


< prev index next >