diff options
author | Andy McFadden <fadden@android.com> | 2010-04-22 17:08:11 -0700 |
---|---|---|
committer | Andy McFadden <fadden@android.com> | 2010-04-23 12:36:03 -0700 |
commit | b39e496725b92e90f9adcd33097cf40d93508034 (patch) | |
tree | 05622608709026fd5ac07c90fd726e95173502e3 /tools/integrate/PushAndroidCode.java | |
parent | a5fd116a82413e73c9af51b9e9bdbfc6afa74762 (diff) |
Fix a deadlock in the breakpoint code.
In froyo we started using "hard" breakpoints, where we replace the
existing opcodes with breakpoint instructions. This requires some
coordination to avoid confusing the verifier. The previous approach
allowed the breakpoints to be inserted, and "undid" them while the
verifier ran; this worked, but caused us to be holding a lock for
an extended period.
The new approach just avoids altering the bytecode of unverified
classes, and then "flushes" the breakpoint set out between the time
when verification completes and class initialization starts. This
removes the possibility of blocking with the lock held, and makes
everything much simpler.
For bug 2615063.
(cherry-pick from dalvik-dev)
Change-Id: I75f19b0cc71fc0babb50ab299c6c5a865e06c919
Diffstat (limited to 'tools/integrate/PushAndroidCode.java')
0 files changed, 0 insertions, 0 deletions