# HG changeset patch # User Gilles Duboscq # Date 1408381676 -7200 # Node ID 9d4c73b0646e938f3a85303d0abfbbf8953841ac # Parent 73d994651fcdc0ee7beccf78bf9aeedf9f41eaf2 graalRuntime: name_len shound be a size_t diff -r 73d994651fcd -r 9d4c73b0646e graal/com.oracle.graal.hotspot.sourcegen/src/com/oracle/graal/hotspot/sourcegen/GenGraalRuntimeInlineHpp.java --- a/graal/com.oracle.graal.hotspot.sourcegen/src/com/oracle/graal/hotspot/sourcegen/GenGraalRuntimeInlineHpp.java Thu Aug 21 12:01:35 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.sourcegen/src/com/oracle/graal/hotspot/sourcegen/GenGraalRuntimeInlineHpp.java Mon Aug 18 19:07:56 2014 +0200 @@ -158,12 +158,12 @@ } lengths.add("PrintFlags".length()); - out.println("bool GraalRuntime::set_option_bool(KlassHandle hotSpotOptionsClass, char* name, int name_len, char value, TRAPS) {"); + out.println("bool GraalRuntime::set_option_bool(KlassHandle hotSpotOptionsClass, char* name, size_t name_len, char value, TRAPS) {"); out.println(" bool check_only = hotSpotOptionsClass.is_null();"); genMatchers(out, lengths, options, true); out.println(" return false;"); out.println("}"); - out.println("bool GraalRuntime::set_option(KlassHandle hotSpotOptionsClass, char* name, int name_len, const char* value, TRAPS) {"); + out.println("bool GraalRuntime::set_option(KlassHandle hotSpotOptionsClass, char* name, size_t name_len, const char* value, TRAPS) {"); out.println(" bool check_only = hotSpotOptionsClass.is_null();"); genMatchers(out, lengths, options, false); out.println(" return false;"); diff -r 73d994651fcd -r 9d4c73b0646e src/share/vm/graal/graalRuntime.cpp --- a/src/share/vm/graal/graalRuntime.cpp Thu Aug 21 12:01:35 2014 +0200 +++ b/src/share/vm/graal/graalRuntime.cpp Mon Aug 18 19:07:56 2014 +0200 @@ -728,7 +728,8 @@ JVM_ENTRY(jboolean, JVM_ParseGraalOptions(JNIEnv *env, jclass c)) HandleMark hm; KlassHandle hotSpotOptionsClass(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(c))); - return GraalRuntime::parse_arguments(hotSpotOptionsClass, CHECK_false); + bool result = GraalRuntime::parse_arguments(hotSpotOptionsClass, CHECK_false); + return result; JVM_END jint GraalRuntime::check_arguments(TRAPS) { @@ -774,7 +775,7 @@ return CITime || CITimeEach; } -void GraalRuntime::check_required_value(const char* name, int name_len, const char* value, TRAPS) { +void GraalRuntime::check_required_value(const char* name, size_t name_len, const char* value, TRAPS) { if (value == NULL) { char buf[200]; jio_snprintf(buf, sizeof(buf), "Must use '-G:%.*s=' format for %.*s option", name_len, name, name_len, name); @@ -790,7 +791,7 @@ if (first == '+' || first == '-') { name = arg + 1; name_len = strlen(name); - recognized = set_option_bool(hotSpotOptionsClass, name, (int)name_len, first, CHECK); + recognized = set_option_bool(hotSpotOptionsClass, name, name_len, first, CHECK); } else { char* sep = strchr(arg, '='); name = arg; @@ -801,13 +802,13 @@ } else { name_len = strlen(name); } - recognized = set_option(hotSpotOptionsClass, name, (int)name_len, value, CHECK); + recognized = set_option(hotSpotOptionsClass, name, name_len, value, CHECK); } if (!recognized) { bool throw_err = hotSpotOptionsClass.is_null(); if (!hotSpotOptionsClass.is_null()) { - set_option_helper(hotSpotOptionsClass, name, (int)name_len, Handle(), ' ', Handle(), 0L); + set_option_helper(hotSpotOptionsClass, name, name_len, Handle(), ' ', Handle(), 0L); if (!HAS_PENDING_EXCEPTION) { throw_err = true; } @@ -823,7 +824,7 @@ void GraalRuntime::parse_graal_options_file(KlassHandle hotSpotOptionsClass, TRAPS) { const char* home = Arguments::get_java_home(); - int path_len = (int)strlen(home) + (int)strlen("/lib/graal.options") + 1; + size_t path_len = strlen(home) + strlen("/lib/graal.options") + 1; char* path = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, path_len); char sep = os::file_separator()[0]; sprintf(path, "%s%clib%cgraal.options", home, sep, sep); @@ -868,7 +869,7 @@ } } -jlong GraalRuntime::parse_primitive_option_value(char spec, const char* name, int name_len, const char* value, TRAPS) { +jlong GraalRuntime::parse_primitive_option_value(char spec, const char* name, size_t name_len, const char* value, TRAPS) { check_required_value(name, name_len, value, CHECK_(0L)); union { jint i; @@ -905,11 +906,11 @@ THROW_MSG_(vmSymbols::java_lang_InternalError(), buf, 0L); } -void GraalRuntime::set_option_helper(KlassHandle hotSpotOptionsClass, char* name, int name_len, Handle option, jchar spec, Handle stringValue, jlong primitiveValue) { +void GraalRuntime::set_option_helper(KlassHandle hotSpotOptionsClass, char* name, size_t name_len, Handle option, jchar spec, Handle stringValue, jlong primitiveValue) { Thread* THREAD = Thread::current(); Handle name_handle; if (name != NULL) { - if ((int) strlen(name) > name_len) { + if (strlen(name) > name_len) { // Temporarily replace '=' with NULL to create the Java string for the option name char save = name[name_len]; name[name_len] = '\0'; @@ -919,7 +920,7 @@ return; } } else { - assert((int) strlen(name) == name_len, "must be"); + assert(strlen(name) == name_len, "must be"); name_handle = java_lang_String::create_from_str(name, CHECK); } } diff -r 73d994651fcd -r 9d4c73b0646e src/share/vm/graal/graalRuntime.hpp --- a/src/share/vm/graal/graalRuntime.hpp Thu Aug 21 12:01:35 2014 +0200 +++ b/src/share/vm/graal/graalRuntime.hpp Mon Aug 18 19:07:56 2014 +0200 @@ -52,7 +52,7 @@ * @param value string value to parse * @throws InternalError if value could not be parsed according to spec */ - static jlong parse_primitive_option_value(char spec, const char* name, int name_len, const char* value, TRAPS); + static jlong parse_primitive_option_value(char spec, const char* name, size_t name_len, const char* value, TRAPS); /** * Loads default option value overrides from a /lib/graal.options if it exists. Each @@ -82,7 +82,7 @@ * @returns true if the option was found * @throws InternalError if there was a problem setting the option's value */ - static bool set_option_bool(KlassHandle hotSpotOptionsClass, char* name, int name_len, char value, TRAPS); + static bool set_option_bool(KlassHandle hotSpotOptionsClass, char* name, size_t name_len, char value, TRAPS); /** * Searches for a Graal option denoted by a given name and sets it value. @@ -96,12 +96,12 @@ * @returns true if the option was found * @throws InternalError if there was a problem setting the option's value */ - static bool set_option(KlassHandle hotSpotOptionsClass, char* name, int name_len, const char* value, TRAPS); + static bool set_option(KlassHandle hotSpotOptionsClass, char* name, size_t name_len, const char* value, TRAPS); /** * Raises an InternalError for an option that expects a value but was specified without a "=" prefix. */ - static void check_required_value(const char* name, int name_len, const char* value, TRAPS); + static void check_required_value(const char* name, size_t name_len, const char* value, TRAPS); /** * Java call to HotSpotOptions.setOption(String name, OptionValue option, char spec, String stringValue, long primitiveValue) @@ -109,7 +109,7 @@ * @param name option name * @param name_len length of option name */ - static void set_option_helper(KlassHandle hotSpotOptionsClass, char* name, int name_len, Handle option, jchar spec, Handle stringValue, jlong primitiveValue); + static void set_option_helper(KlassHandle hotSpotOptionsClass, char* name, size_t name_len, Handle option, jchar spec, Handle stringValue, jlong primitiveValue); /** * Instantiates a service object, calls its default constructor and returns it.