comparison c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotXirGenerator.java @ 1934:b1f2e875300a

Small fix to make Graal snippets work with bounds check elimination.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Tue, 21 Dec 2010 17:40:10 +0100
parents 2fe369533fed
children 8d88c9ac9247
comparison
equal deleted inserted replaced
1933:2a6ce81e3101 1934:b1f2e875300a
935 return new XirSnippet(instanceOfTemplates.get(site, UNRESOLVED), object); 935 return new XirSnippet(instanceOfTemplates.get(site, UNRESOLVED), object);
936 } 936 }
937 937
938 @Override 938 @Override
939 public XirSnippet genArrayLoad(XirSite site, XirArgument array, XirArgument index, XirArgument length, CiKind elementKind, RiType elementType) { 939 public XirSnippet genArrayLoad(XirSite site, XirArgument array, XirArgument index, XirArgument length, CiKind elementKind, RiType elementType) {
940 if (length == null) { 940 if (length == null || !site.requiresBoundsCheck()) {
941 return new XirSnippet(arrayLoadTemplates.get(site, elementKind), array, index); 941 return new XirSnippet(arrayLoadTemplates.get(site, elementKind), array, index);
942 } 942 }
943 return new XirSnippet(arrayLoadTemplates.get(site, elementKind, GIVEN_LENGTH), array, index, length); 943 return new XirSnippet(arrayLoadTemplates.get(site, elementKind, GIVEN_LENGTH), array, index, length);
944 } 944 }
945 945
946 @Override 946 @Override
947 public XirSnippet genArrayStore(XirSite site, XirArgument array, XirArgument index, XirArgument length, XirArgument value, CiKind elementKind, RiType elementType) { 947 public XirSnippet genArrayStore(XirSite site, XirArgument array, XirArgument index, XirArgument length, XirArgument value, CiKind elementKind, RiType elementType) {
948 if (length == null) { 948 if (length == null || !site.requiresBoundsCheck()) {
949 return new XirSnippet(arrayStoreTemplates.get(site, elementKind), array, index, value); 949 return new XirSnippet(arrayStoreTemplates.get(site, elementKind), array, index, value);
950 } 950 }
951 return new XirSnippet(arrayStoreTemplates.get(site, elementKind, GIVEN_LENGTH), array, index, value, length); 951 return new XirSnippet(arrayStoreTemplates.get(site, elementKind, GIVEN_LENGTH), array, index, value, length);
952 } 952 }
953 953