diff options
| author | 2019-03-12 15:45:47 +0000 | |
|---|---|---|
| committer | 2019-03-12 09:52:59 -0700 | |
| commit | 3dacdd6343ea9a6471692914c7a9dff66d6453c7 (patch) | |
| tree | 5e0a3b8f99e914a7fbd49822e5c8fb1bd4709f5c /runtime/interpreter/interpreter.cc | |
| parent | 939798e6a565a92e597136c589428e89c28bffd5 (diff) | |
Revert^4 "Remove Global deopt requirement for several jvmti events"
It was possible for the top frame of a thread to enter the
artQuickToInterpreterBridge during runtime shutdown. This could be
caused by the libjdwp agent. If this happens the caller of the frame
will be 'null', which could cause a segv if not detected correctly.
This reverts commit 939798e6a565a92e597136c589428e89c28bffd5.
Reason for revert: Fixed issue that could cause crash during process
shutdown.
Test: ./art/tools/run-libjdwp-tests.sh --mode=host
Test: ./test.py --host
Change-Id: I2aad1705c761edb4ed788cec4fc8a3068d67aee5
Diffstat (limited to 'runtime/interpreter/interpreter.cc')
| -rw-r--r-- | runtime/interpreter/interpreter.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/interpreter/interpreter.cc b/runtime/interpreter/interpreter.cc index aa115623b3..25d48c2e06 100644 --- a/runtime/interpreter/interpreter.cc +++ b/runtime/interpreter/interpreter.cc @@ -289,7 +289,7 @@ static inline JValue Execute( } } - if (!stay_in_interpreter) { + if (!stay_in_interpreter && !self->IsForceInterpreter()) { jit::Jit* jit = Runtime::Current()->GetJit(); if (jit != nullptr) { jit->MethodEntered(self, shadow_frame.GetMethod()); |