4fa9a95705253695d257381fdb12311f13d7638a |
|
06-Aug-2012 |
Elliott Hughes <enh@google.com> |
RETURN_VOID_BARRIER is also a return. Bug: http://code.google.com/p/android/issues/detail?id=36003 Change-Id: I7fb53b0898158a3ad7b0eb4f8385674ddaeffd60
|
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>
|
0de2df09a41ffbe2318dbc9a4daa04dc7966f9b8 |
|
18-Jul-2012 |
Elliott Hughes <enh@google.com> |
Fix a small and unlikely memory leak. Change-Id: I131b9f2f8ae4a4b2bb3bb00bc2cd1e607d979bb5
|
75425b731c514bf90c985275d80aa7886727d83f |
|
01-Feb-2012 |
Chris Dearman <chris@mips.com> |
Fix the portable interpreter build Change-Id: Ibf08d50c7a01a4c30559dd2ee9511c28fb1365a5 Signed-off-by: Chris Dearman <chris@mips.com>
|
3560a2d72e377a36fc0a8ee675b3bf6096dc8f43 |
|
18-Jan-2012 |
buzbee <buzbee@google.com> |
Remove stale assert Delete a stale assert that can cause problems when running with the portable interpreter when debugging or profiling. Change-Id: I354a1fbe280e1baeb885cb51fed1f3e2c8eef159
|
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
|
4308417beec548c2b2c06ecec4f7f4a965b09fb2 |
|
04-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ic558031c75b3702d90eb78bd730501ae5d3c077b
|
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
|
e3d9cde40f96bf40dd4ad3d495949869bde5dd1e |
|
01-Nov-2011 |
Ben Cheng <bccheng@android.com> |
Disable JIT single-stepping resume mode. BUG: 5551114 Change-Id: Id8ee75be5e71ee258994235952871ad181024e56
|
17d00d5ded5e5b347cbbf92de3f5f8a35d13e115 |
|
27-Oct-2011 |
Ben Cheng <bccheng@android.com> |
Fix single-stepping resume mode in the interpreter. (cherry-picked from master) When a resume attempt is cancelled due to other pending request make sure the old native resume PC is cleared. Otherwise the JIT code cache may be re-entered with mismatching Dalvik PC. Also fix a code bloat problem where single-step count is not set properly after executing a return instruction. BUG: 5208786 Change-Id: I39db1633dcda1f464311c878ded4b5695a9b7ffd
|
8faec7e782eca1fd6a2ad071c30b939c77c82662 |
|
27-Oct-2011 |
Ben Cheng <bccheng@android.com> |
Fix single-stepping resume mode in the interpreter. (cherry-picked from master) When a resume attempt is cancelled due to other pending request make sure the old native resume PC is cleared. Otherwise the JIT code cache may be re-entered with mismatching Dalvik PC. Also fix a code bloat problem where single-step count is not set properly after executing a return instruction. BUG: 5208786 Change-Id: I39db1633dcda1f464311c878ded4b5695a9b7ffd
|
b1e2271b51cfb1f264b8966f1151652767259751 |
|
27-Oct-2011 |
Ben Cheng <bccheng@android.com> |
Fix single-stepping resume mode in the interpreter. (cherry-picked from master) When a resume attempt is cancelled due to other pending request make sure the old native resume PC is cleared. Otherwise the JIT code cache may be re-entered with mismatching Dalvik PC. Also fix a code bloat problem where single-step count is not set properly after executing a return instruction. BUG: 5208786 Change-Id: I54775215b11eae29ccdb6111dc0fdfa99e41e08d
|
0c0624bfad83503547b0226bd2dfac055782582a |
|
27-Oct-2011 |
Ben Cheng <bccheng@android.com> |
Fix single-stepping resume mode in the interpreter. When a resume attempt is cancelled due to other pending request make sure the old native resume PC is cleared. Otherwise the JIT code cache may be re-entered with mismatching Dalvik PC. Also fix a code bloat problem where single-step count is not set properly after executing a return instruction. Change-Id: Ia926bc3a87cae1296719a1069838060b181ce54d
|
92c1f6f1b4249e4e379452ee7b49f027052bf4ce |
|
20-Oct-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I8bd96961e369a08e86ff78b82d90f20f42787eb1
|
1663a6c12fdf4732d7ea0a0406af6085b3c408e4 |
|
12-Oct-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOG() to (IF_)ALOG() DO NOT MERGE See https://android-git.corp.google.com/g/#/c/141576 Bug: 5449033 Change-Id: Ie3bc0d5436218ea05f98cb0373ecf5924f78db05
|
167e062f649c5dd0d811336e8e5734e956ef38dc |
|
06-Sep-2011 |
Jesse Wilson <jessewilson@google.com> |
Attempt to fix dalvik heap corruption. This is bccheng's find, as reported here: http://b/5208786#ISSUE_HistoryHeader49 Bug: http://b/5208786 Change-Id: I1616bac1ef6c197f723656187a784fc6838975d4
|
6e0be609807de9fabe1b63a75f7c7d619bfa2f9f |
|
06-Sep-2011 |
Jesse Wilson <jessewilson@google.com> |
Attempt to fix dalvik heap corruption. This is bccheng's find, as reported here: http://b/5208786#ISSUE_HistoryHeader49 Bug: http://b/5208786 Change-Id: I1616bac1ef6c197f723656187a784fc6838975d4
|
8bc8bf71a52e17d483021b4c9dc8e735d9bce3ed |
|
20-Jul-2011 |
Elliott Hughes <enh@google.com> |
Don't use dvmIsValidObject outside the GC. Use dvmIsHeapPointer outside the GC. (This still isn't safe because there's no synchronization when dealing with the HeapSource.) Bug: 5049447 Change-Id: Ie0b325ef0a92687ea1eaf1491a4bb832298893c5
|
b08e2b6017770e887f6072c1520b2d7f2ef6916c |
|
07-Jun-2011 |
Elliott Hughes <enh@google.com> |
Switch dvmHumanReadableDescriptor over to std::string. (Prep work before making a change to stack dumps.) Change-Id: I0af49b920f450fd2611e4b96e717a637483122d6
|
291c84f60853d30e1c0d79dd08c5e5164f588e26 |
|
26-May-2011 |
Dan Bornstein <danfuzz@android.com> |
Prefer printf format "%#x" over "0x%x". I exist to serve. Change-Id: I8e2880b20eefd466da8515d5b6b0c5cb75d56169
|
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
|
cf4a20cf0cbc53f03a5b16c7152bbb29907f7108 |
|
25-May-2011 |
buzbee <buzbee@google.com> |
Interpreter/Debugger fix #4479968 This one was tricky to track down. The underlying problem arose with the consolidation of InterpState with Thread. Rather than having a state structure for each instance of the interpreter, we moved to a model that had a single thread-local struct shared by all interpreter instances running on that thread. A portion of interpreter state can't be shared - and thus was saved and restored on nested invocations of the interpreter. The bug here was that the storage for method return values was not included in the state that needed save/retore. In normal operation, it doesn't need to be saved - that storage isn't live across an invoke that could trigger a nested interpreter activation. However, when debugging, the debugger itself may hijack threads and create new interpreter instances for its own purposed - and there is a small window in which live retval can be trashed. The fix is simply to move retval into the InterpSave struct. Change-Id: Ib621824b799c5caa16fdfa8f5689a181159059df
|
313d430d5b3b96b45370ccddee52a6d88a799f35 |
|
11-May-2011 |
Ben Cheng <bccheng@android.com> |
Another single-stepping fix in JIT self-verification mode. The counted single stepping check should be based on the kSubModeCountedStep submode instead. Also since the NPC value is cleared when exceptions are thrown, we can single-step instructions that can throw as well. Change-Id: Idbc1307ae0956016ef76186aebc6e3b89b119d9d
|
2ec9f7802034144383261b2fd915bdf1eb396ea4 |
|
03-May-2011 |
buzbee <buzbee@google.com> |
x86 interpreter fix Correct the ordering of FP save prior to special subMode handling. Also added a stress test mode to help catch this sort of problem in the future. Change-Id: I5bcd325858fa63023498bfd47e910aaf1530d6bb
|
d862faa2ceae186da5518607505eb942d634ced9 |
|
28-Apr-2011 |
Carl Shapiro <cshapiro@google.com> |
Get rid of uneeded extern, enum, typedef and struct qualifiers. Change-Id: I236c5a1553a51f82c9bc3eaaab042046c854d3b4
|
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
|
1e1433e78f560a01744e870c19c162ab88df9dc1 |
|
21-Apr-2011 |
Carl Shapiro <cshapiro@google.com> |
Remove unneeded void argument list declarations. Change-Id: Ica749f6defa890363ec531b29e25bc415dc2cbb9
|
1813ab265f691e93401c7307c0b34247842ab35e |
|
16-Apr-2011 |
Carl Shapiro <cshapiro@google.com> |
Move the verifier and parts of the interpreter into C++. Change-Id: I8ce5fb558871d9709b251512dd01206be5ca8497
|