History log of /dalvik/vm/compiler/Compiler.cpp
Revision Date Author Comments
9cf04e3569d48dae36e0492226250da04699f8d4 06-Aug-2013 Jun Tian <jun.j.tian@intel.com> Fix the protection of code cache for x86 JIT

During generation of code into code cache
an unprotected region of memory does not correspond to
protected one, The patch fixes that.

Author: Katkov Serguei <serguei.i.katkov@intel.com>

(cherry picked from commit 74a62214ef262380371bc21be2a1c42295046fb2)

Change-Id: I362a10897564b987c8a3b2dfc9ded8f0a9efd56a
d585beda3690b8b5b978e3c59af224336614ba72 21-May-2013 Yanchuan Nian <ycnian@gmail.com> Rename unreasonable function name dmvCompilerTemplateEnd

In dalvik, most function names start with "dvm" except dmvCompilerTemplateEnd.
Convert it to dvmCompilerTemplateEnd in order to follow the rule.

Change-Id: I09c41f8c9d55058013fbdb62ac5922ccd067ce39
bbbe552a31f7229708bfc748480ce538218ae076 23-May-2013 buzbee <buzbee@google.com> JIT tuning; set cache size on command line

The tuning knobs for triggering trace compilation for the JIT
had not been revisited for several years. In that time, the
working set of some applications have significantly increased,
leading to frequent cache overlows & flushes.

This CL adds the ability to set the maximum size of the JIT's
cache on the command line, and we expect to use different settings
depending on device configuration (rule of thumb: 1K for each 1M
for system RAM, with 2M limit).

Additionally, the trace compilation trigger has been tightened to
limit the compilation of cold traces.

Change-Id: Ice22c5d9d46a93e465c57dd83f50ca3912f1672e
e3b363d470aa94e2a8c9df214c658980a6e83122 02-Apr-2013 You Kim <you.kim72@gmail.com> Fix a minor leaks caused by failed initializations.(typo)

(cherry-pick of 8e622221809bf852b1063db00493475b77beefed.)

Change-Id: I0ec95058616e48dbc574c5d207b4576923a0cc37
8e622221809bf852b1063db00493475b77beefed 02-Apr-2013 You Kim <you.kim72@gmail.com> Fix a minor leaks caused by failed initializations.(typo)

Change-Id: I62bc3ea48938a4f54e9f47218d4025e954a6d566
0c2dc522d0e120f346cf0a40c8cf0c93346131c2 03-Jul-2012 Dong-Yuan Chen <dong-yuan.chen@intel.com> [X86] X86 trace JIT compiler support

This patch provides a fully functional x86 trace JIT compiler for Dalvik
VM. It is built on top of the existing x86 fast interpreter
with bug fixes and needed extension to support trace JIT interface. The
x86 trace JIT code generator was developed independent of the existing
template-based code generator and thus does not share exactly the same
infrastructure. Included in this patch are:

* Deprecated and removed the x86-atom fast interpreter that is no
longer functional since ICS.
* Augmented x86 fast interpreter to provide interfaces for x86 trace JIT
compiler.
* Added x86 trace JIT code generator with full JDWP debugging support.
* Method JIT and self-verification mode are not supported.

The x86 code generator uses the x86 instruction encoder/decoder library
from the Apache Harmony project. Additional wrapper extension and bug
fixes were added to support the x86 trace JIT code generator. The x86
instruction encoder/decoder is embedded inside the x86 code generator
under the libenc subdirectory.

Change-Id: I241113681963a16c13a3562390813cbaaa6eedf0
Signed-off-by: Dong-Yuan Chen <dong-yuan.chen@intel.com>
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
Signed-off-by: Johnnie Birch <johnnie.l.birch.jr@intel.com>
Signed-off-by: Udayan <udayan.banerji@intel.com>
Signed-off-by: Sushma Kyasaralli Thimmappa <sushma.kyasaralli.thimmappa@intel.com>
Signed-off-by: Bijoy Jose <bijoy.a.jose@intel.com>
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Tim Hartley <timothy.d.hartley@intel.com>
a8b91c52fd8a90b784835dfe1f8898035266c4dd 02-May-2012 Raghu Gandham <raghu@mips.com> [MIPS] Dalvik fast interpreter support and JIT implementation

Change-Id: I9bb4f6875b7061d3ffaee73f204026cb8ba3ed39
Signed-off-by: Raghu Gandham <raghu@mips.com>
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Douglas Leung <douglas@mips.com>
Signed-off-by: Don Padgett <don@mips.com>
c1a4ab9c313d8a3d12007f2dbef7b5a6fa4ac2ef 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Also fix an occurrence of LOGW missed in an earlier change.

Bug: 5449033
Change-Id: I2e3b23839e6dcd09015d6402280e9300c75e3406
e8e1ddccd616e8226b7cc1e4e9fdb327429249e8 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: Ia5d301248024df26c2a29dabdfe738e39ec87c82
062bf509a77fce9dfcb7e7b2e401cf2a124d83d5 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: Ic663376d1ad6a6cb14bf81405ad9afd247cf2f60
db7d27bf88146ed20d2c8f3c424c998dae3b9971 29-Jun-2011 Doug Kwan <dougkwan@google.com> Mark a variable as volatile to suppress a gcc warning.

Change-Id: Ic5263e2d7e52c72d35bf706d86bba2ad6548ce58
0c32ebc544b8dd1528dc007090abda0be5f31174 09-Jun-2011 Carl Shapiro <cshapiro@google.com> Fix a minor leaks caused by failed initializations.

Change-Id: Ie0939bce7422b224f4cfde9781470f2237ede497
60fc806b679a3655c228b4093058c59941a49cfe 26-May-2011 Dan Bornstein <danfuzz@android.com> Further conservation of newlines.

Friends don't let friends end LOG() strings with newlines.

Change-Id: I5a18c766c90c4ab5f03caa6acd601d34d91beb00
cf2aac7e6a29e7e1e5f622fd6123e0d1a9a75bda 25-Apr-2011 buzbee <buzbee@google.com> Refine & simplify the interBreak mechanism

Replace dvmUpdateInterpBreak() and friends with more direct
enable/disable subMode calls. Hide breakFlags manipulation from
higher-level callers and infer what is needed from the active
subMode.

Add documentation to the interpreter control section of
mterp/README.txt

Change-Id: If7ebee5d8e4db8154c4caed72cf89ec088045998
389e258a5b9b2afb7bfaee3344c615d3310fae4e 23-Apr-2011 buzbee <buzbee@google.com> InterpBreak cleanup (part 1)

Moved the suspend count variables from the interpBreak structure. These
are already protected by a mutex, and we need the space in interpBreak
for additional subMode flags. This CL just does the move and expands
the width of subMode to 16-bits.

Change-Id: I4a6070b1ba4fb08a0f6e0aba6f150b30f9159eed
30bc0d46ae730d78c42c39cfa56a59ba3025380b 22-Apr-2011 buzbee <buzbee@google.com> Consolidate curFrame fields in thread storage

We ended up with two locations in the Thread structure for saved
Dalvik frame pointer. This change consolidates them.

Change-Id: I78f288e4e57e232f29663be930101e775bfe370f
5d5b94c8d14b166af580d5dd5906db4f9527d6ca 20-Apr-2011 Carl Shapiro <cshapiro@google.com> Move the compiler into C++.

Change-Id: Idffbdb02c29e2be03a75f5a0a664603f2299504a