diff options
Diffstat (limited to 'runtime/runtime.cc')
| -rw-r--r-- | runtime/runtime.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/runtime/runtime.cc b/runtime/runtime.cc index 0c06ca672c..b1b7473acb 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -602,9 +602,12 @@ bool Runtime::Start() { if (is_native_bridge_loaded_) { PreInitializeNativeBridge("."); } + NativeBridgeAction action = force_native_bridge_ + ? NativeBridgeAction::kInitialize + : NativeBridgeAction::kUnload; InitNonZygoteOrPostFork(self->GetJniEnv(), /* is_system_server */ false, - NativeBridgeAction::kInitialize, + action, GetInstructionSetString(kRuntimeISA)); } @@ -939,6 +942,7 @@ bool Runtime::Init(RuntimeArgumentMap&& runtime_options_in) { allow_dex_file_fallback_ = !runtime_options.Exists(Opt::NoDexFileFallback); no_sig_chain_ = runtime_options.Exists(Opt::NoSigChain); + force_native_bridge_ = runtime_options.Exists(Opt::ForceNativeBridge); Split(runtime_options.GetOrDefault(Opt::CpuAbiList), ',', &cpu_abilist_); @@ -1914,7 +1918,8 @@ void Runtime::SetImtUnimplementedMethod(ArtMethod* method) { } bool Runtime::IsVerificationEnabled() const { - return verify_ == verifier::VerifyMode::kEnable; + return verify_ == verifier::VerifyMode::kEnable || + verify_ == verifier::VerifyMode::kSoftFail; } bool Runtime::IsVerificationSoftFail() const { |