Skip to content

Commit 9aa80cf

Browse files
committed
use DSL bound nodes for InlinedBranchProfiles
1 parent 8018777 commit 9aa80cf

File tree

1 file changed

+25
-9
lines changed
  • espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/nodes/interop

1 file changed

+25
-9
lines changed

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/nodes/interop/ToReference.java

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -485,14 +485,16 @@ public static StaticObject doBuiltinTypeConverter(Object value, EspressoType tar
485485
@Cached @Exclusive ProxyInstantiateNode proxyInstantiatorNode,
486486
@CachedLibrary(limit = "LIMIT") @Exclusive InteropLibrary interop,
487487
@Cached InstanceOf.Dynamic instanceOf,
488-
@Cached @Shared InlinedBranchProfile errorProfile) throws UnsupportedTypeException {
488+
@Cached InlinedBranchProfile noConverterProfile,
489+
@Cached InlinedBranchProfile errorProfile) throws UnsupportedTypeException {
489490
try {
490491
Object metaObject = interop.getMetaObject(value);
491492
String metaName = getMetaName(metaObject, interop);
492493
Klass rawType = targetType.getRawType();
493494
// first check if there's a user-defined custom type converter defined
494495
PolyglotTypeMappings.TypeConverter converter = lookupTypeConverterNode.execute(metaName);
495496
if (converter != null) {
497+
noConverterProfile.enter(node);
496498
EspressoContext context = EspressoContext.get(node);
497499
StaticObject foreignWrapper = StaticObject.createForeign(context.getLanguage(), context.getMeta().java_lang_Object, value, interop);
498500
StaticObject result = (StaticObject) converter.convert(foreignWrapper);
@@ -579,7 +581,9 @@ public StaticObject doForeignNull(Object value,
579581
"interop.hasMetaObject(value)",
580582
"!isStaticObject(value)"
581583
})
584+
@SuppressWarnings("truffle-static-method")
582585
public StaticObject doMappedList(Object value,
586+
@Bind Node node,
583587
@Bind("getContext()") EspressoContext context,
584588
@Cached LookupTypeConverterNode lookupTypeConverterNode,
585589
@Cached LookupProxyKlassNode lookupProxyKlassNode,
@@ -608,7 +612,7 @@ public StaticObject doMappedList(Object value,
608612
} catch (UnsupportedMessageException ex) {
609613
// no meta object, fall through to throw unsupported type
610614
}
611-
errorProfile.enter(this);
615+
errorProfile.enter(node);
612616
throw UnsupportedTypeException.create(new Object[]{value}, getMeta().java_util_List.getTypeAsString());
613617
}
614618

@@ -653,7 +657,9 @@ public StaticObject doForeignNull(Object value,
653657
"isHostObject(getContext(), value)",
654658
"!isStaticObject(value)"
655659
})
660+
@SuppressWarnings("truffle-static-method")
656661
public StaticObject doMappedCollection(Object value,
662+
@Bind Node node,
657663
@Bind("getMeta()") Meta meta,
658664
@Cached LookupTypeConverterNode lookupTypeConverterNode,
659665
@Cached LookupProxyKlassNode lookupProxyKlassNode,
@@ -682,7 +688,7 @@ public StaticObject doMappedCollection(Object value,
682688
} catch (UnsupportedMessageException ex) {
683689
// no meta object, fall through to throw unsupported type
684690
}
685-
errorProfile.enter(this);
691+
errorProfile.enter(node);
686692
throw UnsupportedTypeException.create(new Object[]{value}, getMeta().java_util_Collection.getTypeAsString());
687693
}
688694

@@ -727,7 +733,9 @@ public StaticObject doForeignNull(Object value,
727733
"isHostObject(getContext(), value)",
728734
"!isStaticObject(value)"
729735
})
736+
@SuppressWarnings("truffle-static-method")
730737
public StaticObject doMappedIterable(Object value,
738+
@Bind Node node,
731739
@Bind("getMeta()") Meta meta,
732740
@Cached LookupTypeConverterNode lookupTypeConverterNode,
733741
@Cached LookupProxyKlassNode lookupProxyKlassNode,
@@ -756,7 +764,7 @@ public StaticObject doMappedIterable(Object value,
756764
} catch (UnsupportedMessageException ex) {
757765
// no meta object, fall through to throw unsupported type
758766
}
759-
errorProfile.enter(this);
767+
errorProfile.enter(node);
760768
throw UnsupportedTypeException.create(new Object[]{value}, getMeta().java_lang_Iterable.getTypeAsString());
761769
}
762770

