diff options
author | Ian Rogers <irogers@google.com> | 2014-03-21 11:21:29 -0700 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2014-03-21 11:25:56 -0700 |
commit | 62f0512bf6d9bc6141358bf22e93afa70dc58b1a (patch) | |
tree | 7fdc0b9be0df2da5ff2575862a24db5c10eae9dc /runtime/class_linker.cc | |
parent | 215f3e60cd97471c0843eae22a041c335e89071c (diff) | |
download | art-62f0512bf6d9bc6141358bf22e93afa70dc58b1a.zip art-62f0512bf6d9bc6141358bf22e93afa70dc58b1a.tar.gz art-62f0512bf6d9bc6141358bf22e93afa70dc58b1a.tar.bz2 |
Improvements to Field.get/set.
Avoid unnecessary repeated computation in Field.get/set.
Refactor FromReflectedField and FromReflectedMethod into common helpers in
mirror::ArtField and mirror::ArtMethod, and make use of thereby avoiding
transitions through JNI.
Avoid JNI use from within FromReflectedField and FromReflectedMethod.
Tidy up Field.get/set wrt moving collector support.
Bug: 12189533
Change-Id: I643ab3474bade4abac3a3ae2b6e373b2bb0891c8
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r-- | runtime/class_linker.cc | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index cef9954..08ea123 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -2314,26 +2314,26 @@ mirror::Class* ClassLinker::CreateArrayClass(Thread* self, const char* descripto } mirror::Class* ClassLinker::FindPrimitiveClass(char type) { - switch (Primitive::GetType(type)) { - case Primitive::kPrimByte: + switch (type) { + case 'B': return GetClassRoot(kPrimitiveByte); - case Primitive::kPrimChar: + case 'C': return GetClassRoot(kPrimitiveChar); - case Primitive::kPrimDouble: + case 'D': return GetClassRoot(kPrimitiveDouble); - case Primitive::kPrimFloat: + case 'F': return GetClassRoot(kPrimitiveFloat); - case Primitive::kPrimInt: + case 'I': return GetClassRoot(kPrimitiveInt); - case Primitive::kPrimLong: + case 'J': return GetClassRoot(kPrimitiveLong); - case Primitive::kPrimShort: + case 'S': return GetClassRoot(kPrimitiveShort); - case Primitive::kPrimBoolean: + case 'Z': return GetClassRoot(kPrimitiveBoolean); - case Primitive::kPrimVoid: + case 'V': return GetClassRoot(kPrimitiveVoid); - case Primitive::kPrimNot: + default: break; } std::string printable_type(PrintableChar(type)); |