Add runtime reasons for deopt.
Currently to help investigate. Also:
1) Log when deoptimization happens (which method and what reason)
2) Trace when deoptimization happens (to make it visible in systrace)
bug:37655083
Test: test-art-host test-art-target
Change-Id: I0c2d87b40db09e8e475cf97a7c784a034c585e97
diff --git a/runtime/arch/mips/quick_entrypoints_mips.S b/runtime/arch/mips/quick_entrypoints_mips.S
index 7bbcbf0..e628a9f 100644
--- a/runtime/arch/mips/quick_entrypoints_mips.S
+++ b/runtime/arch/mips/quick_entrypoints_mips.S
@@ -1978,8 +1978,7 @@
ENTRY art_quick_deoptimize
SETUP_SAVE_ALL_CALLEE_SAVES_FRAME
la $t9, artDeoptimize
- jalr $t9 # artDeoptimize(Thread*)
- # Returns caller method's frame size.
+ jalr $t9 # (Thread*)
move $a0, rSELF # pass Thread::current
END art_quick_deoptimize
@@ -1991,9 +1990,8 @@
ENTRY art_quick_deoptimize_from_compiled_code
SETUP_SAVE_EVERYTHING_FRAME
la $t9, artDeoptimizeFromCompiledCode
- jalr $t9 # artDeoptimizeFromCompiledCode(Thread*)
- # Returns caller method's frame size.
- move $a0, rSELF # pass Thread::current
+ jalr $t9 # (DeoptimizationKind, Thread*)
+ move $a1, rSELF # pass Thread::current
END art_quick_deoptimize_from_compiled_code
/*