From 022dcc46051ffd0114ac3382cc7e50928f17d995 Mon Sep 17 00:00:00 2001 From: Bryce McKinlay Date: Thu, 28 Feb 2002 11:40:29 +0000 Subject: expr.c (java_array_data_offset): Removed function. * expr.c (java_array_data_offset): Removed function. (JAVA_ARRAY_LENGTH_OFFSET): Removed macro. (build_java_array_length_access): Obtain "length" value using a COMPONENT_REF, instead of INDIRECT_REF and arithmetic. (build_java_arrayaccess): Correct comment. Access "data" using a COMPONENT_REF, and return an ARRAY_REF instead of an INDIRECT_REF. (build_java_arraystore_check): New function. (expand_java_arraystore): Use build_java_arraystore_check. * parse.y (patch_assignment): Simplify code to insert a store check when lvalue is an ARRAY_REF. Use build_java_arraystore_check. * check-init.c (check_init): Update to reflect that an array length access is now a COMPONENT_REF. * gcj.texi (Code Generation): Improve documentation of -fno-bounds-check. Add documentation for -fno-store-check. * java-tree.h (flag_store_check): Declare. (build_java_arraystore_check): Declare. * lang.c (flag_store_check): Initialize to 1. (lang_f_options): Add store-check option. * jvspec.c: Don't pass store-check option to jvgenmain. * lang-options.h: Add help string for -fno-store-check. From-SVN: r50129 --- gcc/java/java-tree.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/java/java-tree.h') diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 7097b56..898c851 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -213,6 +213,9 @@ extern int flag_optimize_sci; in order to improve binary compatibility. */ extern int flag_indirect_dispatch; +/* When zero, don't generate runtime array store checks. */ +extern int flag_store_check; + /* Encoding used for source files. */ extern const char *current_encoding; @@ -1107,6 +1110,7 @@ extern tree build_java_binop PARAMS ((enum tree_code, tree, tree, tree)); extern tree build_java_soft_divmod PARAMS ((enum tree_code, tree, tree, tree)); extern tree binary_numeric_promotion PARAMS ((tree, tree, tree *, tree *)); extern tree build_java_arrayaccess PARAMS ((tree, tree, tree)); +extern tree build_java_arraystore_check PARAMS ((tree, tree)); extern tree build_newarray PARAMS ((int, tree)); extern tree build_anewarray PARAMS ((tree, tree)); extern tree build_new_array PARAMS ((tree, tree)); -- cgit v1.1