summaryrefslogtreecommitdiff
path: root/runtime/common_dex_operations.h
diff options
context:
space:
mode:
author Jeff Hao <jeffhao@google.com> 2017-02-27 14:47:06 -0800
committer Jeff Hao <jeffhao@google.com> 2017-03-09 00:36:13 +0000
commitdf79ddb545f0d6e71d6eebb9cb94aa6916351ee9 (patch)
tree3fb9da92f3049c3afa99920898b0ddc57e68b074 /runtime/common_dex_operations.h
parent68948e01f56ad1996af77f4c0aab721940b0e18d (diff)
Stop interpreter from accessing code items of compiled code.
The ArtInterpreterToCompiledCodeBridge accesses the code item in a number of places to handle argument marshalling. However, the code item of a compiled method should have no need to be accessed by the runtime at all, since the code has been compiled. By removing these accesses, there is a drop in the memory footprint of the dex file, since these code items remain untouched by the runtime. Bug: 35800981 Test: mm test-art-host Change-Id: Ib7d29c17e80b1690aa819d083f5b12739492ebd6
Diffstat (limited to 'runtime/common_dex_operations.h')
-rw-r--r--runtime/common_dex_operations.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/common_dex_operations.h b/runtime/common_dex_operations.h
index 6693eefa5a..8776061433 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
@@ -56,7 +56,7 @@ inline void PerformCall(Thread* self,
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);