summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2017-08-23 10:15:24 +0000
committer Vladimir Marko <vmarko@google.com> 2017-08-23 10:15:24 +0000
commitfc63babf6be7bdd96be1492391594ad628f1fd3c (patch)
tree88f13395178e7a17979dcb0666c65c024732be6b
parent57b4e13d9528a3ebac05db280be1df92a261cf79 (diff)
Revert "Fix some issues for deoptimizing runtime methods."
Reason for revert: Some tests still failing, reverting the original CL. This reverts commit 57b4e13d9528a3ebac05db280be1df92a261cf79. Change-Id: I49d9da676be7a1994b39ea9046c8d62695ff8422
-rw-r--r--runtime/interpreter/interpreter.cc6
-rw-r--r--test/knownfailures.json3
2 files changed, 4 insertions, 5 deletions
diff --git a/runtime/interpreter/interpreter.cc b/runtime/interpreter/interpreter.cc
index 25d4dd6985..943562cc8d 100644
--- a/runtime/interpreter/interpreter.cc
+++ b/runtime/interpreter/interpreter.cc
@@ -562,7 +562,8 @@ void EnterInterpreterFromDeoptimize(Thread* self,
new_dex_pc = dex_pc + instr->SizeInCodeUnits();
} else if (instr->Opcode() == Instruction::NEW_INSTANCE) {
DCHECK(deopt_method_type == DeoptimizationMethodType::kDefault);
- if (!first && value.GetL()->IsString()) {
+ if (value.GetL()->IsString()) {
+ DCHECK(!first);
// It's possible to deoptimize at a NEW_INSTANCE dex instruction that's for a
// java string, which is turned into a call into StringFactory.newEmptyString();
// Move the StringFactory.newEmptyString() result into the destination register.
@@ -591,8 +592,7 @@ void EnterInterpreterFromDeoptimize(Thread* self,
// an invoke, so that we don't have to decode the dex instruction to move
// result into the right vreg. All slow paths have been audited to be
// idempotent except monitor-enter/exit and invocation stubs.
- // TODO: move result and advance dex pc. That also requires that we can
- // tell the return type of a runtime method, which we don't do currently.
+ // TODO: move result and advance dex pc.
new_dex_pc = dex_pc;
}
} else {
diff --git a/test/knownfailures.json b/test/knownfailures.json
index 4166454044..20cfc34e43 100644
--- a/test/knownfailures.json
+++ b/test/knownfailures.json
@@ -207,8 +207,7 @@
"variant": "trace | stream"
},
{
- "tests": ["597-deopt-runtime-method",
- "604-hot-static-interface",
+ "tests": ["604-hot-static-interface",
"612-jit-dex-cache",
"613-inlining-dex-cache",
"626-set-resolved-string"],