| Age | Commit message (Collapse) | Author |
|
org.apache.harmony.tests.java.util.TreeMapRndTest#testPutAll fails
in debug mode.
Change-Id: Idd15b25a236d4e5d3eb6d83ac0c038c1e10ee55a
|
|
- ldr -> ldrb in osr stub for arm32
- disable 570-checker-osr for tracing
- don't osr proxy methods.
Change-Id: I9c713c9b7eab86ca9beb75f228fb3b76185621ef
|
|
generation for all)"
|
|
|
|
(with all code generation for all)
Rationale:
At HIR level, many more optimizations are possible, while ultimately
generated code can take advantage of full semantics.
Change-Id: I6e2ee0311784e5e336847346f7f3c4faef4fd17e
|
|
arm/arm64/x86/x86_64."""
|
|
This reverts commit bd89a5c556324062b7d841843b039392e84cfaf4.
Change-Id: I08d190431520baa7fcec8fbdb444519f25ac8d44
|
|
|
|
|
|
DCHECK whether loop headers are covered fails.
This reverts commit 891bc286963892ed96134ca1adb7822737af9710.
Change-Id: I0f9a90630b014b16d20ba1dfba31ce63e6648021
|
|
|
|
|
|
Change-Id: I81aa92277fa136d675e7ef01be8e4acdbd3d3b7c
|
|
|
|
High-level overview:
- osr_method_threshold is used to know when to compile a method
in osr mode (-> treat all loops as irreducible).
- branch instructions in the compiler query whether they can
jump to an osr method.
- An osr entry point is found through the stack maps: if a stack
map is duplicated in the CodeInfo, it is an osr entry point.
Change-Id: Ifb39338cd281e2c7eccce67f4e18d46428be71e4
|
|
|
|
... unless we force it for testing purposes.
Bug: 26954924
Change-Id: Ib4660a35175abb479d0399e18b6194eb04dbc248
|
|
This reverts commit cf8d1bb97e193e02b430d707d3b669565fababb4.
Handle the case of an intrinsic where CurrentMethod is still an input.
This will be the case when there are unresolved classes in the
hierarchy.
Add a test case to confirm that we don't crash when handling Math.abs,
which wants to add a pointer to the constant area for the bitmask to be
used to remove the sign bit.
Enhance 565-checker-condition-liveness to check for the case of deeply
nested EmitAtUseSite chains.
Change-Id: I022e8b96a32f5bf464331d0c318c56b9d0ac3c9a
|
|
Change-Id: I0c0c5eb58936335c48e15cb7e899ab3a7ddbc00f
|
|
|
|
If possible, generate CMOV to implement HSelect. Tricky cases are
an FP condition (no single CC generated), FP inputs (no FP CMOV)
and when the condition is a boolean or not emitted at the use site.
In these cases, keep using the existing HSelect code.
Added Load32BitValue for int and FP and used that to remove code
duplication. Added minimal checker test for int/long CMOV generation.
Change-Id: Id71e515f0afa5a30f53c5de3a5244de1ea429aae
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
|
|
|
|
These tests are passing now on MIPS/MIPS64:
- 441-checker-inliner
- 536-checker-intrinsic-optimization
- 557-checker-instruction-simplifier-ror
Change-Id: I57b82f8ec1e774e8e0a16ba289e50aa4a764b96b
|
|
Change-Id: Icd8c54b5b8e90f839c4ef1646074f70be1cfe094
|
|
|
|
When forcing the interpreter into access checks mode,
make sure that the regular verification is still run,
giving the verifier an opportunity to throw a VerifyError.
If verification would've succeeded (without -Xverify:soft-fail flag),
override this and soft-fail, to force the interpreter-with-access-checks to be run
instead of the normal faster interpreter.
This fixes the following run-tests under the interpeter-access-checks:
* 135
* 412
* 471
* 506
* 800
Bug: 22414682
Change-Id: I5cb86a8bba71c7af9361a63c0802786c852b857b
|
|
With fail-before/pass-after test
bug=26947011
Rationale:
During BCE, the phi structure is under construction,
to be fixed by InsertPhiNodes() and carefully checked
with the SSA checker. So utilities should not overly
DCHECK on SSA consistency during the modifications.
Change-Id: Ia9df9ee5aac0c1dd2c3e3a447c730246d5e48bbb
|
|
* changes:
runtime: Update Proxy to assume 1 less direct method
runtime: Fix field resolution with access checks (runtest 073)
|
|
* changes:
Revert "Revert "reflection: Add new 1.8 AnnotatedElement methods and tests""
interpreter: Fix proxy method invocation with access checks enabled.
|
|
simplifications"""
|
|
This reverts commit 737c0a99dfbba306ec1f50e2adf66b5d97805af6 with fixes.
In the original patch, the new instruction could be inserted before
one of its inputs. A regression test is also added.
Change-Id: Ie49a17ac90ff048355d9cc944b468cd1b1914424
|
|
Because irreducible loops disable the constant pool optimization
on x86, we need to handle cases where a fp operation gets one.
Change-Id: I43387f31aa2589d02112953baa62fd0994d0a6d7
|
|
HSelect essentially creates an alias which breaks the singleton
assumption. Need to handle the case in singleton detection.
Bug: 26922558
Change-Id: I259deefe16e1e16c08179a10369cfe5ae23ae155
|
|
This reverts commit 28a2a186537db9fc5a8492e36d9603b48854c04f.
Runtest failure has been fixed in I28c3707e38c1f69ea9d3660f68136f688122ac4e
Change-Id: I1749dc89b790d44b5e40bc8b20aa62885bda792b
|
|
Fixes field resolution not to take static/instance into account until
after the field is completely resolved. Only the [i|s][put|get]
instructions themselves have enough context on whether the field must be
static or not (and throw an ICCE on a mismatch).
This makes us more JLS 13.4.8 compatible and also fixes a run-test
failure for interpreter-access-checks configuration.
Bug: 22414682
Change-Id: I78b17187e59f8f78569fcd8ffdf1cf1603a2d4b2
|
|
Interpret with access checks uses type information stored by a dex file,
so we need to get the original interface method (which is guaranteed
to be dex file backed) in that case.
Does not change method invoke target, just the method used for checks.
The existing 044-proxy test already covers this, so no regression test
necessary. Remove fixed tests from the blacklist.
Bug: 26846861
Bug: 22414682
Change-Id: I28c3707e38c1f69ea9d3660f68136f688122ac4e
|
|
|
|
The pattern substituion we now do instead of inlining
is enough for these tests to work again.
Bug: 26317072
Change-Id: I0d501874b1be31884e9efc4f5d32fa893394c9ec
|
|
|
|
The sharpening may or may not remove the ArtMethod*
parameter, so the test must not depend on its absence.
This fixes the test 449 checker test on mips/mips64.
Change-Id: I0c9e7353234365c97b622c7c84708be3dcbbe4ff
|
|
|
|
Change-Id: I487f9cdde321d2bad8239464000ffa20c57c82de
|
|
The sharpening may or may not remove the ArtMethod*
parameter, so the test must not depend on its absence.
This fixes the test 569 checker test on mips/mips64.
Change-Id: Ibee88d3602778006558caf33cf69e7c419918699
|
|
Change-Id: I20fc37ab869cb025c7ac5b550f5349d2e17de112
|
|
The following instructions accepted uninitialized reference types
as their arguments:
- instance-of
- check-cast
- throw
- iput-object (stored value argument)
- sput-object
- invoke-* (non-this arguments)
Monitor-enter and monitor-exit are allowed.
Bug: 26594149
Change-Id: I2a4decb1fba274b8969b17bc237ac0fd19b93c80
|
|
Bug: 26792072
(cherry-picked from commit 2bf56594e78ab7b01ee85c1d885c92cb469dfdf2)
Change-Id: I4e9f4ab0b8ff215c39d854ee041c1acfedcf0b6d
|
|
When using default methods that cross dex-files we would sometimes
attempt to lookup method information using the wrong dex file. This
fixes this issue.
Bug: 26872564
Change-Id: I3c4b64ef970017356962060f3bd3781b4629a3c8
|
|
|
|
|
|
|