diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/optimizing/code_generator_riscv64.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_riscv64.cc b/compiler/optimizing/code_generator_riscv64.cc index 648fa88727..c77d069478 100644 --- a/compiler/optimizing/code_generator_riscv64.cc +++ b/compiler/optimizing/code_generator_riscv64.cc @@ -2286,7 +2286,7 @@ void CodeGeneratorRISCV64::MarkGCCard(XRegister object, // This dual use of the value in register `card` (1. to calculate the location // of the card to mark; and 2. to load the `kCardDirty` value) saves a load // (no need to explicitly load `kCardDirty` as an immediate value). - __ Storeb(card, temp, 0); + __ Sb(card, temp, 0); // No scratch register left for `Storeb()`. if (value_can_be_null) { __ Bind(&done); } diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 040c2449a7..325fb87fc5 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -743,6 +743,10 @@ static bool CanAssembleGraphForRiscv64(HGraph* graph) { UNREACHABLE(); case HInstruction::kExit: case HInstruction::kGoto: + case HInstruction::kPackedSwitch: + case HInstruction::kTryBoundary: + case HInstruction::kClearException: + case HInstruction::kLoadException: case HInstruction::kParameterValue: case HInstruction::kReturn: case HInstruction::kReturnVoid: @@ -757,8 +761,13 @@ static bool CanAssembleGraphForRiscv64(HGraph* graph) { case HInstruction::kLoadMethodHandle: case HInstruction::kLoadMethodType: case HInstruction::kInstanceFieldGet: + case HInstruction::kInstanceFieldSet: case HInstruction::kStaticFieldGet: + case HInstruction::kStaticFieldSet: case HInstruction::kArrayGet: + case HInstruction::kArrayLength: + case HInstruction::kArraySet: + case HInstruction::kBoundsCheck: case HInstruction::kAbove: case HInstruction::kAboveOrEqual: case HInstruction::kBelow: |