81d713ae4bb6cd6f79d645686e656e8be90b9d29 |
|
29-Nov-2010 |
Andy McFadden <fadden@android.com> |
Verifier doc addendum. Added note about hand-over-hand locking. Change-Id: I9912e87f2585c3d225b93e037c04f9bf7e2cff14
|
3f64a024dec2c080b9abde74502826b29263152a |
|
13-Nov-2010 |
Andy McFadden <fadden@android.com> |
Check monitors during bytecode verification This adds tracking of monitor-enter and monitor-exit instructions to the bytecode verifier. The idea is to guarantee that all lock operations in a method are paired with unlock operations, whether the method completes normally or abnormally. Because of an issue in "dx", the code only verifies that the operation stack has the right size at all times. We do not yet confirm that the correct monitor is being unlocked by monitor-exit (the code is present but ifdefed out). Also, when monitor verification is enabled, we do not add the "can throw" path from monitor-exit to the work list, potentially causing some "dead code" warnings. (Not coincidentally, "dead code" checking is now only enabled in libdvm_assert.so.) Overall increase in bootstrap verification time is about 9%, dropping to 6% when the new checks are disabled. The feature is currently disabled by default. -Xverifyopt:checkmon enables it. Bug 2534655 Change-Id: I0eac54ce2623fb1d48cc80889fcdb4fd69de3231
|
fbdcfb9ea9e2a78f295834424c3f24986ea45dac |
|
29-May-2010 |
Brian Carlstrom <bdc@google.com> |
Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master Change-Id: I0c0edb3ebf0d5e040d6bbbf60269fab0deb70ef9
|
861b33855aff080278ea5125e4372a2d4bf8aef5 |
|
06-Mar-2010 |
Andy McFadden <fadden@android.com> |
Make wide-volatile loads and stores atomic. This implements the four wide-volatile instructions added in a previous change, and modifies the verifier to substitute the opcodes into the instruction stream when appropriate. For mterp, the ARM wide get/put instructions now have conditional code that replaces ldrd/strd with a call to the quasiatomic functions. The C version does essentially the same thing. ARMv4T lacks ldrd/stdrd, and uses separate implementations for the wide field accesses, so those were updated as well. x86 will just use stubs. The JIT should punt these to the interpreter. Change-Id: Ife88559ed1a698c3267d43c454896f6b12081c0f Also: - We don't seem to be using the negative widths in the instruction table. Not sure they're useful anymore. - Tabs -> spaces in x86-atom throw-verification-error impl.
|
72e93344b4d1ffc71e9c832ec23de0657e5b04a5 |
|
13-Nov-2009 |
Jean-Baptiste Queru <jbq@google.com> |
eclair snapshot
|
c7659ec11fb9993f8c1f89e6c72f569da5504052 |
|
19-Sep-2009 |
Andy McFadden <fadden@android.com> |
Various minor changes to Dalvik documentation. Some updates for Eclair, some minor fixes.
|
0df441364d2721985d4e64a2ab398c4407c1ff55 |
|
30-Jul-2009 |
Andy McFadden <fadden@android.com> |
Update bytecode verifier info. Rewrote last section to describe deferred verification error reporting. Added note about structured locking checks.
|
f6c387128427e121477c1b32ad35cdcaa5101ba3 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
f72d5de56a522ac3be03873bdde26f23a5eeeb3c |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
4c1a2915e40eceeb68dbc323d28b8bf8763af83b |
|
20-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@127101
|
89c1feb0a69a7707b271086e749975b3f7acacf7 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
|
2ad60cfc28e14ee8f0bb038720836a4696c478ad |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
|