summaryrefslogtreecommitdiff
path: root/tools/integrate/PushAndroidCode.java
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2010-04-22 17:08:11 -0700
committerAndy McFadden <fadden@android.com>2010-04-23 12:36:03 -0700
commitb39e496725b92e90f9adcd33097cf40d93508034 (patch)
tree05622608709026fd5ac07c90fd726e95173502e3 /tools/integrate/PushAndroidCode.java
parenta5fd116a82413e73c9af51b9e9bdbfc6afa74762 (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