aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/lang.c
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@gcc.gnu.org>2002-02-28 11:40:29 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2002-02-28 11:40:29 +0000
commit022dcc46051ffd0114ac3382cc7e50928f17d995 (patch)
tree6daf1252f43021f81274da35d2f5f16541eaedb2 /gcc/java/lang.c
parent70da1d030dfa76bd605100e3969df62b6aaa2512 (diff)
downloadgcc-022dcc46051ffd0114ac3382cc7e50928f17d995.zip
gcc-022dcc46051ffd0114ac3382cc7e50928f17d995.tar.gz
gcc-022dcc46051ffd0114ac3382cc7e50928f17d995.tar.bz2
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
Diffstat (limited to 'gcc/java/lang.c')
-rw-r--r--gcc/java/lang.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index 6be8f2b..9732f1a 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -157,6 +157,9 @@ int flag_optimize_sci = 1;
in order to improve binary compatibility. */
int flag_indirect_dispatch = 0;
+/* When zero, don't generate runtime array store checks. */
+int flag_store_check = 1;
+
/* When non zero, print extra version information. */
static int version_flag = 0;
@@ -179,7 +182,8 @@ lang_f_options[] =
{"check-references", &flag_check_references, 1},
{"force-classes-archive-check", &flag_force_classes_archive_check, 1},
{"optimize-static-class-initialization", &flag_optimize_sci, 1 },
- {"indirect-dispatch", &flag_indirect_dispatch, 1}
+ {"indirect-dispatch", &flag_indirect_dispatch, 1},
+ {"store-check", &flag_store_check, 1}
};
static const struct string_option