RISCV: Add assembler in Codegen.

Test: m test-art-host-gtest
Bug: 283082089
Change-Id: I5bc778aca01bff282b1e2b865ef9b09fab8d348b
diff --git a/compiler/optimizing/code_generator_riscv64.cc b/compiler/optimizing/code_generator_riscv64.cc
index e01c7c9..1c0fc0a 100644
--- a/compiler/optimizing/code_generator_riscv64.cc
+++ b/compiler/optimizing/code_generator_riscv64.cc
@@ -70,7 +70,9 @@
                     ComputeRegisterMask(kFpuCalleeSaves, arraysize(kFpuCalleeSaves)),
                     compiler_options,
                     stats,
-                    ArrayRef<const bool>(detail::kIsIntrinsicUnimplemented)) {
+                    ArrayRef<const bool>(detail::kIsIntrinsicUnimplemented)),
+      assembler_(graph->GetAllocator(),
+                 compiler_options.GetInstructionSetFeatures()->AsRiscv64InstructionSetFeatures()) {
   LOG(FATAL) << "Unimplemented";
 }
 
diff --git a/compiler/optimizing/code_generator_riscv64.h b/compiler/optimizing/code_generator_riscv64.h
index 4ef008a..b6f5908 100644
--- a/compiler/optimizing/code_generator_riscv64.h
+++ b/compiler/optimizing/code_generator_riscv64.h
@@ -98,14 +98,9 @@
     LOG(FATAL) << "unimplemented";
     UNREACHABLE();
   }
-  Riscv64Assembler* GetAssembler() override {
-    LOG(FATAL) << "Unimplemented";
-    UNREACHABLE();
-  }
-  const Riscv64Assembler& GetAssembler() const override {
-    LOG(FATAL) << "Unimplemented";
-    UNREACHABLE();
-  }
+
+  Riscv64Assembler* GetAssembler() override { return &assembler_; }
+  const Riscv64Assembler& GetAssembler() const override { return assembler_; }
 
   HGraphVisitor* GetLocationBuilder() override {
     LOG(FATAL) << "Unimplemented";
@@ -182,6 +177,9 @@
                            Location temp,
                            SlowPathCode* slow_path = nullptr) override;
   void MoveFromReturnRegister(Location trg, DataType::Type type) override;
+
+ private:
+  Riscv64Assembler assembler_;
 };
 
 }  // namespace riscv64