diff options
41 files changed, 49 insertions, 178 deletions
diff --git a/cmdline/cmdline_types.h b/cmdline/cmdline_types.h index 28c009edf0..f1123eb692 100644 --- a/cmdline/cmdline_types.h +++ b/cmdline/cmdline_types.h @@ -766,10 +766,6 @@ struct CmdlineType<ExperimentalFlags> : CmdlineTypeParser<ExperimentalFlags> { Result ParseAndAppend(const std::string& option, ExperimentalFlags& existing) { if (option == "none") { existing = ExperimentalFlags::kNone; - } else if (option == "agents") { - existing = existing | ExperimentalFlags::kAgents; - } else if (option == "runtime-plugins") { - existing = existing | ExperimentalFlags::kRuntimePlugins; } else { return Result::Failure(std::string("Unknown option '") + option + "'"); } diff --git a/runtime/experimental_flags.h b/runtime/experimental_flags.h index 5ddb9fa27a..0471c969f9 100644 --- a/runtime/experimental_flags.h +++ b/runtime/experimental_flags.h @@ -26,8 +26,6 @@ struct ExperimentalFlags { // The actual flag values. enum { kNone = 0x0000, - kAgents = 0x0001, // 0b00000001 - kRuntimePlugins = 0x0002, // 0b00000010 kMethodHandles = 0x0004, // 0b00000100 }; @@ -67,14 +65,6 @@ struct ExperimentalFlags { inline std::ostream& operator<<(std::ostream& stream, const ExperimentalFlags& e) { bool started = false; - if (e & ExperimentalFlags::kAgents) { - stream << (started ? "|" : "") << "kAgents"; - started = true; - } - if (e & ExperimentalFlags::kRuntimePlugins) { - stream << (started ? "|" : "") << "kRuntimePlugins"; - started = true; - } if (e & ExperimentalFlags::kMethodHandles) { stream << (started ? "|" : "") << "kMethodHandles"; started = true; diff --git a/runtime/parsed_options.cc b/runtime/parsed_options.cc index d1ad77c910..ccc5f7a8ee 100644 --- a/runtime/parsed_options.cc +++ b/runtime/parsed_options.cc @@ -599,42 +599,6 @@ bool ParsedOptions::DoParse(const RuntimeOptions& options, args.Set(M::HeapGrowthLimit, args.GetOrDefault(M::MemoryMaximumSize)); } - if (args.GetOrDefault(M::Experimental) & ExperimentalFlags::kRuntimePlugins) { - LOG(WARNING) << "Experimental runtime plugin support has been enabled. No guarantees are made " - << "about stability or usage of this plugin support. Use at your own risk. Do " - << "not attempt to write shipping code that relies on the implementation of " - << "runtime plugins."; - } else if (!args.GetOrDefault(M::Plugins).empty()) { - LOG(WARNING) << "Experimental runtime plugin support has not been enabled. Ignored options: "; - for (const auto& op : args.GetOrDefault(M::Plugins)) { - LOG(WARNING) << " -plugin:" << op.GetLibrary(); - } - } - - if (args.GetOrDefault(M::Experimental) & ExperimentalFlags::kAgents) { - LOG(WARNING) << "Experimental runtime agent support has been enabled. No guarantees are made " - << "the completeness, accuracy, reliability, or stability of the agent " - << "implementation. Use at your own risk. Do not attempt to write shipping code " - << "that relies on the implementation of any part of this api."; - } else if (!args.GetOrDefault(M::AgentLib).empty() || !args.GetOrDefault(M::AgentPath).empty()) { - LOG(WARNING) << "agent support has not been enabled. Enable experimental agent " - << " support with '-XExperimental:agent'. Ignored options are:"; - for (const auto& op : args.GetOrDefault(M::AgentLib)) { - if (op.HasArgs()) { - LOG(WARNING) << " -agentlib:" << op.GetName() << "=" << op.GetArgs(); - } else { - LOG(WARNING) << " -agentlib:" << op.GetName(); - } - } - for (const auto& op : args.GetOrDefault(M::AgentPath)) { - if (op.HasArgs()) { - LOG(WARNING) << " -agentpath:" << op.GetName() << "=" << op.GetArgs(); - } else { - LOG(WARNING) << " -agentpath:" << op.GetName(); - } - } - } - *runtime_options = std::move(args); return true; } diff --git a/runtime/runtime.cc b/runtime/runtime.cc index 06cd7ff4b5..5e008a8bb8 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -1069,16 +1069,13 @@ bool Runtime::Init(RuntimeArgumentMap&& runtime_options_in) { experimental_flags_ = runtime_options.GetOrDefault(Opt::Experimental); is_low_memory_mode_ = runtime_options.Exists(Opt::LowMemoryMode); - if (experimental_flags_ & ExperimentalFlags::kRuntimePlugins) { - plugins_ = runtime_options.ReleaseOrDefault(Opt::Plugins); - } - if (experimental_flags_ & ExperimentalFlags::kAgents) { - agents_ = runtime_options.ReleaseOrDefault(Opt::AgentPath); - // TODO Add back in -agentlib - // for (auto lib : runtime_options.ReleaseOrDefault(Opt::AgentLib)) { - // agents_.push_back(lib); - // } - } + plugins_ = runtime_options.ReleaseOrDefault(Opt::Plugins); + agents_ = runtime_options.ReleaseOrDefault(Opt::AgentPath); + // TODO Add back in -agentlib + // for (auto lib : runtime_options.ReleaseOrDefault(Opt::AgentLib)) { + // agents_.push_back(lib); + // } + XGcOption xgc_option = runtime_options.GetOrDefault(Opt::GcOption); heap_ = new gc::Heap(runtime_options.GetOrDefault(Opt::MemoryInitialSize), runtime_options.GetOrDefault(Opt::HeapGrowthLimit), diff --git a/runtime/runtime_options.def b/runtime/runtime_options.def index 749a36e3b3..ad748b04d3 100644 --- a/runtime/runtime_options.def +++ b/runtime/runtime_options.def @@ -119,10 +119,10 @@ RUNTIME_OPTIONS_KEY (unsigned int, ZygoteMaxFailedBoots, 10) RUNTIME_OPTIONS_KEY (Unit, NoDexFileFallback) RUNTIME_OPTIONS_KEY (std::string, CpuAbiList) RUNTIME_OPTIONS_KEY (std::string, Fingerprint) -RUNTIME_OPTIONS_KEY (ExperimentalFlags, Experimental, ExperimentalFlags::kNone) // -Xexperimental:{none, agents} -RUNTIME_OPTIONS_KEY (std::vector<ti::Agent>, AgentLib) // -agentlib:<libname>=<options>, Requires -Xexperimental:agents -RUNTIME_OPTIONS_KEY (std::vector<ti::Agent>, AgentPath) // -agentpath:<libname>=<options>, Requires -Xexperimental:agents -RUNTIME_OPTIONS_KEY (std::vector<Plugin>, Plugins) // -Xplugin:<library> Requires -Xexperimental:runtime-plugins +RUNTIME_OPTIONS_KEY (ExperimentalFlags, Experimental, ExperimentalFlags::kNone) // -Xexperimental:{...} +RUNTIME_OPTIONS_KEY (std::vector<ti::Agent>, AgentLib) // -agentlib:<libname>=<options> +RUNTIME_OPTIONS_KEY (std::vector<ti::Agent>, AgentPath) // -agentpath:<libname>=<options> +RUNTIME_OPTIONS_KEY (std::vector<Plugin>, Plugins) // -Xplugin:<library> RUNTIME_OPTIONS_KEY (Unit, FullyDeoptable) // -Xfully-deoptable // Not parse-able from command line, but can be provided explicitly. diff --git a/test/900-hello-plugin/run b/test/900-hello-plugin/run index 35b08715a1..50835f89af 100755 --- a/test/900-hello-plugin/run +++ b/test/900-hello-plugin/run @@ -18,7 +18,5 @@ plugin=libartagentd.so if [[ "$@" == *"-O"* ]]; then plugin=libartagent.so fi -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --runtime-option -agentpath:${plugin}=test_900 \ +./default-run "$@" --runtime-option -agentpath:${plugin}=test_900 \ --android-runtime-option -Xplugin:${plugin} diff --git a/test/901-hello-ti-agent/run b/test/901-hello-ti-agent/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/901-hello-ti-agent/run +++ b/test/901-hello-ti-agent/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/902-hello-transformation/run b/test/902-hello-transformation/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/902-hello-transformation/run +++ b/test/902-hello-transformation/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/903-hello-tagging/run b/test/903-hello-tagging/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/903-hello-tagging/run +++ b/test/903-hello-tagging/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/904-object-allocation/run b/test/904-object-allocation/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/904-object-allocation/run +++ b/test/904-object-allocation/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/905-object-free/run b/test/905-object-free/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/905-object-free/run +++ b/test/905-object-free/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/906-iterate-heap/run b/test/906-iterate-heap/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/906-iterate-heap/run +++ b/test/906-iterate-heap/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/907-get-loaded-classes/run b/test/907-get-loaded-classes/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/907-get-loaded-classes/run +++ b/test/907-get-loaded-classes/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/908-gc-start-finish/run b/test/908-gc-start-finish/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/908-gc-start-finish/run +++ b/test/908-gc-start-finish/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/909-attach-agent/run b/test/909-attach-agent/run index 985341bd4f..0664592cd1 100755 --- a/test/909-attach-agent/run +++ b/test/909-attach-agent/run @@ -21,17 +21,11 @@ if [[ "$@" == *"-O"* ]]; then plugin=libopenjdkjvmti.so fi -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --android-runtime-option -Xplugin:${plugin} \ +./default-run "$@" --android-runtime-option -Xplugin:${plugin} \ --android-runtime-option -Xfully-deoptable \ --args agent:${agent}=909-attach-agent -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --android-runtime-option -Xfully-deoptable \ +./default-run "$@" --android-runtime-option -Xfully-deoptable \ --args agent:${agent}=909-attach-agent -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --args agent:${agent}=909-attach-agent +./default-run "$@" --args agent:${agent}=909-attach-agent diff --git a/test/910-methods/run b/test/910-methods/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/910-methods/run +++ b/test/910-methods/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/911-get-stack-trace/run b/test/911-get-stack-trace/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/911-get-stack-trace/run +++ b/test/911-get-stack-trace/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/912-classes/run b/test/912-classes/run index 20dfc4b767..f24db40cb0 100755 --- a/test/912-classes/run +++ b/test/912-classes/run @@ -18,7 +18,5 @@ # In certain configurations, the app images may be valid even in a new classloader. Turn off # app images to avoid the issue. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti \ +./default-run "$@" --jvmti \ --no-app-image diff --git a/test/913-heaps/run b/test/913-heaps/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/913-heaps/run +++ b/test/913-heaps/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/914-hello-obsolescence/run b/test/914-hello-obsolescence/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/914-hello-obsolescence/run +++ b/test/914-hello-obsolescence/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/915-obsolete-2/run b/test/915-obsolete-2/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/915-obsolete-2/run +++ b/test/915-obsolete-2/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/916-obsolete-jit/run b/test/916-obsolete-jit/run index 9056211284..b6d406fd99 100755 --- a/test/916-obsolete-jit/run +++ b/test/916-obsolete-jit/run @@ -21,7 +21,5 @@ if [[ "$@" == *"--jit"* ]]; then else other_args="--jit" fi -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - ${other_args} \ +./default-run "$@" ${other_args} \ --jvmti diff --git a/test/917-fields-transformation/run b/test/917-fields-transformation/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/917-fields-transformation/run +++ b/test/917-fields-transformation/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/918-fields/run b/test/918-fields/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/918-fields/run +++ b/test/918-fields/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/919-obsolete-fields/run b/test/919-obsolete-fields/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/919-obsolete-fields/run +++ b/test/919-obsolete-fields/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/920-objects/run b/test/920-objects/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/920-objects/run +++ b/test/920-objects/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/921-hello-failure/run b/test/921-hello-failure/run index 3ef4832da2..8be0ed4aed 100755 --- a/test/921-hello-failure/run +++ b/test/921-hello-failure/run @@ -15,6 +15,4 @@ # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/922-properties/run b/test/922-properties/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/922-properties/run +++ b/test/922-properties/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/923-monitors/run b/test/923-monitors/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/923-monitors/run +++ b/test/923-monitors/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/924-threads/run b/test/924-threads/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/924-threads/run +++ b/test/924-threads/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/925-threadgroups/run b/test/925-threadgroups/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/925-threadgroups/run +++ b/test/925-threadgroups/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/926-multi-obsolescence/run b/test/926-multi-obsolescence/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/926-multi-obsolescence/run +++ b/test/926-multi-obsolescence/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/927-timers/run b/test/927-timers/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/927-timers/run +++ b/test/927-timers/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/928-jni-table/run b/test/928-jni-table/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/928-jni-table/run +++ b/test/928-jni-table/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/929-search/run b/test/929-search/run index 0a8d0672f6..67923a7984 100755 --- a/test/929-search/run +++ b/test/929-search/run @@ -17,7 +17,5 @@ # This test checks whether dex files can be injected into parent classloaders. App images preload # classes, which will make the injection moot. Turn off app images to avoid the issue. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti \ +./default-run "$@" --jvmti \ --no-app-image diff --git a/test/930-hello-retransform/run b/test/930-hello-retransform/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/930-hello-retransform/run +++ b/test/930-hello-retransform/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/931-agent-thread/run b/test/931-agent-thread/run index 0a8d0672f6..67923a7984 100755 --- a/test/931-agent-thread/run +++ b/test/931-agent-thread/run @@ -17,7 +17,5 @@ # This test checks whether dex files can be injected into parent classloaders. App images preload # classes, which will make the injection moot. Turn off app images to avoid the issue. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti \ +./default-run "$@" --jvmti \ --no-app-image diff --git a/test/932-transform-saves/run b/test/932-transform-saves/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/932-transform-saves/run +++ b/test/932-transform-saves/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/933-misc-events/run b/test/933-misc-events/run index 0a8d0672f6..67923a7984 100755 --- a/test/933-misc-events/run +++ b/test/933-misc-events/run @@ -17,7 +17,5 @@ # This test checks whether dex files can be injected into parent classloaders. App images preload # classes, which will make the injection moot. Turn off app images to avoid the issue. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti \ +./default-run "$@" --jvmti \ --no-app-image diff --git a/test/934-load-transform/run b/test/934-load-transform/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/934-load-transform/run +++ b/test/934-load-transform/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti diff --git a/test/935-non-retransformable/run b/test/935-non-retransformable/run index 4379349cb2..c6e62ae6cd 100755 --- a/test/935-non-retransformable/run +++ b/test/935-non-retransformable/run @@ -14,6 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -./default-run "$@" --experimental agents \ - --experimental runtime-plugins \ - --jvmti +./default-run "$@" --jvmti |