| Age | Commit message (Collapse) | Author |
|
|
|
|
|
The art::PrepareForRegisterAllocation visitor can remove an
art::BoundType instruction as value input of an
art::ArraySet instruction, possibly replacing it with an
art::NullConstant. If this happens, remove the need for a
type check in this art::ArraySet.
Bug: 27638110
Change-Id: I6270f8a8e22822a24d8a5919df427ca9c64d121b
|
|
|
|
Offending change has been reverted.
Bug: 27689078
This reverts commit 51135830a760ff647e5eb164d744abc769b006a7.
Change-Id: I794127eb9f2c0dfb08039eecffd777b7d94f0ed6
|
|
|
|
|
|
Bots are red. Tentative reverting as this is likely the offender.
Bug: 27689078
This reverts commit a62d2f04a6ecf804f8a78e722a6ca8ccb2dfa931.
Change-Id: I3ec6947a5a4be878ff81f26f17dc36a209734e2a
|
|
For investigation.
Bug: 27689078
Change-Id: Ibcd24f90f68ac64119dfad9b17a42bed252ff009
|
|
|
|
Record the compiler filter in the oat header. Use that to determine
when the oat file is up-to-date with respect to a target compiler
filter level.
New xxx-profile filter levels are added to specify if a profile should
be used instead of testing for the presence of a profile file.
This change should allow for different compiler-filters to be set for
different package manager use cases.
Bug: 27689078
Change-Id: Id6706d0ed91b45f307142692ea4316aa9713b023
|
|
Change-Id: Ife227f73c7baf1d05bcc6949faadf92753332f8d
|
|
|
|
Change-Id: Ic969c3f303fe7a0c415f670f268421906496ab39
|
|
|
|
- Attach a ImtConflictTable to conflict runtime ArtMethod.
- Initially 0, a new one will be created at the first hit of
the conflict method.
- If the assembly code does not find a target method in the table,
we will create a new one again, copying the data from the previous
table and adding the new mapping.
Implemented for arm/arm64/x86/x64.
bug:27556801
bug:24769046
Change-Id: Ie74d1c77cf73d451a1142bdc5e3683f9f84bb4e7
|
|
There may be a lifetime hole in the interval, which means the interval
does not cover the given position.
bug:27617589
Change-Id: Iabd2b3d82936bed498f87be1a01760210954f97e
|
|
|
|
bug:27784033
Change-Id: Ib4fc86cf970e6f008da006cad1bf18e58fb84346
|
|
|
|
Ensure art::HNeg is only passed a type having the kind of
its input. For a boolean, byte, short, or char input, it
means HNeg's type should be int.
Bug: 27684275
Change-Id: Ic8442c62090a8ab65590754874a14a0deb7acd8d
|
|
|
|
Change-Id: I7610b34da337d81d9176ceca74e55ab85642a72b
|
|
Runs the test with a precompiled classes.dex and re-enables it.
We need to build a dex file with duplicate methods. We cannot do that
with Jack (this is invalid) or smali (it does not keep duplicate
methods, only one is in the dex). Therefore, having a precompiled
dex file allows to run the test on whatever toolchain.
In the future, we could update the test if a tool allows to generate
it again.
Change-Id: I3803aa0c2e99ca61d58b36e088d9bbe199e07d3c
|
|
Bug: 26719109
This reverts commit d98a52f0bc6c58e8e538de8335ab9bcb6ae73aa7.
Change-Id: I523675eb6d647fe773dd57b6e1cc398927bb066e
|
|
|
|
Rationale:
This changelist implements allowing narrowing conversions within
inductions and loop control. More induction and loops recognized,
more bounds eliminated. We all win. The basic idea is pretty simple
(record type with detected induction) but one has to get all the
details right, as illustrated by the many new unit tests.
BUG=27151098
Change-Id: I254020bfa5fa623799b31bbbb5ccc97d4d5a0100
|
|
Bug: 27684368
Change-Id: Ic3653280b32a471fbfdb5459ea382bc15c86cdbc
|
|
|
|
This is necessarry for compiling source code with default method.
Bug: 27371864
Change-Id: I8c9d3690e403729facd2e868cbda761b3488b2f6
|
|
|
|
|
|
We can get HInstructions typed with a class that is in an error state.
For such classes, we cannot look at the vtable or imt table as they
are not cleanly populated.
bug:27683927
Change-Id: I0d64ca470e1cb6cf9b40e9f02bb9b0bb12c2bac1
|
|
The null constant might be hiding under a HBoundType
(which we could clean up in instruction simplifier, but
that is orthogonal).
bug:27683874
Change-Id: Ide8ec5bcd439ec0fca5e54175ebeedc5a9f679a3
|
|
Only pass (32-bit) int values as distances.
Change-Id: Ie6f0422cfc0ca31f5e6b5797fe4f0bfcea003df4
|
|
|
|
Also extend tests covering the IntegerRotateLeft,
LongRotateLeft, IntegerRotateRight and LongRotateRight
intrinsics and their translation into an art::HRor
instruction.
Bug: 27682579
Change-Id: I89f6ea6a7315659a172482bf09875cfb7e7422a1
|
|
* changes:
Revert "Ignore 145-alloc-tracking-stress run-test failures with CC."
Revert "Ignore 145-alloc-tracking-stress failures in interpreter with CC."
Revert "Ignore 145-alloc-tracking-stress failures with JIT and CC."
|
|
This reverts commit eeed32cd6b9d6949dd1e0ebbea6ea897e58bb2b8.
Bug: 27467554
|
|
This reverts commit fee85561670331f38e0676baadc9be422d3d079c.
Bug: 27467554
|
|
This reverts commit 3296585f5879a9563214f178f97ee689fc651758.
Bug: 27467554
Change-Id: I356acd036f55605a782a83ab971d9808f10d0ed8
|
|
Rationale:
The tests for the fences were still TODO, and this
change list completes them. Java does not quite allow
for a weak memory order on just the signal, but this
is as close as a real unit test as I can think of.
Also added a test suggested by Hans.
BUG=26264765
Change-Id: I2dcb9b02fa63f72daf4c39b3744ff2010888713e
|
|
|
|
Some tests (such as 968-default-partial-compile-generated) are running
up against the current timeout when run with gcstress. This increases
the timeout to allow the tests to run fully.
Change-Id: I89ada3affefd09d07c770a83d849f280293cc8ed
|
|
|
|
Due to the dex specification, we can be in a state where
two array get with the same dex register inputs are typed
differently.
bug:27683874
Change-Id: Ia821fd32e86c306093372249e7686332a7584263
|
|
An instruction ordering bug caused 2-operand double-precision
rem operations to be performed incorrectly on the arm64 fast
interpreter. Also, fixes the existing omnibus-opcodes smoke test
to better catch 2-operand float and double operation problems
(the problem was masked in the existing test).
Bug: 27604215
Change-Id: I9fac1e61d9defe7d623c611406c35921abb65b04
|
|
Bug: 27626708
Change-Id: I708ee18215dccadc00ff3daa1e01c2830475ccae
|
|
|
|
|