From a14bf4460268064e0adc4bb210d237209be33eaf Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Thu, 25 Feb 2016 13:34:18 +0000 Subject: [PATCH] Revert "ART: Support interpreter switching in x86 mterp" Fails: test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-304-method-tracing32 test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-545-tracing-and-jit32 test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-570-checker-osr32 test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-802-deoptimization32 This reverts commit 4429b110c7b4d9bda2c31b4df257e840831d01f6. Change-Id: I30c42e22b44bb9c9bbd6efaedbc97516d575bf11 --- runtime/interpreter/mterp/out/mterp_x86.S | 42 +------------------------------ runtime/interpreter/mterp/x86/footer.S | 6 +---- runtime/interpreter/mterp/x86/invoke.S | 3 --- 3 files changed, 2 insertions(+), 49 deletions(-) diff --git a/runtime/interpreter/mterp/out/mterp_x86.S b/runtime/interpreter/mterp/out/mterp_x86.S index 589639bdb..b05360b6a 100644 --- a/runtime/interpreter/mterp/out/mterp_x86.S +++ b/runtime/interpreter/mterp/out/mterp_x86.S @@ -2989,9 +2989,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeVirtual) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -3025,9 +3022,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeSuper) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -3061,9 +3055,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeDirect) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -3090,9 +3081,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeStatic) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -3120,9 +3108,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeInterface) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -3170,9 +3155,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeVirtualRange) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -3199,9 +3181,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeSuperRange) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -3228,9 +3207,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeDirectRange) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -3257,9 +3233,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeStaticRange) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -3286,9 +3259,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeInterfaceRange) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -6032,9 +6002,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeVirtualQuick) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -6061,9 +6028,6 @@ SYMBOL(artMterpAsmInstructionStart) = .L_op_nop call SYMBOL(MterpInvokeVirtualQuickRange) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 @@ -12887,17 +12851,13 @@ MterpException: call SYMBOL(MterpHandleException) testb %al, %al jz MterpExceptionReturn + REFRESH_IBASE movl OFF_FP_CODE_ITEM(rFP), %eax movl OFF_FP_DEX_PC(rFP), %ecx lea CODEITEM_INSNS_OFFSET(%eax), rPC lea (rPC, %ecx, 2), rPC movl rPC, OFF_FP_DEX_PC_PTR(rFP) - /* Do we need to switch interpreters? */ - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback /* resume execution at catch block */ - REFRESH_IBASE FETCH_INST GOTO_NEXT /* NOTE: no fallthrough */ diff --git a/runtime/interpreter/mterp/x86/footer.S b/runtime/interpreter/mterp/x86/footer.S index 64d72d770..c67491e57 100644 --- a/runtime/interpreter/mterp/x86/footer.S +++ b/runtime/interpreter/mterp/x86/footer.S @@ -115,17 +115,13 @@ MterpException: call SYMBOL(MterpHandleException) testb %al, %al jz MterpExceptionReturn + REFRESH_IBASE movl OFF_FP_CODE_ITEM(rFP), %eax movl OFF_FP_DEX_PC(rFP), %ecx lea CODEITEM_INSNS_OFFSET(%eax), rPC lea (rPC, %ecx, 2), rPC movl rPC, OFF_FP_DEX_PC_PTR(rFP) - /* Do we need to switch interpreters? */ - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback /* resume execution at catch block */ - REFRESH_IBASE FETCH_INST GOTO_NEXT /* NOTE: no fallthrough */ diff --git a/runtime/interpreter/mterp/x86/invoke.S b/runtime/interpreter/mterp/x86/invoke.S index cb74a0447..bbd88cf40 100644 --- a/runtime/interpreter/mterp/x86/invoke.S +++ b/runtime/interpreter/mterp/x86/invoke.S @@ -16,8 +16,5 @@ call SYMBOL($helper) testb %al, %al jz MterpException - call SYMBOL(MterpShouldSwitchInterpreters) - testb %al, %al - jnz MterpFallback RESTORE_IBASE ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 -- 2.11.0