@@ -801,7 +809,9 @@ public StaticObject doForeignNull(Object value,
801809
"isHostObject(getContext(), value)",
802810
"!isStaticObject(value)"
803811
})
812+
@SuppressWarnings("truffle-static-method")
804813
public StaticObject doMappedIterator(Object value,
814+
@Bind Node node,
805815
@Bind("getMeta()") Meta meta,
806816
@Cached LookupTypeConverterNode lookupTypeConverterNode,
807817
@Cached LookupProxyKlassNode lookupProxyKlassNode,
@@ -830,7 +840,7 @@ public StaticObject doMappedIterator(Object value,
830840
} catch (UnsupportedMessageException ex) {
831841
// no meta object, fall through to throw unsupported type
832842
}
833-
errorProfile.enter(this);
843+
errorProfile.enter(node);
834844
throw UnsupportedTypeException.create(new Object[]{value}, getMeta().java_util_Iterator.getTypeAsString());
835845
}
836846

@@ -875,7 +885,9 @@ public StaticObject doForeignNull(Object value,
875885
"isHostObject(getContext(), value)",
876886
"!isStaticObject(value)"
877887
})
888+
@SuppressWarnings("truffle-static-method")
878889
public StaticObject doMappedMap(Object value,
890+
@Bind Node node,
879891
@Bind("getMeta()") Meta meta,
880892
@Cached LookupTypeConverterNode lookupTypeConverterNode,
881893
@Cached LookupProxyKlassNode lookupProxyKlassNode,
@@ -903,7 +915,7 @@ public StaticObject doMappedMap(Object value,
903915
} catch (UnsupportedMessageException ex) {
904916
// no meta object, fall through to throw unsupported type
905917
}
906-
errorProfile.enter(this);
918+
errorProfile.enter(node);
907919
throw UnsupportedTypeException.create(new Object[]{value}, getMeta().java_util_Map.getTypeAsString());
908920
}
909921

@@ -947,7 +959,9 @@ public StaticObject doForeignNull(Object value,
947959
"isHostObject(getContext(), value)",
948960
"!isStaticObject(value)"
949961
})
962+
@SuppressWarnings("truffle-static-method")
950963
public StaticObject doMappedSet(Object value,
964+
@Bind Node node,
951965
@Bind("getMeta()") Meta meta,
952966
@Cached LookupTypeConverterNode lookupTypeConverterNode,
953967
@Cached LookupProxyKlassNode lookupProxyKlassNode,
@@ -976,7 +990,7 @@ public StaticObject doMappedSet(Object value,
976990
} catch (UnsupportedMessageException ex) {
977991
// no meta object, fall through to throw unsupported type
978992
}
979-
errorProfile.enter(this);
993+
errorProfile.enter(node);
980994
throw UnsupportedTypeException.create(new Object[]{value}, getMeta().java_util_Set.getTypeAsString());
981995
}
982996

@@ -1692,6 +1706,7 @@ public StaticObject doEspresso(StaticObject value,
16921706
"isHostObject(getContext(), value)"
16931707
})
16941708
StaticObject doForeignInterface(Object value,
1709+
@Bind Node node,
16951710
@Shared("value") @CachedLibrary(limit = "LIMIT") InteropLibrary interop,
16961711
@Cached LookupProxyKlassNode lookupProxyKlassNode,
16971712
@Cached ProxyInstantiateNode proxyInstantiateNode,
@@ -1706,7 +1721,7 @@ StaticObject doForeignInterface(Object value,
17061721
} catch (UnsupportedMessageException e) {
17071722
// no meta object, fall through to throw unsupported type
17081723
}
1709-
errorProfile.enter(this);
1724+
errorProfile.enter(node);
17101725
throw unsupportedType(value, targetType.getRawType());
17111726
}
17121727
}
@@ -1756,6 +1771,7 @@ public StaticObject doEspresso(StaticObject value,
17561771
"isHostObject(getContext(), value)"
17571772
})
17581773
StaticObject doForeignConverter(Object value,
1774+
@Bind Node node,
17591775
@Shared("value") @CachedLibrary(limit = "LIMIT") InteropLibrary interop,
17601776
@Cached LookupTypeConverterNode lookupTypeConverterNode,
17611777
@Cached InstanceOf.Dynamic instanceOf,
@@ -1785,7 +1801,7 @@ StaticObject doForeignConverter(Object value,
17851801
} catch (UnsupportedMessageException e) {
17861802
// no meta object, fall through to throw unsupported type
17871803
}
1788-
errorProfile.enter(this);
1804+
errorProfile.enter(node);
17891805
throw ToEspressoNode.unsupportedType(value, targetType.getRawType());
17901806
}
17911807
}

0 commit comments

Comments
 (0)