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 return true;
383 default:
384 return false;
385 }
386 }
387
388 bool vmIntrinsics::can_trap(vmIntrinsics::ID id) {
389 assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
390 switch(id) {
391 #ifdef JFR_HAVE_INTRINSICS
392 case vmIntrinsics::_counterTime:
393 case vmIntrinsics::_getClassId:
394 #endif
395 case vmIntrinsics::_currentTimeMillis:
516 case vmIntrinsics::_compareToUL:
517 case vmIntrinsics::_equalsL:
518 case vmIntrinsics::_equalsU:
519 case vmIntrinsics::_equalsC:
520 case vmIntrinsics::_getCharStringU:
521 case vmIntrinsics::_putCharStringU:
522 case vmIntrinsics::_compressStringC:
523 case vmIntrinsics::_compressStringB:
524 case vmIntrinsics::_inflateStringC:
525 case vmIntrinsics::_inflateStringB:
526 case vmIntrinsics::_getAndAddInt:
527 case vmIntrinsics::_getAndAddLong:
528 case vmIntrinsics::_getAndSetInt:
529 case vmIntrinsics::_getAndSetLong:
530 case vmIntrinsics::_getAndSetObject:
531 case vmIntrinsics::_loadFence:
532 case vmIntrinsics::_storeFence:
533 case vmIntrinsics::_fullFence:
534 case vmIntrinsics::_hasNegatives:
535 case vmIntrinsics::_Reference_get:
536 break;
537 default:
538 return true;
539 }
540 }
541
542 switch (id) {
543 case vmIntrinsics::_isInstance:
544 case vmIntrinsics::_isAssignableFrom:
545 case vmIntrinsics::_getModifiers:
546 case vmIntrinsics::_isInterface:
547 case vmIntrinsics::_isArray:
548 case vmIntrinsics::_isPrimitive:
549 case vmIntrinsics::_getSuperclass:
550 case vmIntrinsics::_Class_cast:
551 case vmIntrinsics::_getLength:
552 case vmIntrinsics::_newArray:
553 case vmIntrinsics::_getClass:
554 if (!InlineClassNatives) return true;
555 break;
|
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::_Continuation_doContinue:
377 case vmIntrinsics::_Continuation_doYield:
378 case vmIntrinsics::_updateCRC32:
379 case vmIntrinsics::_updateBytesCRC32:
380 case vmIntrinsics::_updateByteBufferCRC32:
381 case vmIntrinsics::_vectorizedMismatch:
382 case vmIntrinsics::_fmaD:
383 case vmIntrinsics::_fmaF:
384 return true;
385 default:
386 return false;
387 }
388 }
389
390 bool vmIntrinsics::can_trap(vmIntrinsics::ID id) {
391 assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
392 switch(id) {
393 #ifdef JFR_HAVE_INTRINSICS
394 case vmIntrinsics::_counterTime:
395 case vmIntrinsics::_getClassId:
396 #endif
397 case vmIntrinsics::_currentTimeMillis:
518 case vmIntrinsics::_compareToUL:
519 case vmIntrinsics::_equalsL:
520 case vmIntrinsics::_equalsU:
521 case vmIntrinsics::_equalsC:
522 case vmIntrinsics::_getCharStringU:
523 case vmIntrinsics::_putCharStringU:
524 case vmIntrinsics::_compressStringC:
525 case vmIntrinsics::_compressStringB:
526 case vmIntrinsics::_inflateStringC:
527 case vmIntrinsics::_inflateStringB:
528 case vmIntrinsics::_getAndAddInt:
529 case vmIntrinsics::_getAndAddLong:
530 case vmIntrinsics::_getAndSetInt:
531 case vmIntrinsics::_getAndSetLong:
532 case vmIntrinsics::_getAndSetObject:
533 case vmIntrinsics::_loadFence:
534 case vmIntrinsics::_storeFence:
535 case vmIntrinsics::_fullFence:
536 case vmIntrinsics::_hasNegatives:
537 case vmIntrinsics::_Reference_get:
538 case vmIntrinsics::_Continuation_doContinue:
539 case vmIntrinsics::_Continuation_doYield:
540 break;
541 default:
542 return true;
543 }
544 }
545
546 switch (id) {
547 case vmIntrinsics::_isInstance:
548 case vmIntrinsics::_isAssignableFrom:
549 case vmIntrinsics::_getModifiers:
550 case vmIntrinsics::_isInterface:
551 case vmIntrinsics::_isArray:
552 case vmIntrinsics::_isPrimitive:
553 case vmIntrinsics::_getSuperclass:
554 case vmIntrinsics::_Class_cast:
555 case vmIntrinsics::_getLength:
556 case vmIntrinsics::_newArray:
557 case vmIntrinsics::_getClass:
558 if (!InlineClassNatives) return true;
559 break;
|