2424 */
2525package com .oracle .svm .hosted .jfr ;
2626
27+ import java .io .FileInputStream ;
28+ import java .io .FileOutputStream ;
29+ import java .io .RandomAccessFile ;
2730import java .lang .reflect .Method ;
2831import java .util .Collection ;
29- import java .util .Collections ;
3032import java .util .List ;
3133
3234import org .graalvm .nativeimage .ImageSingletons ;
3335import org .graalvm .nativeimage .hosted .Feature ;
3436import org .graalvm .nativeimage .hosted .RuntimeClassInitialization ;
37+ import org .graalvm .nativeimage .hosted .RuntimeReflection ;
3538
3639import com .oracle .svm .core .feature .AutomaticallyRegisteredFeature ;
3740import com .oracle .svm .core .feature .InternalFeature ;
4548import com .oracle .svm .core .meta .SharedType ;
4649import com .oracle .svm .core .util .VMError ;
4750import com .oracle .svm .hosted .FeatureImpl ;
51+ import com .oracle .svm .hosted .reflect .ReflectionFeature ;
4852
4953import jdk .internal .event .Event ;
5054import jdk .jfr .internal .JVM ;
5155import jdk .vm .ci .meta .MetaAccessProvider ;
56+ import sun .nio .ch .FileChannelImpl ;
5257
5358/**
5459 * Support for Java-level JFR events. This feature is only present if the {@link JfrFeature} is used
@@ -63,7 +68,16 @@ public boolean isInConfiguration(IsInConfigurationAccess access) {
6368
6469 @ Override
6570 public List <Class <? extends Feature >> getRequiredFeatures () {
66- return Collections .singletonList (JfrFeature .class );
71+ return List .of (JfrFeature .class , ReflectionFeature .class );
72+ }
73+
74+ @ Override
75+ public void afterRegistration (AfterRegistrationAccess access ) {
76+ RuntimeReflection .registerFieldLookup (Throwable .class , "jfrTracing" );
77+ RuntimeReflection .registerFieldLookup (FileInputStream .class , "jfrTracing" );
78+ RuntimeReflection .registerFieldLookup (FileOutputStream .class , "jfrTracing" );
79+ RuntimeReflection .registerFieldLookup (FileChannelImpl .class , "jfrTracing" );
80+ RuntimeReflection .registerFieldLookup (RandomAccessFile .class , "jfrTracing" );
6781 }
6882
6983 @ Override
0 commit comments