diff options
author | 2022-11-07 12:37:32 +0100 | |
---|---|---|
committer | 2022-11-08 13:58:18 +0000 | |
commit | 7267e1e5bc0b2faaa05bed0e8436868355e1508e (patch) | |
tree | 137ddbf7f848f60fed68b6e9731ea37eff0c9697 /compiler/optimizing/instruction_builder.cc | |
parent | 7769a2c600a20067ec8fa932afb56cd6a7f8c52c (diff) |
Minor nterp improvements.
Do not resolve primitive field types for iput*, sput*
before updating the interpreter cache.
Introduce and use `ArtMethod::IsStringConstructor(),
a convenience helper function where we avoid a read
barrier for checking if the declaring class is the
`String` class.
Change one `CHECK_LE()` to `DCHECK_LE()`.
Test: testrunner.py --host --interpreter
Change-Id: I17b0409cee5321e0ca389f053da1f767d2913d08
Diffstat (limited to 'compiler/optimizing/instruction_builder.cc')
-rw-r--r-- | compiler/optimizing/instruction_builder.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/optimizing/instruction_builder.cc b/compiler/optimizing/instruction_builder.cc index b7c4ba9e05..f9a513804c 100644 --- a/compiler/optimizing/instruction_builder.cc +++ b/compiler/optimizing/instruction_builder.cc @@ -985,8 +985,7 @@ static ArtMethod* ResolveMethod(uint16_t method_idx, DCHECK_EQ(*imt_or_vtable_index, ImTable::GetImtIndex(resolved_method)); } - *is_string_constructor = - resolved_method->IsConstructor() && resolved_method->GetDeclaringClass()->IsStringClass(); + *is_string_constructor = resolved_method->IsStringConstructor(); return resolved_method; } |