OSDN Git Service
Ian Rogers [Sat, 12 Jul 2014 01:42:11 +0000 (01:42 +0000)]
am
477eea4f: Merge "ART: Add Invokes to DecodedInstruction"
* commit '
477eea4feb1dffdfc7a66376b9bcdf339dbe6c66':
ART: Add Invokes to DecodedInstruction
Ian Rogers [Sat, 12 Jul 2014 01:42:11 +0000 (01:42 +0000)]
am
fe12035e: Merge "ART: Handle Extended MIRs in a uniform manner"
* commit '
fe12035ea434be9b24f578cf51e53c3bb34d945c':
ART: Handle Extended MIRs in a uniform manner
Ian Rogers [Sat, 12 Jul 2014 01:42:11 +0000 (01:42 +0000)]
am
49b874b6: Merge "ART: Detached blocks should not be processed by compiler"
* commit '
49b874b65412a95f3bf0b1e6f60f3d457dca68da':
ART: Detached blocks should not be processed by compiler
Vladimir Marko [Sat, 12 Jul 2014 01:42:10 +0000 (01:42 +0000)]
am
f894f639: Merge "ART: Rename CallInlining to SpecialMethodInliner"
* commit '
f894f6394fcbcac1b000157939bf536985abeeec':
ART: Rename CallInlining to SpecialMethodInliner
Ian Rogers [Sat, 12 Jul 2014 01:42:10 +0000 (01:42 +0000)]
am
adce33da: Merge "Make CAS operations in Object use art::Atomic."
* commit '
adce33da293b0eeaaf52673338770f22be71ca5d':
Make CAS operations in Object use art::Atomic.
Andreas Gampe [Sat, 12 Jul 2014 01:42:10 +0000 (01:42 +0000)]
am
cba6b1fc: Merge "ART: Enable some ARM64 optimizations."
* commit '
cba6b1fc88fd54c35211fd49a7a7501cfcdaa170':
ART: Enable some ARM64 optimizations.
Andreas Gampe [Sat, 12 Jul 2014 01:42:10 +0000 (01:42 +0000)]
am
5fa647d5: Merge "Slow path for iget should expect return in core reg"
* commit '
5fa647d5f663033e4ed3d398aece1f8211d7f460':
Slow path for iget should expect return in core reg
Vladimir Marko [Sat, 12 Jul 2014 01:42:10 +0000 (01:42 +0000)]
am
fb16129c: Merge "Global Value Numbering."
* commit '
fb16129c3c62f73d00ab7570e147e497e787eaad':
Global Value Numbering.
Andreas Gampe [Sat, 12 Jul 2014 01:42:09 +0000 (01:42 +0000)]
am
b26d1905: Merge "ART: Refactor frontend.cc"
* commit '
b26d19057eb1ef931164859704ba7cab9cb7243a':
ART: Refactor frontend.cc
Vladimir Marko [Sat, 12 Jul 2014 01:42:09 +0000 (01:42 +0000)]
am
50fb2436: Merge "Handle potential <clinit>() correctly in LVN."
* commit '
50fb243619d337d20b56d2713d861166d48cb491':
Handle potential <clinit>() correctly in LVN.
Vladimir Marko [Sat, 12 Jul 2014 01:42:09 +0000 (01:42 +0000)]
am
723b2fc3: Merge "Faster deduplication in OatWriter."
* commit '
723b2fc3848bce9f26c54c7080099eba2fdb06ea':
Faster deduplication in OatWriter.
Ian Rogers [Sat, 12 Jul 2014 01:42:09 +0000 (01:42 +0000)]
am
b2bc3c97: Merge "Fix GC to use art::Atomic rather than compiler intrinsics."
* commit '
b2bc3c9791e093330be98bc6ca8fb92c41757cb1':
Fix GC to use art::Atomic rather than compiler intrinsics.
Andreas Gampe [Sat, 12 Jul 2014 01:42:08 +0000 (01:42 +0000)]
am
c4f72ec4: Merge "Use memory chunks for monitors on LP64"
* commit '
c4f72ec44660f804b595bfaf2b959f46fd2ff00d':
Use memory chunks for monitors on LP64
Ian Rogers [Sat, 12 Jul 2014 01:42:08 +0000 (01:42 +0000)]
am
af4cf5d7: Merge "Missed use of android_atomic and thread state_."
* commit '
af4cf5d72a2bf77f0e442bedb208f9227f262c89':
Missed use of android_atomic and thread state_.
Ian Rogers [Sat, 12 Jul 2014 01:42:08 +0000 (01:42 +0000)]
am
070dfc4c: Merge "Fix tracing."
* commit '
070dfc4cebb9772a646382be9751d8f4c6b7d69a':
Fix tracing.
Colin Cross [Sat, 12 Jul 2014 01:42:08 +0000 (01:42 +0000)]
am
d8079288: Merge "art: fix host dex2oat runtime args"
* commit '
d807928876744231ebbe2f07d17439f84d4e0185':
art: fix host dex2oat runtime args
Ian Rogers [Sat, 12 Jul 2014 01:42:08 +0000 (01:42 +0000)]
am
62526c37: Merge "Move thread state to art::Atomic."
* commit '
62526c377fe5242a723f154a373eccf5b9db416d':
Move thread state to art::Atomic.
Ian Rogers [Sat, 12 Jul 2014 01:42:07 +0000 (01:42 +0000)]
am
43b6fe02: Merge "Move another field away from android_atomic_cas."
* commit '
43b6fe0270477cd47f8dd8b064d006961a44be54':
Move another field away from android_atomic_cas.
Dave Allison [Sat, 12 Jul 2014 01:42:07 +0000 (01:42 +0000)]
am
672f8367: Merge "Revert "Add implicit null and stack checks for x86""
* commit '
672f8367f74e5db7d26714cd6fa1a13fa2a6c59f':
Revert "Add implicit null and stack checks for x86"
Ian Rogers [Sat, 12 Jul 2014 01:42:07 +0000 (01:42 +0000)]
am
4770a2e6: Merge "Remove legacy CAS implementations from mutex."
* commit '
4770a2e6d56398a6b4398fcce14fea43394e0d1b':
Remove legacy CAS implementations from mutex.
Mathieu Chartier [Sat, 12 Jul 2014 01:42:06 +0000 (01:42 +0000)]
am
bcb3b290: Merge "Add notion of released vs empty pages to ROSAlloc."
* commit '
bcb3b29095817ce8987d8310d4db87271f5114ad':
Add notion of released vs empty pages to ROSAlloc.
Dave Allison [Sat, 12 Jul 2014 01:42:06 +0000 (01:42 +0000)]
am
5de52242: Merge "Add implicit null and stack checks for x86"
* commit '
5de52242f3934f1604083d7215cdde1d0cc8ba7a':
Add implicit null and stack checks for x86
Ian Rogers [Sat, 12 Jul 2014 01:42:06 +0000 (01:42 +0000)]
am
2929490d: Merge "Move card table away from android_atomic_cas."
* commit '
2929490de9374c2a052cff4cf6957852ebf06d98':
Move card table away from android_atomic_cas.
Brian Carlstrom [Sat, 12 Jul 2014 01:42:06 +0000 (01:42 +0000)]
am
5472edce: Merge "CW on Master: Propagate or throw exception when no class found happens in interpreter."
* commit '
5472edce3697721099ead9e16427e0e7ace90754':
CW on Master: Propagate or throw exception when no class found happens in interpreter.
Elliott Hughes [Sat, 12 Jul 2014 01:42:05 +0000 (01:42 +0000)]
am
b288a5ad: Merge "Use the icu4c headers from the new location."
* commit '
b288a5ad024f99d593aef55e352b46c1a2868af7':
Use the icu4c headers from the new location.
Andreas Gampe [Sat, 12 Jul 2014 01:42:05 +0000 (01:42 +0000)]
am
91db19b5: Merge "ART: Add simple tests for inlining of CAS"
* commit '
91db19b5f14e32878e0a70fa8d43f3412586b821':
ART: Add simple tests for inlining of CAS
Mathieu Chartier [Sat, 12 Jul 2014 01:42:05 +0000 (01:42 +0000)]
am
ef9b94cc: Merge "Add easy way to ensure the next allocation does GC."
* commit '
ef9b94cc83595bc0c95b0edd5131187998919c7a':
Add easy way to ensure the next allocation does GC.
Dave Allison [Sat, 12 Jul 2014 01:42:04 +0000 (01:42 +0000)]
am
b796d1bf: Merge "Remove incorrect check for sa_mask in signal chaining"
* commit '
b796d1bfac8cfaf4dc98f411ae6157f964d4a325':
Remove incorrect check for sa_mask in signal chaining
Ian Rogers [Sat, 12 Jul 2014 01:42:04 +0000 (01:42 +0000)]
am
c21dc06a: Merge "ART: Check slow_paths_.Size() every time"
* commit '
c21dc06adc8c8447561208a3fb72ccf6d0443613':
ART: Check slow_paths_.Size() every time
Ian Rogers [Sat, 12 Jul 2014 01:42:04 +0000 (01:42 +0000)]
am
68e5f442: Merge "x86_64: GenInlinedCas must use wide rl_src_offset under 64-bit targets"
* commit '
68e5f4421001a2ba885d822971c375368520ea8c':
x86_64: GenInlinedCas must use wide rl_src_offset under 64-bit targets
Ian Rogers [Sat, 12 Jul 2014 01:42:04 +0000 (01:42 +0000)]
am
a76dc41f: Merge "Allow method tracing for run-test"
* commit '
a76dc41fb21b6fba74f70188fdc53e1a5bf2c2cb':
Allow method tracing for run-test
Ian Rogers [Sat, 12 Jul 2014 01:42:03 +0000 (01:42 +0000)]
am
0f635b10: Merge "Fix method tracing from command-line"
* commit '
0f635b103c1fff6439d47bdae363afeffe7327fd':
Fix method tracing from command-line
Ian Rogers [Sat, 12 Jul 2014 01:42:03 +0000 (01:42 +0000)]
am
32710dd4: Merge "x86_64: enable Peek and Poke intrinsics"
* commit '
32710dd4a0232149002a5ae7bde1c640cdffd564':
x86_64: enable Peek and Poke intrinsics
Vladimir Marko [Sat, 12 Jul 2014 01:42:03 +0000 (01:42 +0000)]
am
62f28f94: Merge "Fix a compile assert name with inverted meaning."
* commit '
62f28f943e2da2873c7a09096c292f01a21c6478':
Fix a compile assert name with inverted meaning.
Vladimir Marko [Sat, 12 Jul 2014 01:42:03 +0000 (01:42 +0000)]
am
665f6810: Merge "Workaround for invalid monitor-exit catch ranges."
* commit '
665f681020ec313d6aea1aa26db582176d780079':
Workaround for invalid monitor-exit catch ranges.
Nicolas Geoffray [Sat, 12 Jul 2014 01:42:02 +0000 (01:42 +0000)]
am
8078b294: Merge "Revert "ART: Key-Value Store in Oat header""
* commit '
8078b294e8001abff5a6c8637e844b55a65fff4b':
Revert "ART: Key-Value Store in Oat header"
Ian Rogers [Sat, 12 Jul 2014 01:41:59 +0000 (01:41 +0000)]
am
608520c8: Merge "Adds PGO_GEN and PGO_USE for libart and libart-compiler."
* commit '
608520c8ba1adc7d8d0623b021b7ea509b00751c':
Adds PGO_GEN and PGO_USE for libart and libart-compiler.
Ian Rogers [Sat, 12 Jul 2014 01:41:58 +0000 (01:41 +0000)]
am
2cfe30bd: Merge "X86 Backend support for vectorized float and byte 16x16 operations"
* commit '
2cfe30bd592cb6ae63bb4c28ccaf4b069d6ab565':
X86 Backend support for vectorized float and byte 16x16 operations
Ian Rogers [Sat, 12 Jul 2014 01:41:58 +0000 (01:41 +0000)]
am
7b68fb3b: Merge "x86_64: Clean-up after cmp-long fix"
* commit '
7b68fb3b9b421d4b20c1993704986d637f1cab91':
x86_64: Clean-up after cmp-long fix
Ian Rogers [Sat, 12 Jul 2014 01:41:58 +0000 (01:41 +0000)]
am
dfc56e68: Merge "Clean-up call_x86.cc"
* commit '
dfc56e681beb055801491792026cb9976d8566e8':
Clean-up call_x86.cc
Andreas Gampe [Sat, 12 Jul 2014 01:41:58 +0000 (01:41 +0000)]
am
251a057f: Merge "ART: Fix FP promotion"
* commit '
251a057f52946452ac1c485b38d4ebafcf3bc5ad':
ART: Fix FP promotion
Brian Carlstrom [Sat, 12 Jul 2014 01:41:57 +0000 (01:41 +0000)]
am
dac3f4af: Merge "Whitelist another exception during dex2oat resolving."
* commit '
dac3f4afe1a3f5626836b6921230c150b68b9d34':
Whitelist another exception during dex2oat resolving.
Brian Carlstrom [Sat, 12 Jul 2014 01:41:57 +0000 (01:41 +0000)]
am
6e524ddc: Merge "Make dex2oat heap size product configurable [art]"
* commit '
6e524ddc060f10a493dc63fa5b6dde0deef22219':
Make dex2oat heap size product configurable [art]
Andreas Gampe [Sat, 12 Jul 2014 01:41:57 +0000 (01:41 +0000)]
am
3d30b073: Merge "ART: Do not emit load when inlining unused Thread.currentThread()"
* commit '
3d30b073541f19470e8b5dddef9377411fa587c3':
ART: Do not emit load when inlining unused Thread.currentThread()
Ian Rogers [Sat, 12 Jul 2014 01:41:56 +0000 (01:41 +0000)]
am
8746860d: Merge "Only allow instance-of to improve knowledge of a type for downcasts."
* commit '
8746860d056e64dcc832264e74bda9d511e86e2d':
Only allow instance-of to improve knowledge of a type for downcasts.
Andreas Gampe [Fri, 11 Jul 2014 17:29:06 +0000 (17:29 +0000)]
am
c16fc5fc: am
09341a57: Merge "ART: Key-Value Store in Oat header"
* commit '
c16fc5fc1aa19fae40d48b03604610c1f59e34c0':
ART: Key-Value Store in Oat header
Andreas Gampe [Fri, 11 Jul 2014 17:29:05 +0000 (17:29 +0000)]
am
4c5e832c: am
b63727cd: Merge "ART: Update Monitor::Wait so it releases monitor_lock_ before throwing an exception"
* commit '
4c5e832c385d7ad813ddcf25fd95d8f4d7457913':
ART: Update Monitor::Wait so it releases monitor_lock_ before throwing an exception
Hiroshi Yamauchi [Fri, 11 Jul 2014 17:29:04 +0000 (17:29 +0000)]
am
5f8d472a: am
1f3a9465: Merge "Remove Dbg::VisitRoots()."
* commit '
5f8d472a1958328489693fd07d82c4bf550d9cc3':
Remove Dbg::VisitRoots().
Brian Carlstrom [Fri, 11 Jul 2014 16:19:22 +0000 (16:19 +0000)]
am
c0d6dd51: am
e8a30f37: Merge "Fix some style nitpicks"
* commit '
c0d6dd512722ae36242924bcdc8fcde58dd5c959':
Fix some style nitpicks
Mathieu Chartier [Fri, 11 Jul 2014 16:19:11 +0000 (16:19 +0000)]
am
c6c0a402: am
50dffeee: Merge "Fix local reference leaks in debugger and use a cache."
* commit '
c6c0a402fe2e7e51e9ba7dd8817eb44696f00347':
Fix local reference leaks in debugger and use a cache.
Vladimir Marko [Fri, 11 Jul 2014 16:19:10 +0000 (16:19 +0000)]
am
aac7b7dd: am
c4c601b6: Merge "Add kIntrinsicIsStatic flag for System.arraycopy()."
* commit '
aac7b7dde7dfb2273644b6f86928078f7ef357c6':
Add kIntrinsicIsStatic flag for System.arraycopy().
Vladimir Marko [Fri, 11 Jul 2014 16:19:04 +0000 (16:19 +0000)]
am
a5690945: am
f55159c1: Merge "Fix style issue."
* commit '
a569094513c296f13cff1031b9f807fbc6ec4cfd':
Fix style issue.
Vladimir Marko [Fri, 11 Jul 2014 16:19:03 +0000 (16:19 +0000)]
am
db123b00: am
74d8348c: Merge "Check invoke type for intrinsic method invokes."
* commit '
db123b00424017b3cc9ec9f444c6265fc960c263':
Check invoke type for intrinsic method invokes.
Ian Rogers [Fri, 11 Jul 2014 16:18:59 +0000 (16:18 +0000)]
am
0c8537e5: am
751dee37: Merge "BaseMutex::IsExclusiveHeld should only be called on self."
* commit '
0c8537e59096b5e8034dd3384af78e182b30ebc1':
BaseMutex::IsExclusiveHeld should only be called on self.
Ian Rogers [Fri, 11 Jul 2014 16:18:58 +0000 (16:18 +0000)]
am
6939ba7f: am
a3ed7f87: Merge "JNI dlsym lookup fixes."
* commit '
6939ba7f2b553348c4ed3b5199fc66a79970ad7b':
JNI dlsym lookup fixes.
Ian Rogers [Fri, 11 Jul 2014 16:18:58 +0000 (16:18 +0000)]
am
d343c221: am
e60658e8: Merge "Enable compiler testing for ARM64 and x86-64."
* commit '
d343c221d9f7f17b66fad6c8ed703946a85a4b99':
Enable compiler testing for ARM64 and x86-64.
Ian Rogers [Fri, 11 Jul 2014 16:18:57 +0000 (16:18 +0000)]
am
23b39cec: am
464ef7a7: Merge "ART: Intrinsic implementation for java.lang.System.arraycopy."
* commit '
23b39cec938869dc7c17cd0e9820c28cc425a7dc':
ART: Intrinsic implementation for java.lang.System.arraycopy.
Ian Rogers [Fri, 11 Jul 2014 16:18:48 +0000 (16:18 +0000)]
am
53dbd90d: am
a1d1781e: Merge "Fix dex file dependencies for oat tests."
* commit '
53dbd90d9398486b299ac4f5d75604b32ca7e1c7':
Fix dex file dependencies for oat tests.
Ian Rogers [Thu, 10 Jul 2014 18:56:00 +0000 (18:56 +0000)]
Merge "ART: Handle Extended MIRs in a uniform manner"
Ian Rogers [Thu, 10 Jul 2014 18:40:06 +0000 (18:40 +0000)]
Merge "ART: Detached blocks should not be processed by compiler"
Ian Rogers [Thu, 10 Jul 2014 19:15:04 +0000 (19:15 +0000)]
Merge "ART: Add Invokes to DecodedInstruction"
Jean Christophe Beyler [Mon, 2 Jun 2014 16:03:14 +0000 (09:03 -0700)]
ART: Add Invokes to DecodedInstruction
Add a method Invokes to test for the kInvoke flag.
Also moved IsPseudoMirOp to DecodedInstruction to use it for the various
querry methods.
Change-Id: I59a2056b7b802b8393fa2b0d977304d252b38c89
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Ian Rogers [Thu, 10 Jul 2014 17:35:57 +0000 (17:35 +0000)]
Merge "Make CAS operations in Object use art::Atomic."
Ian Rogers [Thu, 10 Jul 2014 09:07:54 +0000 (02:07 -0700)]
Make CAS operations in Object use art::Atomic.
Make naming consistent with art::Atomic.
Change-Id: If3abdb019ef8b53bd809e3fef3fd5248aeb27e9a
Ian Rogers [Thu, 10 Jul 2014 07:56:36 +0000 (00:56 -0700)]
Fix GC to use art::Atomic rather than compiler intrinsics.
Changes to SpaceBitmap::AtomicTestAndSet and Space::end_. Space::end_ is made
atomic rather than volatile to fully capture all its uses multi-threaded or not
uses.
Change-Id: I3058964b8ad90a8c253b3d7f75585f63ca2fb5e3
Udayan Banerji [Thu, 10 Jul 2014 02:14:53 +0000 (19:14 -0700)]
ART: Handle Extended MIRs in a uniform manner
The special handling is needed since some extended MIRs can hold values in
args array, and we might want to handle the dataflow for those in a
specialized manner. Current dataflow attributes may not be able to describe
it for the extended MIRs.
Change-Id: I8b64f3142a4304282bb31f1d4686eba72284d97d
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
Ian Rogers [Thu, 10 Jul 2014 08:14:55 +0000 (08:14 +0000)]
Merge "Fix GC to use art::Atomic rather than compiler intrinsics."
Ian Rogers [Thu, 10 Jul 2014 06:49:02 +0000 (06:49 +0000)]
Merge "Missed use of android_atomic and thread state_."
Ian Rogers [Thu, 10 Jul 2014 05:02:36 +0000 (22:02 -0700)]
Missed use of android_atomic and thread state_.
Move to using art::Atomic, add necessary FetchAnd... operations to art::Atomic.
Change-Id: I32f1cdc4e0a2037b73f459bf4bb4d544f357f41b
Ian Rogers [Thu, 10 Jul 2014 06:37:47 +0000 (06:37 +0000)]
Merge "Fix tracing."
Ian Rogers [Thu, 10 Jul 2014 06:16:06 +0000 (23:16 -0700)]
Fix tracing.
Change-Id: If6837270baec694c00cc1884bae0f1842d49da75
Andreas Gampe [Thu, 10 Jul 2014 09:29:20 +0000 (09:29 +0000)]
Merge "Slow path for iget should expect return in core reg"
Serguei Katkov [Mon, 7 Jul 2014 17:45:45 +0000 (00:45 +0700)]
Slow path for iget should expect return in core reg
Slow path for iget invokes the C implementation.
In all cases the C function returns the result in core reg.
So implementation should expect the result in core reg
independent on whether it is fp or not.
Change-Id: I57fb0e684c38af22316398d8071f087bd4bd253c
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Dave Allison [Thu, 10 Jul 2014 00:16:22 +0000 (00:16 +0000)]
Merge "Add implicit null and stack checks for x86"
Dave Allison [Thu, 29 May 2014 15:20:04 +0000 (08:20 -0700)]
Add implicit null and stack checks for x86
This adds compiler and runtime changes for x86
implicit checks. 32 bit only.
Both host and target are supported.
By default, on the host, the implicit checks are null pointer and
stack overflow. Suspend is implemented but not switched on.
Change-Id: I88a609e98d6bf32f283eaa4e6ec8bbf8dc1df78a
Ian Rogers [Thu, 10 Jul 2014 01:37:50 +0000 (01:37 +0000)]
Merge "Remove legacy CAS implementations from mutex."
Ian Rogers [Wed, 9 Jul 2014 06:50:26 +0000 (23:50 -0700)]
Remove legacy CAS implementations from mutex.
Removes the use of __sync_bool_compare_and_swap and android_atomic_cas and uses
intention revealing atomic operations from art::Atomic (which will eventually
give way to std::atomic).
Change-Id: Iea44e1923f6706ec04b5459fe25427282c189a7e
Ian Rogers [Thu, 10 Jul 2014 04:38:36 +0000 (04:38 +0000)]
Merge "Move thread state to art::Atomic."
Ian Rogers [Thu, 10 Jul 2014 04:12:06 +0000 (21:12 -0700)]
Move thread state to art::Atomic.
Leaves the CAS operations as relaxed although art::Atomic treats relaxed CAS
as a strong CAS when not compiling with clang.
Change-Id: I6d37c22173540d166b624385e52e4ad05e592adc
Vladimir Marko [Thu, 10 Jul 2014 18:14:31 +0000 (18:14 +0000)]
Merge "ART: Rename CallInlining to SpecialMethodInliner"
Razvan A Lupusoru [Wed, 9 Jul 2014 23:42:19 +0000 (16:42 -0700)]
ART: Rename CallInlining to SpecialMethodInliner
The CallInlining pass is used to inline just a set of pre-categorized methods.
This set of methods includes empty, instance getters, instance setters, argument
return, and constant return. Since it inlines only "special methods", it makes
sense to name it to reflect that.
Change-Id: Iea2c1820080b0c212c99e977f6b5d34ee0774868
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Vladimir Marko [Thu, 10 Jul 2014 08:22:12 +0000 (08:22 +0000)]
Merge "Handle potential <clinit>() correctly in LVN."
Vladimir Marko [Thu, 10 Jul 2014 09:12:40 +0000 (09:12 +0000)]
Merge "Global Value Numbering."
Vladimir Marko [Fri, 30 May 2014 09:01:32 +0000 (10:01 +0100)]
Global Value Numbering.
Implement the Global Value Numbering for optimization
purposes. Use it for the null check and range check
elimination as the LVN used to do.
The order of evaluation of basic blocks needs improving as
we currently fail to recognize some obviously identical
values in methods with more than one loop. (There are three
disabled tests that check this. This is just a missed
optimization, not a correctness issue.)
Change-Id: I0d0ce16b2495b5a3b17ad1b2b32931cd69f5a25a
Vladimir Marko [Thu, 10 Jul 2014 08:21:49 +0000 (08:21 +0000)]
Merge "Faster deduplication in OatWriter."
Vladimir Marko [Wed, 9 Jul 2014 15:06:40 +0000 (16:06 +0100)]
Faster deduplication in OatWriter.
Use lower_bound() to look for duplicates and use it as
a hint for insertion of new entries. Add a few useful
functions to SafeMap<>.
Change-Id: If7eab3f5d153be6e0d7ae040929849f1a636ee29
Niranjan Kumar [Thu, 12 Jun 2014 19:15:48 +0000 (12:15 -0700)]
ART: Detached blocks should not be processed by compiler
It is possible for blocks to be detached. This means that 'successor_block_info->block'
may evaluate to 'NullBasicBlockId' The code should detect this case and handle it
appropriately.
Signed-off-by: vladimir.a.ivanov <vladimir.a.ivanov@intel.com
Signed-off-by: Niranjan Kumar <niranjan.kumar@intel.com
Change-Id: I410059cd2cbda342cc1380050c0972fcaa2b7a8e
Vladimir Marko [Wed, 9 Jul 2014 13:45:36 +0000 (14:45 +0100)]
Handle potential <clinit>() correctly in LVN.
Bug:
16177324
Change-Id: I727ab6ce9aa9a608fe570cf391a6b732a12a8655
Ian Rogers [Wed, 9 Jul 2014 20:31:18 +0000 (20:31 +0000)]
Merge "ART: Check slow_paths_.Size() every time"
Chao-ying Fu [Tue, 8 Jul 2014 00:13:52 +0000 (17:13 -0700)]
ART: Check slow_paths_.Size() every time
This patch fixes a bug, when a new slow path is created
during slowpath->Compile().
Change-Id: I4896a82781102694c25f4483112c6de3c56e072c
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Ian Rogers [Wed, 9 Jul 2014 18:52:43 +0000 (18:52 +0000)]
Merge "Fix method tracing from command-line"
Ian Rogers [Wed, 9 Jul 2014 15:26:09 +0000 (15:26 +0000)]
Merge "x86_64: enable Peek and Poke intrinsics"
Andreas Gampe [Thu, 10 Jul 2014 10:03:29 +0000 (10:03 +0000)]
Merge "ART: Enable some ARM64 optimizations."
Andreas Gampe [Thu, 10 Jul 2014 09:04:01 +0000 (02:04 -0700)]
ART: Enable some ARM64 optimizations.
Enables kSuppressLoads, kTrackLiveTemps, kSafeOptimizations,
kPromoteCompilerTemps, kClassInitCheckElimination,
kSuppressExceptionEdges and kMatch.
Change-Id: Id3650adce7140dde8d667cd3f1b4a1c2598f156e
Andreas Gampe [Thu, 10 Jul 2014 07:54:06 +0000 (07:54 +0000)]
Merge "Use memory chunks for monitors on LP64"
Andreas Gampe [Thu, 17 Apr 2014 17:35:09 +0000 (10:35 -0700)]
Use memory chunks for monitors on LP64
Monitor IDs in lock words are only 30b. On a 32b system that works
fine, as memory is usually aligned enough that shifting works out.
On 64b systems, the virtual memory space is too large for that.
This adds memory chunks into which we allocate the monitors so that
we have base_addr + offset and can use the offset as the monitor ID.
To allow for relatively compact but growable storage, we use a list
of chunks.
Added a global lock for the monitor pool.
Change-Id: I0e290c4914a2556e0b2eef9902422d7c4dcf536d
Ian Rogers [Thu, 10 Jul 2014 03:36:51 +0000 (03:36 +0000)]
Merge "Move another field away from android_atomic_cas."
Ian Rogers [Thu, 10 Jul 2014 01:00:50 +0000 (18:00 -0700)]
Move another field away from android_atomic_cas.
Change-Id: If63aa2811e06ec401a601286a3bacb62a0da96ad
Ian Rogers [Thu, 10 Jul 2014 00:09:25 +0000 (00:09 +0000)]
Merge "Move card table away from android_atomic_cas."
Ian Rogers [Wed, 9 Jul 2014 05:55:18 +0000 (22:55 -0700)]
Move card table away from android_atomic_cas.
For x86 use byte CAS operations for byte CAS.
Fix bug in ModifyCardsAtomic where CAS was 32-bit instead of 64-bit.
Change-Id: Ieb3fe695b4699750abf04642b0abe94103976817