Mercurial > hg > truffle
changeset 13971:3e5b9a4d5986
added Array.getLength substitution
author | twisti |
---|---|
date | Tue, 18 Feb 2014 13:21:11 -0800 |
parents | bbf84e85b775 |
children | 28f560605e77 |
files | graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ArraySubstitutions.java |
diffstat | 1 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ArraySubstitutions.java Tue Feb 18 11:16:48 2014 -0800 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ArraySubstitutions.java Tue Feb 18 13:21:11 2014 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,4 +36,13 @@ public static Object newInstance(Class<?> componentType, int length) throws NegativeArraySizeException { return DynamicNewArrayNode.newArray(GuardingPiNode.guardingNonNull(componentType), length); } + + @MethodSubstitution + public static int getLength(Object array) { + if (!array.getClass().isArray()) { + throw new IllegalArgumentException("Argument is not an array"); + } + return ArrayLengthNode.arrayLength(array); + } + }