summaryrefslogtreecommitdiff
path: root/runtime/common_dex_operations.h
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2017-05-26 21:47:30 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-05-26 21:47:32 +0000
commit0a5ace58e973da278049f837bf2cdbaf7b44849c (patch)
tree3ef8f5c2d148c7d4d30696cf3a618984546398b9 /runtime/common_dex_operations.h
parentd8b6461dfda391284e4b6942df0e872a3da24ce9 (diff)
parent5ea8413714ceec50a758df6614dc4a3ec6179112 (diff)
Merge "Stop interpreter from accessing code items of compiled code."
Diffstat (limited to 'runtime/common_dex_operations.h')
-rw-r--r--runtime/common_dex_operations.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/runtime/common_dex_operations.h b/runtime/common_dex_operations.h
index 6693eefa5a..133ddb0721 100644
--- a/runtime/common_dex_operations.h
+++ b/runtime/common_dex_operations.h
@@ -36,8 +36,8 @@ namespace interpreter {
void ArtInterpreterToCompiledCodeBridge(Thread* self,
ArtMethod* caller,
- const DexFile::CodeItem* code_item,
ShadowFrame* shadow_frame,
+ uint16_t arg_offset,
JValue* result);
} // namespace interpreter
@@ -46,17 +46,15 @@ inline void PerformCall(Thread* self,
ArtMethod* caller_method,
const size_t first_dest_reg,
ShadowFrame* callee_frame,
- JValue* result)
+ JValue* result,
+ bool use_interpreter_entrypoint)
REQUIRES_SHARED(Locks::mutator_lock_) {
if (LIKELY(Runtime::Current()->IsStarted())) {
- ArtMethod* target = callee_frame->GetMethod();
- if (ClassLinker::ShouldUseInterpreterEntrypoint(
- target,
- target->GetEntryPointFromQuickCompiledCode())) {
+ if (use_interpreter_entrypoint) {
interpreter::ArtInterpreterToInterpreterBridge(self, code_item, callee_frame, result);
} else {
interpreter::ArtInterpreterToCompiledCodeBridge(
- self, caller_method, code_item, callee_frame, result);
+ self, caller_method, callee_frame, first_dest_reg, result);
}
} else {
interpreter::UnstartedRuntime::Invoke(self, code_item, callee_frame, result, first_dest_reg);