summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2024-02-21 07:36:57 +0000
committerVladimĂ­r Marko <vmarko@google.com>2024-02-21 10:30:00 +0000
commitbbaf214b13f857cf4ad594262870cd0c2378afe1 (patch)
treeb0cc4275f8311b7aac8799703f8b99b4b4daea57
parent0537cf46968c3d6d651047d458c672cd8dcacf76 (diff)
downloadart-bbaf214b13f857cf4ad594262870cd0c2378afe1.tar.gz
Allocate JNI assembler labels with `ArenaAllocator`.
Test: m test-art-host-gtests Test: testrunner.py --host --optimizing Bug: 181943478 Change-Id: I7b3c7b20ead48924c061ae465208bc90e9a10676
-rw-r--r--compiler/utils/arm/jni_macro_assembler_arm_vixl.cc2
-rw-r--r--compiler/utils/arm64/jni_macro_assembler_arm64.cc2
-rw-r--r--compiler/utils/jni_macro_assembler.h2
-rw-r--r--compiler/utils/riscv64/jni_macro_assembler_riscv64.cc2
-rw-r--r--compiler/utils/x86/jni_macro_assembler_x86.cc2
-rw-r--r--compiler/utils/x86_64/jni_macro_assembler_x86_64.cc2
6 files changed, 6 insertions, 6 deletions
diff --git a/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc b/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc
index 9930e39b4b..6844b1e656 100644
--- a/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc
+++ b/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc
@@ -1003,7 +1003,7 @@ void ArmVIXLJNIMacroAssembler::DeliverPendingException() {
}
std::unique_ptr<JNIMacroLabel> ArmVIXLJNIMacroAssembler::CreateLabel() {
- return std::unique_ptr<JNIMacroLabel>(new ArmVIXLJNIMacroLabel());
+ return std::unique_ptr<JNIMacroLabel>(new (asm_.GetAllocator()) ArmVIXLJNIMacroLabel());
}
void ArmVIXLJNIMacroAssembler::Jump(JNIMacroLabel* label) {
diff --git a/compiler/utils/arm64/jni_macro_assembler_arm64.cc b/compiler/utils/arm64/jni_macro_assembler_arm64.cc
index 2d1c003981..50f6b4158d 100644
--- a/compiler/utils/arm64/jni_macro_assembler_arm64.cc
+++ b/compiler/utils/arm64/jni_macro_assembler_arm64.cc
@@ -799,7 +799,7 @@ void Arm64JNIMacroAssembler::DeliverPendingException() {
}
std::unique_ptr<JNIMacroLabel> Arm64JNIMacroAssembler::CreateLabel() {
- return std::unique_ptr<JNIMacroLabel>(new Arm64JNIMacroLabel());
+ return std::unique_ptr<JNIMacroLabel>(new (asm_.GetAllocator()) Arm64JNIMacroLabel());
}
void Arm64JNIMacroAssembler::Jump(JNIMacroLabel* label) {
diff --git a/compiler/utils/jni_macro_assembler.h b/compiler/utils/jni_macro_assembler.h
index 9d32071285..0ffa50a53b 100644
--- a/compiler/utils/jni_macro_assembler.h
+++ b/compiler/utils/jni_macro_assembler.h
@@ -261,7 +261,7 @@ class JNIMacroAssembler : public DeletableArenaObject<kArenaAllocAssembler> {
//
// It is only safe to use a label created
// via JNIMacroAssembler::CreateLabel with that same macro assembler.
-class JNIMacroLabel {
+class JNIMacroLabel : public DeletableArenaObject<kArenaAllocAssembler> {
public:
virtual ~JNIMacroLabel() = 0;
diff --git a/compiler/utils/riscv64/jni_macro_assembler_riscv64.cc b/compiler/utils/riscv64/jni_macro_assembler_riscv64.cc
index 9d3a29d252..00e1f54d03 100644
--- a/compiler/utils/riscv64/jni_macro_assembler_riscv64.cc
+++ b/compiler/utils/riscv64/jni_macro_assembler_riscv64.cc
@@ -548,7 +548,7 @@ void Riscv64JNIMacroAssembler::DeliverPendingException() {
}
std::unique_ptr<JNIMacroLabel> Riscv64JNIMacroAssembler::CreateLabel() {
- return std::unique_ptr<JNIMacroLabel>(new Riscv64JNIMacroLabel());
+ return std::unique_ptr<JNIMacroLabel>(new (asm_.GetAllocator()) Riscv64JNIMacroLabel());
}
void Riscv64JNIMacroAssembler::Jump(JNIMacroLabel* label) {
diff --git a/compiler/utils/x86/jni_macro_assembler_x86.cc b/compiler/utils/x86/jni_macro_assembler_x86.cc
index dfdbc183f1..3ee0530dc2 100644
--- a/compiler/utils/x86/jni_macro_assembler_x86.cc
+++ b/compiler/utils/x86/jni_macro_assembler_x86.cc
@@ -542,7 +542,7 @@ void X86JNIMacroAssembler::DeliverPendingException() {
}
std::unique_ptr<JNIMacroLabel> X86JNIMacroAssembler::CreateLabel() {
- return std::unique_ptr<JNIMacroLabel>(new X86JNIMacroLabel());
+ return std::unique_ptr<JNIMacroLabel>(new (asm_.GetAllocator()) X86JNIMacroLabel());
}
void X86JNIMacroAssembler::Jump(JNIMacroLabel* label) {
diff --git a/compiler/utils/x86_64/jni_macro_assembler_x86_64.cc b/compiler/utils/x86_64/jni_macro_assembler_x86_64.cc
index e9e6dbdae7..1b9cfa640e 100644
--- a/compiler/utils/x86_64/jni_macro_assembler_x86_64.cc
+++ b/compiler/utils/x86_64/jni_macro_assembler_x86_64.cc
@@ -610,7 +610,7 @@ void X86_64JNIMacroAssembler::DeliverPendingException() {
}
std::unique_ptr<JNIMacroLabel> X86_64JNIMacroAssembler::CreateLabel() {
- return std::unique_ptr<JNIMacroLabel>(new X86_64JNIMacroLabel());
+ return std::unique_ptr<JNIMacroLabel>(new (asm_.GetAllocator()) X86_64JNIMacroLabel());
}
void X86_64JNIMacroAssembler::Jump(JNIMacroLabel* label) {