summaryrefslogtreecommitdiffstats
path: root/runtime/handle_scope.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix compiler warnings.Mathieu Chartier2014-06-041-5/+26
| | | | | | | | Added GetReference, GetHandle to StackHandleScope to prevent the compiler from optimizing away these loads/stores from inline functions. Change-Id: I4db02dd3194665d844292e74e3a7d7c80e730e06
* ART: Use StackReference in Quick Stack FrameAndreas Gampe2014-05-291-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The method reference at the bottom of a quick frame is a stack reference and not a native pointer. This is important for 64b architectures, where the notions do not coincide. Change key methods to have StackReference<mirror::ArtMethod>* parameter instead of mirror::ArtMethod**. Make changes to invoke stubs for 64b archs, change the frame setup for JNI code (both generic JNI and compilers), tie up loose ends. Tested on x86 and x86-64 with host tests. On x86-64, tests succeed with jni compiler activated. x86-64 QCG was not tested. Tested on ARM32 with device tests. Fix ARM64 not saving x19 (used for wSUSPEND) on upcalls. Tested on ARM64 in interpreter-only + generic-jni mode. Fix ARM64 JNI Compiler to work with the CL. Tested on ARM64 in interpreter-only + jni compiler. Change-Id: I77931a0cbadd04d163b3eb8d6f6a6f8740578f13
* Change ObjectLock to take Handle instead of Handle pointer.Mathieu Chartier2014-05-161-4/+3
| | | | Change-Id: I9abdcdc5c9c9174634336b9250ab24c6aee434ec
* Add Handle/HandleScope and delete SirtRef.Mathieu Chartier2014-05-131-0/+193
Delete SirtRef and replaced it with Handle. Handles are value types which wrap around StackReference*. Renamed StackIndirectReferenceTable to HandleScope. Added a scoped handle wrapper which wraps around an Object** and restores it in its destructor. Renamed Handle::get -> Get. Bug: 8473721 Change-Id: Idbfebd4f35af629f0f43931b7c5184b334822c7a