From: Roland Levillain Date: Fri, 8 Jul 2016 13:21:44 +0000 (+0100) Subject: Fix the definition of THREAD_CURRENT_IBASE_OFFSET. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=e6a2d0ff48201990d16bc02c5e40f07a6413e7f9;p=android-x86%2Fart.git Fix the definition of THREAD_CURRENT_IBASE_OFFSET. The difference between between art::Thread::tlsPtr_.mterp_current_ibase and art::Thread::tlsPtr_.thread_local_objects is sizeof(size_t), not sizeof(void*) (even if they have the same value on all supported platforms/compilers in practice). Test: ART host tests. Change-Id: I70d196732499bd0cd073983de564547d08ee59ef --- diff --git a/runtime/asm_support.h b/runtime/asm_support.h index 2d702f6af..da68923cd 100644 --- a/runtime/asm_support.h +++ b/runtime/asm_support.h @@ -140,7 +140,7 @@ ADD_TEST_EQ(THREAD_LOCAL_END_OFFSET, ADD_TEST_EQ(THREAD_LOCAL_OBJECTS_OFFSET, art::Thread::ThreadLocalObjectsOffset<__SIZEOF_POINTER__>().Int32Value()) // Offset of field Thread::tlsPtr_.mterp_current_ibase. -#define THREAD_CURRENT_IBASE_OFFSET (THREAD_LOCAL_OBJECTS_OFFSET + __SIZEOF_POINTER__) +#define THREAD_CURRENT_IBASE_OFFSET (THREAD_LOCAL_OBJECTS_OFFSET + __SIZEOF_SIZE_T__) ADD_TEST_EQ(THREAD_CURRENT_IBASE_OFFSET, art::Thread::MterpCurrentIBaseOffset<__SIZEOF_POINTER__>().Int32Value()) // Offset of field Thread::tlsPtr_.mterp_default_ibase.