From 0747466fca310eedea5fc49e37d54f240a0b3c0f Mon Sep 17 00:00:00 2001 From: Sebastien Hertz Date: Tue, 25 Aug 2015 15:12:33 +0000 Subject: Revert "Revert "Fix deoptimization with pending exception"" This reverts commit 6e2d5747d00697a25251d25dd33b953e54709507. Fixes the deoptimization path from compiled code (generated by the Optimizing compiler) by adding wrapper artDeoptimizeFromCompiledCode. This wrapper, called through the matching assembler stub art_quick_deoptimize_from_compiled_code, pushes the deoptimization context just before deoptimizing the stack. Bug: 23371176 Bug: 19944235 Change-Id: Ia7082656998aebdd0157438f7e6504c120e10d3e --- runtime/entrypoints_order_test.cc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'runtime/entrypoints_order_test.cc') diff --git a/runtime/entrypoints_order_test.cc b/runtime/entrypoints_order_test.cc index f7a3cd53cd..7db8888c7f 100644 --- a/runtime/entrypoints_order_test.cc +++ b/runtime/entrypoints_order_test.cc @@ -72,15 +72,12 @@ class EntrypointsOrderTest : public CommonRuntimeTest { EXPECT_OFFSET_DIFFP(Thread, tls32_, throwing_OutOfMemoryError, no_thread_suspension, 4); EXPECT_OFFSET_DIFFP(Thread, tls32_, no_thread_suspension, thread_exit_check_count, 4); EXPECT_OFFSET_DIFFP(Thread, tls32_, thread_exit_check_count, handling_signal_, 4); - EXPECT_OFFSET_DIFFP(Thread, tls32_, handling_signal_, - deoptimization_return_value_is_reference, 4); // TODO: Better connection. Take alignment into account. EXPECT_OFFSET_DIFF_GT3(Thread, tls32_.thread_exit_check_count, tls64_.trace_clock_base, 4, thread_tls32_to_tls64); - EXPECT_OFFSET_DIFFP(Thread, tls64_, trace_clock_base, deoptimization_return_value, 8); - EXPECT_OFFSET_DIFFP(Thread, tls64_, deoptimization_return_value, stats, 8); + EXPECT_OFFSET_DIFFP(Thread, tls64_, trace_clock_base, stats, 8); // TODO: Better connection. Take alignment into account. EXPECT_OFFSET_DIFF_GT3(Thread, tls64_.stats, tlsPtr_.card_table, 8, thread_tls64_to_tlsptr); @@ -108,8 +105,8 @@ class EntrypointsOrderTest : public CommonRuntimeTest { EXPECT_OFFSET_DIFFP(Thread, tlsPtr_, single_step_control, stacked_shadow_frame_record, sizeof(void*)); EXPECT_OFFSET_DIFFP(Thread, tlsPtr_, stacked_shadow_frame_record, - deoptimization_return_value_stack, sizeof(void*)); - EXPECT_OFFSET_DIFFP(Thread, tlsPtr_, deoptimization_return_value_stack, name, sizeof(void*)); + deoptimization_context_stack, sizeof(void*)); + EXPECT_OFFSET_DIFFP(Thread, tlsPtr_, deoptimization_context_stack, name, sizeof(void*)); EXPECT_OFFSET_DIFFP(Thread, tlsPtr_, name, pthread_self, sizeof(void*)); EXPECT_OFFSET_DIFFP(Thread, tlsPtr_, pthread_self, last_no_thread_suspension_cause, sizeof(void*)); -- cgit v1.2.3-59-g8ed1b