@@ -590,6 +590,7 @@ public StaticObject doMappedList(Object value,
590
590
@ Cached ProxyInstantiateNode proxyInstantiateNode ,
591
591
@ Cached InstanceOf .Dynamic instanceOf ,
592
592
@ CachedLibrary (limit = "LIMIT" ) @ Exclusive InteropLibrary interop ,
593
+ @ Cached InlinedBranchProfile converterProfile ,
593
594
@ Cached InlinedBranchProfile errorProfile ) throws UnsupportedTypeException {
594
595
try {
595
596
Object metaObject = interop .getMetaObject (value );
@@ -598,6 +599,7 @@ public StaticObject doMappedList(Object value,
598
599
// first check if there's a user-defined custom type converter defined
599
600
PolyglotTypeMappings .TypeConverter converter = lookupTypeConverterNode .execute (metaName );
600
601
if (converter != null ) {
602
+ converterProfile .enter (node );
601
603
StaticObject foreignWrapper = StaticObject .createForeign (context .getLanguage (), context .getMeta ().java_lang_Object , value , interop );
602
604
StaticObject result = (StaticObject ) converter .convert (foreignWrapper );
603
605
if (instanceOf .execute (result .getKlass (), context .getMeta ().java_util_List )) {
@@ -666,6 +668,7 @@ public StaticObject doMappedCollection(Object value,
666
668
@ Cached ProxyInstantiateNode proxyInstantiateNode ,
667
669
@ Cached InstanceOf .Dynamic instanceOf ,
668
670
@ CachedLibrary (limit = "LIMIT" ) @ Exclusive InteropLibrary interop ,
671
+ @ Cached InlinedBranchProfile converterProfile ,
669
672
@ Cached InlinedBranchProfile errorProfile ) throws UnsupportedTypeException {
670
673
try {
671
674
Object metaObject = interop .getMetaObject (value );
@@ -674,6 +677,7 @@ public StaticObject doMappedCollection(Object value,
674
677
// first check if there's a user-defined custom type converter defined
675
678
PolyglotTypeMappings .TypeConverter converter = lookupTypeConverterNode .execute (metaName );
676
679
if (converter != null ) {
680
+ converterProfile .enter (node );
677
681
StaticObject foreignWrapper = StaticObject .createForeign (meta .getLanguage (), meta .java_lang_Object , value , interop );
678
682
StaticObject result = (StaticObject ) converter .convert (foreignWrapper );
679
683
if (instanceOf .execute (result .getKlass (), meta .java_util_Collection )) {
@@ -742,6 +746,7 @@ public StaticObject doMappedIterable(Object value,
742
746
@ Cached ProxyInstantiateNode proxyInstantiateNode ,
743
747
@ Cached InstanceOf .Dynamic instanceOf ,
744
748
@ CachedLibrary (limit = "LIMIT" ) @ Exclusive InteropLibrary interop ,
749
+ @ Cached InlinedBranchProfile converterProfile ,
745
750
@ Cached InlinedBranchProfile errorProfile ) throws UnsupportedTypeException {
746
751
try {
747
752
Object metaObject = interop .getMetaObject (value );
@@ -750,6 +755,7 @@ public StaticObject doMappedIterable(Object value,
750
755
// first check if there's a user-defined custom type converter defined
751
756
PolyglotTypeMappings .TypeConverter converter = lookupTypeConverterNode .execute (metaName );
752
757
if (converter != null ) {
758
+ converterProfile .enter (node );
753
759
StaticObject foreignWrapper = StaticObject .createForeign (meta .getLanguage (), meta .java_lang_Object , value , interop );
754
760
StaticObject result = (StaticObject ) converter .convert (foreignWrapper );
755
761
if (instanceOf .execute (result .getKlass (), meta .java_lang_Iterable )) {
@@ -818,6 +824,7 @@ public StaticObject doMappedIterator(Object value,
818
824
@ Cached ProxyInstantiateNode proxyInstantiateNode ,
819
825
@ Cached InstanceOf .Dynamic instanceOf ,
820
826
@ CachedLibrary (limit = "LIMIT" ) @ Exclusive InteropLibrary interop ,
827
+ @ Cached InlinedBranchProfile converterProfile ,
821
828
@ Cached InlinedBranchProfile errorProfile ) throws UnsupportedTypeException {
822
829
try {
823
830
Object metaObject = interop .getMetaObject (value );
@@ -826,6 +833,7 @@ public StaticObject doMappedIterator(Object value,
826
833
// first check if there's a user-defined custom type converter defined
827
834
PolyglotTypeMappings .TypeConverter converter = lookupTypeConverterNode .execute (metaName );
828
835
if (converter != null ) {
836
+ converterProfile .enter (node );
829
837
StaticObject foreignWrapper = StaticObject .createForeign (meta .getLanguage (), meta .java_lang_Object , value , interop );
830
838
StaticObject result = (StaticObject ) converter .convert (foreignWrapper );
831
839
if (instanceOf .execute (result .getKlass (), meta .java_util_Iterator )) {
@@ -894,13 +902,15 @@ public StaticObject doMappedMap(Object value,
894
902
@ Cached ProxyInstantiateNode proxyInstantiateNode ,
895
903
@ Cached InstanceOf .Dynamic instanceOf ,
896
904
@ CachedLibrary (limit = "LIMIT" ) @ Exclusive InteropLibrary interop ,
905
+ @ Cached InlinedBranchProfile converterProfile ,
897
906
@ Cached InlinedBranchProfile errorProfile ) throws UnsupportedTypeException {
898
907
try {
899
908
Object metaObject = interop .getMetaObject (value );
900
909
String metaName = getMetaName (metaObject , interop );
901
910
// first check if there's a user-defined custom type converter defined
902
911
PolyglotTypeMappings .TypeConverter converter = lookupTypeConverterNode .execute (metaName );
903
912
if (converter != null ) {
913
+ converterProfile .enter (node );
904
914
StaticObject foreignWrapper = StaticObject .createForeign (meta .getLanguage (), meta .java_lang_Object , value , interop );
905
915
StaticObject result = (StaticObject ) converter .convert (foreignWrapper );
906
916
if (instanceOf .execute (result .getKlass (), meta .java_util_Map )) {
@@ -968,6 +978,7 @@ public StaticObject doMappedSet(Object value,
968
978
@ Cached ProxyInstantiateNode proxyInstantiateNode ,
969
979
@ Cached InstanceOf .Dynamic instanceOf ,
970
980
@ CachedLibrary (limit = "LIMIT" ) @ Exclusive InteropLibrary interop ,
981
+ @ Cached InlinedBranchProfile converterProfile ,
971
982
@ Cached InlinedBranchProfile errorProfile ) throws UnsupportedTypeException {
972
983
try {
973
984
Object metaObject = interop .getMetaObject (value );
@@ -976,6 +987,7 @@ public StaticObject doMappedSet(Object value,
976
987
// first check if there's a user-defined custom type converter defined
977
988
PolyglotTypeMappings .TypeConverter converter = lookupTypeConverterNode .execute (metaName );
978
989
if (converter != null ) {
990
+ converterProfile .enter (node );
979
991
StaticObject foreignWrapper = StaticObject .createForeign (meta .getLanguage (), meta .java_lang_Object , value , interop );
980
992
StaticObject result = (StaticObject ) converter .convert (foreignWrapper );
981
993
if (instanceOf .execute (result .getKlass (), meta .java_util_Set )) {
0 commit comments