OSDN Git Service
Andreas Gampe [Mon, 22 Dec 2014 19:36:46 +0000 (19:36 +0000)]
am
460bb2c6: Merge "ART: Do not compile swap file functionality on Mac"
* commit '
460bb2c6dad7ff9637f148177689598cc6f66486':
ART: Do not compile swap file functionality on Mac
Andreas Gampe [Mon, 22 Dec 2014 19:33:15 +0000 (19:33 +0000)]
Merge "ART: Do not compile swap file functionality on Mac"
Andreas Gampe [Fri, 19 Dec 2014 20:04:06 +0000 (12:04 -0800)]
ART: Do not compile swap file functionality on Mac
Bug:
18596910
(cherry picked from commit
8a9f0049821803051201edebc6d9a0f0639756c3)
Change-Id: Ic06429f41840ce318cfaa837efecc69c2076440e
Andreas Gampe [Mon, 22 Dec 2014 18:34:08 +0000 (18:34 +0000)]
am
5c79aec9: Merge "ART: Swap-space in the compiler"
* commit '
5c79aec9d53d1320041d5a52e5115d78d16035b7':
ART: Swap-space in the compiler
Andreas Gampe [Mon, 22 Dec 2014 18:30:07 +0000 (18:30 +0000)]
Merge "ART: Swap-space in the compiler"
Andreas Gampe [Tue, 9 Dec 2014 00:59:43 +0000 (16:59 -0800)]
ART: Swap-space in the compiler
Introduce a swap-space and corresponding allocator to transparently
switch native allocations to memory backed by a file.
Bug:
18596910
(cherry picked from commit
62746d8d9c4400e4764f162b22bfb1a32be287a9)
Change-Id: I131448f3907115054a592af73db86d2b9257ea33
Andreas Gampe [Mon, 22 Dec 2014 17:50:07 +0000 (17:50 +0000)]
am
508d2665: Merge "ART: Do not JNI abort on nullptr GetObjectRefType"
* commit '
508d2665febbb06c853bfab131c4dc7164fffabb':
ART: Do not JNI abort on nullptr GetObjectRefType
Andreas Gampe [Mon, 22 Dec 2014 17:43:36 +0000 (17:43 +0000)]
Merge "ART: Do not JNI abort on nullptr GetObjectRefType"
Andreas Gampe [Sat, 20 Dec 2014 08:08:35 +0000 (00:08 -0800)]
ART: Do not JNI abort on nullptr GetObjectRefType
A nullptr is a valid input, as it is different from a null reference.
Bug:
18820997
Change-Id: Ibda8907ba13b20d2055049492a356ffdf4ddc714
Andreas Gampe [Sat, 20 Dec 2014 07:31:59 +0000 (07:31 +0000)]
am
094368ae: Merge "ART: Use interpret-only for vmSafeMode"
* commit '
094368ae2fa7a4eeaafb44f6018e498c1054af60':
ART: Use interpret-only for vmSafeMode
Andreas Gampe [Sat, 20 Dec 2014 07:25:59 +0000 (07:25 +0000)]
Merge "ART: Use interpret-only for vmSafeMode"
Andreas Gampe [Fri, 19 Dec 2014 17:53:27 +0000 (09:53 -0800)]
ART: Use interpret-only for vmSafeMode
Set the compiler filter when the zygote tells us that the app is
in vmSafeMode. This ensures that secondary dex files will also be
compiled interpret-only.
Bug:
18812762
(cherry picked from commit
44893692bfb25ceb5c7c5b2e5c606948fbdea298)
Change-Id: Idb61870beebe2eeb5b11554f95ea6a725c77f16a
Mathieu Chartier [Sat, 20 Dec 2014 02:12:09 +0000 (02:12 +0000)]
am
48e7f337: Merge "Add heap task processor"
* commit '
48e7f3374eb6f042c12cd540ce73c7cddc366bb4':
Add heap task processor
Mathieu Chartier [Sat, 20 Dec 2014 02:01:01 +0000 (02:01 +0000)]
Merge "Add heap task processor"
Mathieu Chartier [Thu, 18 Dec 2014 01:56:03 +0000 (17:56 -0800)]
Add heap task processor
The heap task processor processes async tasks which may be delayed.
The motivation for this change is preventing deadlocks which
can occur when the daemon threads get suspended by GetThreadStack.
Other improvements, reduces daemon thread count by one.
Cleaner pending transition VS heap trimming logic.
Bug:
18739541
Change-Id: Idab52b2d9661a6385cada74b93ff297ddc55fc78
Vladimir Marko [Fri, 19 Dec 2014 23:00:48 +0000 (23:00 +0000)]
am
a02bd15a: Merge "Fix running out of temps when storing invoke-interface result."
* commit '
a02bd15aa43d7583560ec81e57ae0d350ff9a3d5':
Fix running out of temps when storing invoke-interface result.
Vladimir Marko [Fri, 19 Dec 2014 22:54:57 +0000 (22:54 +0000)]
Merge "Fix running out of temps when storing invoke-interface result."
Vladimir Marko [Fri, 19 Dec 2014 19:27:26 +0000 (19:27 +0000)]
Fix running out of temps when storing invoke-interface result.
On ARM, after emitting invoke-interface we didn't have any
free temps to use for storing the result, so we would crash
if the result was an unpromoted dalvik register with stack
location too far from SP.
Bug:
18769895
(cherry picked from commit
d6bd06c713e8ec69de96510ef57bdf7adb4781ed)
Change-Id: Id88f6f3788eaf6ecbc7bd68880b445423f6e4f94
Hiroshi Yamauchi [Fri, 19 Dec 2014 20:21:31 +0000 (20:21 +0000)]
am
fa28ef01: Merge "Pass the real capacity to CreateRosAlloc."
* commit '
fa28ef0191e5f65bdf5932675f49d897bdc480b2':
Pass the real capacity to CreateRosAlloc.
Hiroshi Yamauchi [Fri, 19 Dec 2014 20:16:12 +0000 (20:16 +0000)]
Merge "Pass the real capacity to CreateRosAlloc."
Vladimir Marko [Fri, 19 Dec 2014 18:21:24 +0000 (18:21 +0000)]
am
e1cb3301: Merge "Move two members out of MIRGraph::temp_::ssa."
* commit '
e1cb3301b9d3afc488a916b6c75bf7e2885eec81':
Move two members out of MIRGraph::temp_::ssa.
Vladimir Marko [Fri, 19 Dec 2014 18:17:26 +0000 (18:17 +0000)]
Merge "Move two members out of MIRGraph::temp_::ssa."
Vladimir Marko [Fri, 19 Dec 2014 18:11:35 +0000 (18:11 +0000)]
Move two members out of MIRGraph::temp_::ssa.
It turns out they are used outside the SSA transformation
by the x86 back-end.
This is a partial revert of
https://android-review.googlesource.com/120571
Change-Id: Ia5cb2988ab0625d8519901124bd4fc184d5f0886
Bill Buzbee [Fri, 19 Dec 2014 18:04:07 +0000 (18:04 +0000)]
am
a64d0142: Merge "ART: Implement FP packed reduce for x86"
* commit '
a64d0142edd7c325c0a59d170d8c82c8176faa03':
ART: Implement FP packed reduce for x86
Bill Buzbee [Fri, 19 Dec 2014 17:59:51 +0000 (17:59 +0000)]
Merge "ART: Implement FP packed reduce for x86"
Vladimir Marko [Fri, 19 Dec 2014 16:24:13 +0000 (16:24 +0000)]
am
db75f3c7: Merge "Clean up dead loops before suspend check elimination."
* commit '
db75f3c7999395eeeded417e7db06194bf2dc608':
Clean up dead loops before suspend check elimination.
Vladimir Marko [Fri, 19 Dec 2014 16:21:08 +0000 (16:21 +0000)]
Merge "Clean up dead loops before suspend check elimination."
Vladimir Marko [Fri, 19 Dec 2014 15:42:16 +0000 (15:42 +0000)]
am
202eaaf2: Merge "Clean up post-opt passes, perform only those we need."
* commit '
202eaaf26ac4ec67fab479e181dbd2507737ff65':
Clean up post-opt passes, perform only those we need.
Vladimir Marko [Fri, 19 Dec 2014 15:34:09 +0000 (15:34 +0000)]
Merge "Clean up post-opt passes, perform only those we need."
Vladimir Marko [Fri, 19 Dec 2014 10:29:51 +0000 (10:29 +0000)]
Clean up dead loops before suspend check elimination.
Get rid of BasicBlock::KillUnreachable() and just Kill()
unreachable blocks from the DFS order calculation.
Bug:
18718277
Change-Id: Icaf7b9c2320530e950f87e1e2e2bd1fa5f53cb98
Vladimir Marko [Fri, 19 Dec 2014 14:37:44 +0000 (14:37 +0000)]
am
c146d498: Merge "Clean up MIRGraph::CanThrow()."
* commit '
c146d498a184243d9100e94861f519a7378bfa68':
Clean up MIRGraph::CanThrow().
Vladimir Marko [Fri, 19 Dec 2014 14:32:07 +0000 (14:32 +0000)]
Merge "Clean up MIRGraph::CanThrow()."
Vladimir Marko [Thu, 18 Dec 2014 17:01:02 +0000 (17:01 +0000)]
Clean up MIRGraph::CanThrow().
Merge with the code from CombineBlocks().
Change-Id: I73c71286acba1b6042f85f0bd19c525450ce9c05
Vladimir Marko [Thu, 18 Dec 2014 17:05:58 +0000 (17:05 +0000)]
Clean up post-opt passes, perform only those we need.
Change-Id: If802074d780d91151d236ef52236b6f33ca47258
Calin Juravle [Fri, 19 Dec 2014 10:57:53 +0000 (10:57 +0000)]
am
363bd99a: Merge "Fixed CanBeMoved for field access"
* commit '
363bd99a72eba9be223e45e97d5c46dda2b81580':
Fixed CanBeMoved for field access
Calin Juravle [Fri, 19 Dec 2014 10:51:16 +0000 (10:51 +0000)]
Merge "Fixed CanBeMoved for field access"
Calin Juravle [Fri, 19 Dec 2014 10:50:19 +0000 (10:50 +0000)]
Fixed CanBeMoved for field access
Change-Id: I36a1f4a468f3701e0608d71f64d64049c54aec18
Calin Juravle [Fri, 19 Dec 2014 10:15:10 +0000 (10:15 +0000)]
am
86632a79: Merge "[optimizing compiler] Add support for volatile"
* commit '
86632a79ae3887bc07c7c07642c7044369837d90':
[optimizing compiler] Add support for volatile
Calin Juravle [Fri, 19 Dec 2014 10:11:25 +0000 (10:11 +0000)]
Merge "[optimizing compiler] Add support for volatile"
Calin Juravle [Tue, 16 Dec 2014 17:02:57 +0000 (17:02 +0000)]
[optimizing compiler] Add support for volatile
- for backends: arm, x86, x86_64
- added necessary instructions to assemblies
- clean up code gen for field set/get
- fixed InstructionDataEquals for some instructions
- fixed comments in compiler_enums
* 003-opcode test verifies basic volatile functionality
Change-Id: I144393efa312dfb2c332cb84056b00edffee338a
Hiroshi Yamauchi [Fri, 19 Dec 2014 05:19:24 +0000 (21:19 -0800)]
Pass the real capacity to CreateRosAlloc.
Bug:
18808732
Change-Id: Id563eb22e8d571c0ef032628b6ba2f3d357fd002
Mathieu Chartier [Fri, 19 Dec 2014 03:39:23 +0000 (03:39 +0000)]
am
6d1a047b: Merge "Only dump suspend all histogram if we have samples"
* commit '
6d1a047b4b3f9707d4ee1cc19e99717ee021ef48':
Only dump suspend all histogram if we have samples
Andreas Gampe [Fri, 19 Dec 2014 03:39:21 +0000 (03:39 +0000)]
am
16b10882: Merge "ART: Fix oatdump"
* commit '
16b10882f4ce9e5822b278ef0b0adf83afa1b334':
ART: Fix oatdump
Mathieu Chartier [Fri, 19 Dec 2014 02:32:37 +0000 (02:32 +0000)]
Merge "Only dump suspend all histogram if we have samples"
Mathieu Chartier [Fri, 19 Dec 2014 02:24:39 +0000 (18:24 -0800)]
Only dump suspend all histogram if we have samples
Helps fix gcstress ThreadStress.
Bug:
18576985
Change-Id: Ibebc0fed8a21e7b149f4b6e5154fb86deddcc68f
Andreas Gampe [Fri, 19 Dec 2014 01:43:30 +0000 (01:43 +0000)]
Merge "ART: Fix oatdump"
Vladimir Marko [Thu, 18 Dec 2014 21:37:14 +0000 (21:37 +0000)]
am
193c7a94: Merge "Fix Thumb2 Emit16BitAddSub() to keep full immediate."
* commit '
193c7a94822f765b0b6b0cecd54c9f08dfd26425':
Fix Thumb2 Emit16BitAddSub() to keep full immediate.
Vladimir Marko [Thu, 18 Dec 2014 20:02:38 +0000 (20:02 +0000)]
Merge "Fix Thumb2 Emit16BitAddSub() to keep full immediate."
Vladimir Marko [Thu, 18 Dec 2014 19:56:49 +0000 (19:56 +0000)]
Fix Thumb2 Emit16BitAddSub() to keep full immediate.
Change-Id: I2d4b44752150669119ead16e99f7d7a945d2e88f
Nicolas Geoffray [Thu, 18 Dec 2014 17:53:10 +0000 (17:53 +0000)]
am
6048838a: Merge "Revert "Don\'t block quick callee saved registers for optimizing.""
* commit '
6048838af46f41c08c4132ba242040dc49bd5f23':
Revert "Don't block quick callee saved registers for optimizing."
Nicolas Geoffray [Thu, 18 Dec 2014 17:46:12 +0000 (17:46 +0000)]
Merge "Revert "Don't block quick callee saved registers for optimizing.""
Nicolas Geoffray [Thu, 18 Dec 2014 17:45:56 +0000 (17:45 +0000)]
Revert "Don't block quick callee saved registers for optimizing."
X64 has one libcore test failing, and codegen_test on
arm is failing.
This reverts commit
6004796d6c630696127df2494dcd4f30d1367a34.
Change-Id: I20e00431fa18e11ce4c0cb6fffa91977fa8e9b4f
Vladimir Marko [Thu, 18 Dec 2014 15:58:36 +0000 (15:58 +0000)]
am
ca747ea9: Merge "Fix Thumb2 assembler to emit 16-bit add/sub SP, #imm."
* commit '
ca747ea9951188dbc6f5217d49aca34aeadcc2a6':
Fix Thumb2 assembler to emit 16-bit add/sub SP, #imm.
Nicolas Geoffray [Thu, 18 Dec 2014 15:53:26 +0000 (15:53 +0000)]
am
aa94a95d: Merge "Explicitly compile core.oat with the Quick compiler."
* commit '
aa94a95d6174014f0ee89d4ff49bd769f44ac636':
Explicitly compile core.oat with the Quick compiler.
Nicolas Geoffray [Thu, 18 Dec 2014 15:53:24 +0000 (15:53 +0000)]
am
e408f8c6: Merge "Don\'t block quick callee saved registers for optimizing."
* commit '
e408f8c6ac0ee80543ee1a695695e8917e45eaf3':
Don't block quick callee saved registers for optimizing.
Vladimir Marko [Thu, 18 Dec 2014 15:53:02 +0000 (15:53 +0000)]
Merge "Fix Thumb2 assembler to emit 16-bit add/sub SP, #imm."
Nicolas Geoffray [Thu, 18 Dec 2014 15:50:20 +0000 (15:50 +0000)]
Merge "Explicitly compile core.oat with the Quick compiler."
Nicolas Geoffray [Thu, 18 Dec 2014 15:49:52 +0000 (15:49 +0000)]
Merge "Don't block quick callee saved registers for optimizing."
Nicolas Geoffray [Mon, 15 Dec 2014 00:01:18 +0000 (00:01 +0000)]
Don't block quick callee saved registers for optimizing.
This change builds on:
https://android-review.googlesource.com/#/c/118983/
- Also fix x86_64 assembler bug triggered by this change.
- Fix (and improve) x86's backend byte register usage.
- Fix a bug in baseline register allocator: a fixed
out register must prevent inputs from allocating it.
Change-Id: I4883862e29b4e4b6470f1823cf7eab7e7863d8ad
Vladimir Marko [Tue, 16 Dec 2014 17:41:59 +0000 (17:41 +0000)]
Fix Thumb2 assembler to emit 16-bit add/sub SP, #imm.
Also allow 16-bit add rN, SP, #imm.
Change-Id: I50100ad0b0e19a1c855a2319615e86d7a2b66a69
Nicolas Geoffray [Thu, 18 Dec 2014 13:04:09 +0000 (13:04 +0000)]
am
452a8bec: Merge "When inlining, also look whether we can allocate registers."
* commit '
452a8bec86e7795c99f774e81c02f12f1b1e502f':
When inlining, also look whether we can allocate registers.
Nicolas Geoffray [Thu, 18 Dec 2014 12:59:03 +0000 (12:59 +0000)]
Merge "When inlining, also look whether we can allocate registers."
Nicolas Geoffray [Wed, 17 Dec 2014 23:21:58 +0000 (23:21 +0000)]
When inlining, also look whether we can allocate registers.
arm and x86 currently don't allocate registers for floating point
and long operations, so we can't inline methods with these operations.
Change-Id: I11e4b97ddbe90f4978f2abe1081fb0f849acb811
Sebastien Hertz [Thu, 18 Dec 2014 08:48:51 +0000 (08:48 +0000)]
am
fcd3f33d: Merge "Use correct handle scope offset from StackVisitor"
* commit '
fcd3f33dde47ce13305a7dfb5a665bf832535ae4':
Use correct handle scope offset from StackVisitor
Sebastien Hertz [Thu, 18 Dec 2014 08:43:14 +0000 (08:43 +0000)]
Merge "Use correct handle scope offset from StackVisitor"
Sebastien Hertz [Wed, 17 Dec 2014 19:02:50 +0000 (20:02 +0100)]
Use correct handle scope offset from StackVisitor
Bug:
18785293
Change-Id: I10e144cffac00978e3c84d43a30caccd61559b27
Sebastien Hertz [Thu, 18 Dec 2014 08:20:37 +0000 (08:20 +0000)]
am
58a1c07b: Merge "Cleanup JDWP event matching"
* commit '
58a1c07b7f01ed9b85fb89bfd4dab7ddd138cfcd':
Cleanup JDWP event matching
Sebastien Hertz [Thu, 18 Dec 2014 08:16:26 +0000 (08:16 +0000)]
Merge "Cleanup JDWP event matching"
Hiroshi Yamauchi [Thu, 18 Dec 2014 05:39:39 +0000 (05:39 +0000)]
am
7c378e4b: Merge "Fix a race condition during the rosalloc verification."
* commit '
7c378e4bc3aa6928f48d235e88e652e8b82beef4':
Fix a race condition during the rosalloc verification.
Hiroshi Yamauchi [Thu, 18 Dec 2014 05:34:54 +0000 (05:34 +0000)]
Merge "Fix a race condition during the rosalloc verification."
Andreas Gampe [Thu, 18 Dec 2014 04:40:11 +0000 (20:40 -0800)]
ART: Fix oatdump
Refactor and modify cmdline.h to allow oatdump to run without a
Runtime.
Bug:
18789891
Change-Id: I1d7a1585e3672d04e58dbac9a4d4bd835c1c9143
Mathieu Chartier [Thu, 18 Dec 2014 03:57:08 +0000 (03:57 +0000)]
am
bf7b41ff: Merge "Fix concurrent GC ergonomics"
* commit '
bf7b41ff04e5cf70660b50f7b7f2c14d94b8bf6d':
Fix concurrent GC ergonomics
Mathieu Chartier [Thu, 18 Dec 2014 03:51:42 +0000 (03:51 +0000)]
Merge "Fix concurrent GC ergonomics"
Hiroshi Yamauchi [Wed, 17 Dec 2014 23:49:56 +0000 (15:49 -0800)]
Fix a race condition during the rosalloc verification.
Since an exiting thread could revoke its thread-local runs without
holding the mutator lock, when rosalloc verification is running at a
pause, the thread could concurrently modify runs and cause a race
condition/verification check failure.
Now an exiting thread acquires the mutator lock when it revokes its
thread-local runs, which should avoid the race condition.
Bug:
18734151
Bug:
18577084
Change-Id: Ic8af558b96dff6fb6f5ace65351e2824a6ff4629
Andreas Gampe [Thu, 18 Dec 2014 03:02:28 +0000 (03:02 +0000)]
am
55b752a8: Merge "ART: Punt to the interpreter for VerifiedMethod errors"
* commit '
55b752a817a08be46b167e07d7fee3d20a8e6a9c':
ART: Punt to the interpreter for VerifiedMethod errors
Andreas Gampe [Thu, 18 Dec 2014 02:57:43 +0000 (02:57 +0000)]
Merge "ART: Punt to the interpreter for VerifiedMethod errors"
Andreas Gampe [Wed, 17 Dec 2014 22:35:46 +0000 (14:35 -0800)]
ART: Punt to the interpreter for VerifiedMethod errors
In case that the GC map can't be created (because of size restrictions),
do not fail the class. Instead punt to the interpreter.
Bug:
17791183
(cherry picked from commit
f535c69f115c61ffadca1bd2706244d0aa30f9aa)
Change-Id: I348bb306dbfc85c235fa93c0c527fba6627551fe
Mathieu Chartier [Wed, 17 Dec 2014 02:49:31 +0000 (18:49 -0800)]
Fix concurrent GC ergonomics
Fixed a race with the gc_request_pending_ boolean which would cause
two concurrent GCs to start in a row in most cases. This broke sticky
CMS ergonomics since the second GC was a sticky CMS which started way
too early resulting in low throughput. Since the throughput was low,
it switch to partial / full for the next iteration.
The race happened as follows, allocating thread would request
concurrent GC which woke up the daemon thread. The daemon thread
cleared the gc_request_pending_ boolean, but before we set the
concurrent_start_bytes_ to max in to prevent more request, the
allocating thread would call RequestConcurrentGC again. This caused
the next WaitForConcurrentGCRequest to return right away and a
concurrent GC to occur earlier than necessary.
Changed the allocation rate ergonomics to use allocation rate
during the GC instead of allocation rate inbetween GCs, this is
better since the allocation rate may become slower if the GC steals
mutator time, resulting in concurrent GCs starting a bit earlier
than they need to.
Fixed a bug in GrowForUtilization where we didn't use the adjusted
max_free when we shrank down the heap, this caused the sticky CMS to
occasionally shrink the heap more than necessary.
EvaluateAndApplyChanges:
Before: ~12.6s GC time
After: ~7.75s GC time
Change-Id: I354bc825b3c44ccfbfe867af0d437b17fe1fe022
Mathieu Chartier [Thu, 18 Dec 2014 00:22:14 +0000 (00:22 +0000)]
am
a6f5fd0e: Merge "Add thread suspend histogram"
* commit '
a6f5fd0e0cbe8873c802c34569dc02a4fe31b519':
Add thread suspend histogram
Mathieu Chartier [Thu, 18 Dec 2014 00:17:22 +0000 (00:17 +0000)]
Merge "Add thread suspend histogram"
Mathieu Chartier [Wed, 17 Dec 2014 22:56:47 +0000 (14:56 -0800)]
Add thread suspend histogram
Helps measure time to suspend.
Example output (maps after a few seconds):
suspend all histogram: Sum: 2.806ms 99% C.I. 2us-1090.560us Avg: 43.843us Max: 1126us
Change-Id: I7bd9dd3b401fb3e3059e8718556d60910e541611
Igor Murashkin [Wed, 17 Dec 2014 22:08:40 +0000 (22:08 +0000)]
am
e9231c0a: Merge "Add a new imgdiag tool to diff boot.art/core.art against a process"
* commit '
e9231c0aecc013c61b6cf7f88a228204651d4d41':
Add a new imgdiag tool to diff boot.art/core.art against a process
Igor Murashkin [Wed, 17 Dec 2014 22:04:19 +0000 (22:04 +0000)]
Merge "Add a new imgdiag tool to diff boot.art/core.art against a process"
Mathieu Chartier [Wed, 17 Dec 2014 19:41:00 +0000 (19:41 +0000)]
am
d457b9ce: Merge "Add systrace events to monitors and thread suspension"
* commit '
d457b9cebceecc9d54fb569ea76509341153bf5c':
Add systrace events to monitors and thread suspension
Mathieu Chartier [Wed, 17 Dec 2014 19:13:39 +0000 (19:13 +0000)]
Merge "Add systrace events to monitors and thread suspension"
Mathieu Chartier [Wed, 17 Dec 2014 18:13:30 +0000 (10:13 -0800)]
Add systrace events to monitors and thread suspension
Added systrace events to SuspendThreadByPeer, SuspendThreadByThreadId
and monitor contention.
Bug:
18379850
Bug:
17470248
Change-Id: I29eaf97c67361a6c6b437940b8729600d78696df
Sebastien Hertz [Wed, 17 Dec 2014 19:04:58 +0000 (19:04 +0000)]
am
28d6b6c0: Merge "JDWP: fix setting multiple breakpoints in the same method"
* commit '
28d6b6c06fdb6c3dc30beb7883fa64f2b693d9ab':
JDWP: fix setting multiple breakpoints in the same method
Sebastien Hertz [Wed, 17 Dec 2014 18:59:44 +0000 (18:59 +0000)]
Merge "JDWP: fix setting multiple breakpoints in the same method"
Nicolas Geoffray [Wed, 17 Dec 2014 17:17:35 +0000 (17:17 +0000)]
am
7587082c: Merge "Now that GraphChecker has a state, don\'t re-use it."
* commit '
7587082c370ef1a90797baf2371ee8e472b2adb8':
Now that GraphChecker has a state, don't re-use it.
Nicolas Geoffray [Wed, 17 Dec 2014 17:13:35 +0000 (17:13 +0000)]
Merge "Now that GraphChecker has a state, don't re-use it."
Nicolas Geoffray [Wed, 17 Dec 2014 17:10:47 +0000 (17:10 +0000)]
Now that GraphChecker has a state, don't re-use it.
Otherwise, we'll see the same ids twice.
Change-Id: Ic9bb801629ff90cc788248528d5260aaaff73675
Sebastien Hertz [Wed, 17 Dec 2014 15:35:50 +0000 (16:35 +0100)]
JDWP: fix setting multiple breakpoints in the same method
When setting multiple breakpoints in the same method, we were
incorrectly setting the deoptimization kind of all the breakpoints
set after a first breakpoint. This resulted in incorrect
deoptimization/undeoptimization and even an abort. This was caught
by running the debugger with sanity checks enabled with libartd.so.
We now set next breakpoints with the deoptimization kind of the first
existing breakpoint (if any) so we trigger right [un]deoptimization
when adding or removing a breakpoint.
Bug:
18782753
Bug:
18651686
Change-Id: Idf36ede73302fba83a154052bef701bedc8bc726
Nicolas Geoffray [Wed, 17 Dec 2014 16:24:03 +0000 (16:24 +0000)]
am
8012102d: Merge "Fix ids and remove invoke when inlining."
* commit '
8012102dea15e62fce94f6ac32e301aa0cb3f52d':
Fix ids and remove invoke when inlining.
Nicolas Geoffray [Wed, 17 Dec 2014 16:18:23 +0000 (16:18 +0000)]
Merge "Fix ids and remove invoke when inlining."
David Brazdil [Wed, 17 Dec 2014 16:11:33 +0000 (16:11 +0000)]
am
44a7f89c: Merge "ART: Added Checker, a pattern matching test engine"
* commit '
44a7f89cff6c93f5a900a02e9fa92613ea2f3f8e':
ART: Added Checker, a pattern matching test engine
David Brazdil [Wed, 17 Dec 2014 16:05:08 +0000 (16:05 +0000)]
Merge "ART: Added Checker, a pattern matching test engine"
David Brazdil [Mon, 1 Dec 2014 17:04:16 +0000 (17:04 +0000)]
ART: Added Checker, a pattern matching test engine
This patch adds a Python script which implements a domain-specific
mini-language similar to that of LLVM's FileCheck. It is primarily
intended for writing tests for the optimizing compiler but could be
configured for other use cases too. It is implemented from scratch in
order to avoid dependency on LLVM.
Checker tests are written in Java and dex2oat is invoked with a flag
which dumps the CFG before and after each pass of the optimizing
compiler. The output is then compared against assertions in the
test's comments parsed by Checker. See comments in tools/checker.py
for more details about the currently supported language features.
This initial CL implements only one type of assertion - whether the
output contains lines matching a desired pattern in the given order -
but supports both plain text and regex matching and allows for
equivalency testing by matching for the outcome of a previous match.
See the tests in compiler/optimizing/test/ConstantFolding.java for
examples.
Change-Id: I1ad7431b399c38dc0391ccee74d2c643ba0b0675
Nicolas Geoffray [Wed, 17 Dec 2014 15:39:18 +0000 (15:39 +0000)]
am
c8a0a055: Merge "Test sometimes timeouts with vogar."
* commit '
c8a0a055b65a73004a1cd5dfe5beb20eab6307e4':
Test sometimes timeouts with vogar.
Nicolas Geoffray [Wed, 17 Dec 2014 15:33:21 +0000 (15:33 +0000)]
Merge "Test sometimes timeouts with vogar."
Nicolas Geoffray [Wed, 17 Dec 2014 15:27:14 +0000 (15:27 +0000)]
Test sometimes timeouts with vogar.
Change-Id: I9091a2a86c82173fa45ff9e3d1770d3891375546