summaryrefslogtreecommitdiff
path: root/runtime/entrypoints_order_test.cc
diff options
context:
space:
mode:
author Alex Light <allight@google.com> 2018-10-01 13:21:47 -0700
committer Alex Light <allight@google.com> 2018-10-01 14:57:18 -0700
commitbb68fda18ef3d7ea183a322831a5afd20b6a8bff (patch)
tree5745a64e0e410ac3fe66cd54abd2bbfb84539e93 /runtime/entrypoints_order_test.cc
parent29391756f70489a5ab659988f058e359527a7af1 (diff)
Move InterpreterCache to right below tlsPtr_
Change the position of the InterpreterCache field in Thread to be directly below the tlsPtr_ field. Since both members of the tlsPtr_ and InterpreterCache fields are used by asm_code we need their offsets in asm_support.h. The fields at the end of the Thread struct have been undergoing changes. By moving this field up we avoid the need to update asm_support.h whenever one of the fields is modified. Test: ./test.py --host Change-Id: Ic2863116ed446af155badfc3bf098add7ba0b699
Diffstat (limited to 'runtime/entrypoints_order_test.cc')
-rw-r--r--runtime/entrypoints_order_test.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/runtime/entrypoints_order_test.cc b/runtime/entrypoints_order_test.cc
index cb85804986..50c65ea505 100644
--- a/runtime/entrypoints_order_test.cc
+++ b/runtime/entrypoints_order_test.cc
@@ -140,8 +140,11 @@ class EntrypointsOrderTest : public CommonRuntimeTest {
EXPECT_OFFSET_DIFFP(Thread, tlsPtr_, flip_function, method_verifier, sizeof(void*));
EXPECT_OFFSET_DIFFP(Thread, tlsPtr_, method_verifier, thread_local_mark_stack, sizeof(void*));
EXPECT_OFFSET_DIFFP(Thread, tlsPtr_, thread_local_mark_stack, async_exception, sizeof(void*));
- EXPECT_OFFSET_DIFF(Thread, tlsPtr_.async_exception, Thread, wait_mutex_, sizeof(void*),
- thread_tlsptr_end);
+ // The first field after tlsPtr_ is forced to a 16 byte alignment so it might have some space.
+ auto offset_tlsptr_end = OFFSETOF_MEMBER(Thread, tlsPtr_) +
+ sizeof(decltype(reinterpret_cast<Thread*>(16)->tlsPtr_));
+ CHECKED(offset_tlsptr_end - OFFSETOF_MEMBER(Thread, tlsPtr_.async_exception) == sizeof(void*),
+ "async_exception last field");
}
void CheckJniEntryPoints() {