From 2ccac33c87791e5a4117ab935c74f96f1369a9cc Mon Sep 17 00:00:00 2001 From: Mythri Alle Date: Wed, 23 Aug 2023 16:49:44 +0000 Subject: Enable intrinsic optimization for polymorphic intrinsics Polymorphic invokes are expensive and some of the methods in Atomic* classes uses polymorphic methods. We use intrinsics to generate efficient code for them. Intrinsic optimization was disabled in debuggable runtimes to be able to support breakpoint in intrinsic functions. It might be less useful to break in such methods so we want to enable intrinsic optimization for polymorphic invokes which are performance sensitive. Bug: 296298460 Test: art/test.py Change-Id: I575695d82e8bc7d703cfbf5ff22ea7d5a35f6937 --- compiler/optimizing/instruction_builder.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'compiler/optimizing/instruction_builder.cc') diff --git a/compiler/optimizing/instruction_builder.cc b/compiler/optimizing/instruction_builder.cc index 2576b02c9f..fd599f789e 100644 --- a/compiler/optimizing/instruction_builder.cc +++ b/compiler/optimizing/instruction_builder.cc @@ -1364,8 +1364,7 @@ bool HInstructionBuilder::BuildInvokePolymorphic(uint32_t dex_pc, method_reference, resolved_method, resolved_method_reference, - proto_idx, - !graph_->IsDebuggable()); + proto_idx); if (!HandleInvoke(invoke, operands, shorty, /* is_unresolved= */ false)) { return false; } -- cgit v1.2.3-59-g8ed1b