Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/arguments.cpp @ 23408:f84a5ac3be22
make JVMCI JDK immutable and sharable among different JVMCI clients
minimize diff to jvmci-9, including adding support for EnableJVMCI (default is true in jvmci-8)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 30 May 2016 22:56:59 +0200 |
parents | 3ef45d0a6d77 |
children | b5f3a471e646 |
comparison
equal
deleted
inserted
replaced
23407:a1d1f1e4817f | 23408:f84a5ac3be22 |
---|---|
42 #include "services/memTracker.hpp" | 42 #include "services/memTracker.hpp" |
43 #include "utilities/defaultStream.hpp" | 43 #include "utilities/defaultStream.hpp" |
44 #include "utilities/macros.hpp" | 44 #include "utilities/macros.hpp" |
45 #include "utilities/stringUtils.hpp" | 45 #include "utilities/stringUtils.hpp" |
46 #include "utilities/taskqueue.hpp" | 46 #include "utilities/taskqueue.hpp" |
47 #if INCLUDE_JVMCI | |
48 #include "jvmci/jvmciRuntime.hpp" | |
49 #endif | |
50 #ifdef TARGET_OS_FAMILY_linux | 47 #ifdef TARGET_OS_FAMILY_linux |
51 # include "os_linux.inline.hpp" | 48 # include "os_linux.inline.hpp" |
52 #endif | 49 #endif |
53 #ifdef TARGET_OS_FAMILY_solaris | 50 #ifdef TARGET_OS_FAMILY_solaris |
54 # include "os_solaris.inline.hpp" | 51 # include "os_solaris.inline.hpp" |
210 PropertyList_add(&_system_properties, _java_class_path); | 207 PropertyList_add(&_system_properties, _java_class_path); |
211 PropertyList_add(&_system_properties, _sun_boot_class_path); | 208 PropertyList_add(&_system_properties, _sun_boot_class_path); |
212 | 209 |
213 // Set OS specific system properties values | 210 // Set OS specific system properties values |
214 os::init_system_properties_values(); | 211 os::init_system_properties_values(); |
215 | |
216 #if INCLUDE_JVMCI | |
217 JVMCIRuntime::init_system_properties(&_system_properties); | |
218 #endif | |
219 } | 212 } |
220 | 213 |
221 | 214 |
222 // Update/Initialize System properties after JDK version number is known | 215 // Update/Initialize System properties after JDK version number is known |
223 void Arguments::init_version_specific_system_properties() { | 216 void Arguments::init_version_specific_system_properties() { |
2443 } | 2436 } |
2444 #endif | 2437 #endif |
2445 } | 2438 } |
2446 #if INCLUDE_JVMCI | 2439 #if INCLUDE_JVMCI |
2447 if (!EnableJVMCI) { | 2440 if (!EnableJVMCI) { |
2448 warning("ignoring flag -EnableJVMCI, JVMCI can not be disabled in this VM"); | 2441 #define JVMCI_CHECK3(type, name, doc) JVMCI_CHECK_FLAG(name) |
2449 } | 2442 #define JVMCI_CHECK4(type, name, value, doc) JVMCI_CHECK_FLAG(name) |
2450 if (BootstrapJVMCI && !UseJVMCICompiler) { | 2443 #define JVMCI_CHECK_FLAG(FLAG) \ |
2451 warning("BootstrapJVMCI has no effect if UseJVMCICompiler is disabled"); | 2444 if (!FLAG_IS_DEFAULT(FLAG)) { \ |
2452 } | 2445 jio_fprintf(defaultStream::error_stream(), "EnableJVMCI must be enabled to use VM option '%s'\n", #FLAG); \ |
2453 if (!ScavengeRootsInCode) { | 2446 status = false; \ |
2454 warning("forcing ScavengeRootsInCode non-zero because JVMCI is enabled"); | 2447 } |
2455 ScavengeRootsInCode = 1; | 2448 JVMCI_FLAGS(JVMCI_CHECK4, JVMCI_CHECK3, JVMCI_CHECK4, JVMCI_CHECK3, JVMCI_CHECK4) |
2449 #undef JVMCI_CHECK3 | |
2450 #undef JVMCI_CHECK4 | |
2451 #undef JVMCI_CHECK_FLAG | |
2452 } else { | |
2453 if (BootstrapJVMCI && !UseJVMCICompiler) { | |
2454 warning("BootstrapJVMCI has no effect if UseJVMCICompiler is disabled"); | |
2455 } | |
2456 if (!ScavengeRootsInCode) { | |
2457 warning("forcing ScavengeRootsInCode non-zero because JVMCI is enabled"); | |
2458 ScavengeRootsInCode = 1; | |
2459 } | |
2456 } | 2460 } |
2457 #endif | 2461 #endif |
2458 | 2462 |
2459 // Need to limit the extent of the padding to reasonable size. | 2463 // Need to limit the extent of the padding to reasonable size. |
2460 // 8K is well beyond the reasonable HW cache line size, even with the | 2464 // 8K is well beyond the reasonable HW cache line size, even with the |
3609 } | 3613 } |
3610 } | 3614 } |
3611 FREE_C_HEAP_ARRAY(char, dbuf, mtInternal); | 3615 FREE_C_HEAP_ARRAY(char, dbuf, mtInternal); |
3612 os::closedir(dir); | 3616 os::closedir(dir); |
3613 } | 3617 } |
3614 | 3618 const char* path = Arguments::get_property("jvmci.class.path.append"); |
3619 if (path != NULL) { | |
3620 scp_p->add_suffix(path); | |
3621 scp_assembly_required = true; | |
3622 } | |
3615 } | 3623 } |
3616 #endif | 3624 #endif |
3617 | 3625 |
3618 if (scp_assembly_required || scp_p->get_endorsed() != NULL) { | 3626 if (scp_assembly_required || scp_p->get_endorsed() != NULL) { |
3619 // Assemble the bootclasspath elements into the final path. | 3627 // Assemble the bootclasspath elements into the final path. |