ART: Convert pointer size to enum
Move away from size_t to dedicated enum (class).
Bug: 30373134
Bug: 30419309
Test: m test-art-host
Change-Id: Id453c330f1065012e7d4f9fc24ac477cc9bb9269
diff --git a/runtime/interpreter/unstarted_runtime.cc b/runtime/interpreter/unstarted_runtime.cc
index 793260d..57443f1 100644
--- a/runtime/interpreter/unstarted_runtime.cc
+++ b/runtime/interpreter/unstarted_runtime.cc
@@ -29,6 +29,7 @@
#include "art_method-inl.h"
#include "base/casts.h"
+#include "base/enums.h"
#include "base/logging.h"
#include "base/macros.h"
#include "class_linker.h"
@@ -301,21 +302,23 @@
return;
}
Runtime* runtime = Runtime::Current();
- size_t pointer_size = runtime->GetClassLinker()->GetImagePointerSize();
+ PointerSize pointer_size = runtime->GetClassLinker()->GetImagePointerSize();
mirror::Field* field;
if (runtime->IsActiveTransaction()) {
- if (pointer_size == 8) {
- field = mirror::Field::CreateFromArtField<8U, true>(self, found, true);
+ if (pointer_size == PointerSize::k64) {
+ field = mirror::Field::CreateFromArtField<PointerSize::k64, true>(
+ self, found, true);
} else {
- DCHECK_EQ(pointer_size, 4U);
- field = mirror::Field::CreateFromArtField<4U, true>(self, found, true);
+ field = mirror::Field::CreateFromArtField<PointerSize::k32, true>(
+ self, found, true);
}
} else {
- if (pointer_size == 8) {
- field = mirror::Field::CreateFromArtField<8U, false>(self, found, true);
+ if (pointer_size == PointerSize::k64) {
+ field = mirror::Field::CreateFromArtField<PointerSize::k64, false>(
+ self, found, true);
} else {
- DCHECK_EQ(pointer_size, 4U);
- field = mirror::Field::CreateFromArtField<4U, false>(self, found, true);
+ field = mirror::Field::CreateFromArtField<PointerSize::k32, false>(
+ self, found, true);
}
}
result->SetL(field);
@@ -335,21 +338,23 @@
shadow_frame->GetVRegReference(arg_offset + 2)->AsObjectArray<mirror::Class>();
Runtime* runtime = Runtime::Current();
bool transaction = runtime->IsActiveTransaction();
- size_t pointer_size = runtime->GetClassLinker()->GetImagePointerSize();
+ PointerSize pointer_size = runtime->GetClassLinker()->GetImagePointerSize();
mirror::Method* method;
if (transaction) {
- if (pointer_size == 8U) {
- method = mirror::Class::GetDeclaredMethodInternal<8U, true>(self, klass, name, args);
+ if (pointer_size == PointerSize::k64) {
+ method = mirror::Class::GetDeclaredMethodInternal<PointerSize::k64, true>(
+ self, klass, name, args);
} else {
- DCHECK_EQ(pointer_size, 4U);
- method = mirror::Class::GetDeclaredMethodInternal<4U, true>(self, klass, name, args);
+ method = mirror::Class::GetDeclaredMethodInternal<PointerSize::k32, true>(
+ self, klass, name, args);
}
} else {
- if (pointer_size == 8U) {
- method = mirror::Class::GetDeclaredMethodInternal<8U, false>(self, klass, name, args);
+ if (pointer_size == PointerSize::k64) {
+ method = mirror::Class::GetDeclaredMethodInternal<PointerSize::k64, false>(
+ self, klass, name, args);
} else {
- DCHECK_EQ(pointer_size, 4U);
- method = mirror::Class::GetDeclaredMethodInternal<4U, false>(self, klass, name, args);
+ method = mirror::Class::GetDeclaredMethodInternal<PointerSize::k32, false>(
+ self, klass, name, args);
}
}
result->SetL(method);
@@ -367,21 +372,23 @@
shadow_frame->GetVRegReference(arg_offset + 1)->AsObjectArray<mirror::Class>();
Runtime* runtime = Runtime::Current();
bool transaction = runtime->IsActiveTransaction();
- size_t pointer_size = runtime->GetClassLinker()->GetImagePointerSize();
+ PointerSize pointer_size = runtime->GetClassLinker()->GetImagePointerSize();
mirror::Constructor* constructor;
if (transaction) {
- if (pointer_size == 8U) {
- constructor = mirror::Class::GetDeclaredConstructorInternal<8U, true>(self, klass, args);
+ if (pointer_size == PointerSize::k64) {
+ constructor = mirror::Class::GetDeclaredConstructorInternal<PointerSize::k64,
+ true>(self, klass, args);
} else {
- DCHECK_EQ(pointer_size, 4U);
- constructor = mirror::Class::GetDeclaredConstructorInternal<4U, true>(self, klass, args);
+ constructor = mirror::Class::GetDeclaredConstructorInternal<PointerSize::k32,
+ true>(self, klass, args);
}
} else {
- if (pointer_size == 8U) {
- constructor = mirror::Class::GetDeclaredConstructorInternal<8U, false>(self, klass, args);
+ if (pointer_size == PointerSize::k64) {
+ constructor = mirror::Class::GetDeclaredConstructorInternal<PointerSize::k64,
+ false>(self, klass, args);
} else {
- DCHECK_EQ(pointer_size, 4U);
- constructor = mirror::Class::GetDeclaredConstructorInternal<4U, false>(self, klass, args);
+ constructor = mirror::Class::GetDeclaredConstructorInternal<PointerSize::k32,
+ false>(self, klass, args);
}
}
result->SetL(constructor);