| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| | |
This reverts commit 7e3652c45c30c1f2f840e6088e24e2db716eaea7.
Change-Id: Ib489440c34e41cba9e9e297054f9274f6e81a2d8
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The conversion from absolute to offset Line Number Table values mistakenly
removed all values less than the highest one, which resulted in clearing
all the table.
The fix is to use the reverse condition finding the highest correct PC
value in the sorted table.
Change-Id: I9850c2c46c1910b809043dd8163eb930a7849ded
Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to take the live interval that starts first to know
until when a register is free, instead of using the live interval
that is last in the inactive list.
Change-Id: I2c9f87481ff1b4fc7b9948db7559b8d3b11d84ce
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unlinking can be racy with respect to secondary oat files.
Bug: 17496483
(cherry picked from commit 00503dad8139dcf7b7fc7986ace93e3e45198096)
Change-Id: I53f92a924b34dfcf50d7e02487c5f8f23de627ca
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changes elf_file code to use less CHECKs and instead return error
values (usually nullptr). This avoids aborts.
In oat_file, when loading an oat file fails, try to unlink at. If
this succeeds, on the next run we may compile again.
Bug: 17491333
(cherry picked from commit afa6b8e93a0dc0de33c9d404945c7c5621e20b1a)
Change-Id: I50fdd2edacd86f25d4dacf2180ce2a6105eaf4af
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| |
| | |
Bring the names in line with normal OO principles: ConstHandle
becomes Handle, and Handle becomes MutableHandle.
Change-Id: I0f018eb7ba28bc422e3a23dd73a6cbe6fc2d2044
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
Widen the regex filtering libsigchain preload message.
Change-Id: I75f7ed45109330242bd1e20a43dd7149588b8c9a
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update the class linker to accept class status from the boot image
in compiler mode. Update compiler driver to allow quickening for
boot image classes. Update method verifier to accept quickened
instructions in compiler mode when we just want to dump. Update
oatdump to the new verifier API.
Bug: 17316928
(cherry picked from commit 35439baf287b291b67ee406308e17fc6194facbf)
Change-Id: I9ef1bfd78b0d93625b89b3d662131d7d6e5f2903
|
|\ \
| |/
|/| |
|
|/
|
|
|
|
|
|
|
|
| |
Note: this moves the miranda modifier to the upper 16 bit.
Bug: 16161620
(cherry picked from commit 7fc8f90b7160e879143be5cfd6ea3df866398884)
Change-Id: I2f591d53b7d1559171e70aaaf22225d94b4882f5
|
|\ |
|
| |
| |
| |
| |
| |
| | |
This reverts commit 6fbce029fba3ed5da6c36017754ed408e6bcb632.
Change-Id: Ia915c27873b021e658a10212e559095dfc91284e
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 58bdd18fb060979c22a1fd1a15c2efdcdd19c1c5.
Change-Id: I1bd4db03743cf57a1fd930baf6d9fe0105453c8c
|
|\ \ \
| |/ / |
|
|/ /
| |
| |
| |
| |
| | |
Also remove leftover debugging.
Change-Id: If7d3119bc03b9ad6c1228fbde781162d0e62753f
|
|\ \
| |/ |
|
|/
|
|
|
|
|
| |
For simplicity, they are currently placed on all (dex-level)
back edges, and at method entry.
Change-Id: I6e833e244d559dd788c69727e22fe40aff5b3435
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently inliner rejects inlining method if class initialization is needed.
However, if it has been proven already that it was done, then inlining
can safely proceed.
Change-Id: Iaf1638fcfffff1bcf66010dc39090c77e009a1bb
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
|
|\ \ |
|
|/ /
| |
| |
| | |
Change-Id: I88b23ab71b89f81d54162ea34d4e28f72087f2b2
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Called from FinalizerReference.enqueueSentinelReference to prevent
a race where the GC updates pendingNext of the sentinel reference
before enqueueSentinelReference.
Bug: 17462553
(cherry picked from commit 3256166df40981f1f1997a5f00303712277c963f)
Change-Id: I7ad2fd250c2715d1aeb919bd548ef9aab24f30a2
|
|\ \ |
|
|/ /
| |
| |
| | |
Change-Id: I2263c092c9957585ae90cf846e77dc8861f8a14b
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
First thread to get to max misses builds the index and sets an atomic, other
threads continue and return null. Avoids lock contention and removes a member
variable.
Change-Id: Ia91e4a8fd915941aea849f019c85b67894ec6e71
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| | |
Avoids recomputation in the hot allocation path when instrumentation is
enabled.
Change-Id: Ic6e7d7d0744f4756787f75d21fddd3c50280b588
|
|\ \
| |/
|/| |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a stale root error caused by the static roots from
the reg types. These were visitied if there was an active verifier
in the method_verifiers_ but this is not always the case when a GC
is run. The fix is to always visit the static method verifier roots.
This only showed up as a bug without an image since these roots
were primitive classes and always in the image, and therefore
didn't ever need to be updated due to moving GC.
(cherry picked from commit 6167864e28e4e12658ebdbaf1d5239acdaf4aaa4)
Change-Id: I592f2770570de97b431671cfbd409f63697892f1
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reduce virtual method dispatch in the method verifier and make more code
inline-able.
Add a StringPiece with const char* equality operator to avoid redundant
StringPieces and strlens.
Remove back link from register line to verifier and pass as argument to reduce
size of RegisterLine.
Remove instruction length from instruction flags and compute from the
instruction, again to reduce size.
Add suspend checks to resolve and verify to allow for more easy monitor
inflation and reduce contention on Locks::thread_list_suspend_thread_lock_.
Change ThrowEarlierClassFailure to throw pre-allocated exception.
Avoid calls to Thread::Current() by passing self.
Template specialize IsValidClassName.
Make ANR reporting with SIGQUIT run using checkpoints rather than suspending
all threads. This makes the stack/lock analysis less lock error prone.
Extra Barrier assertions and condition variable time out is now returned as a
boolean both from Barrier and ConditionVariable::Wait.
2 threaded host x86-64 interpret-only numbers from 341 samples:
Before change: Avg 176.137ms 99% CI 3.468ms to 1060.770ms
After change: Avg 139.163% 99% CI 3.027ms to 838.257ms
Reduction in average compile time after change is 20.9%.
Slow-down without change is 26.5%.
Bug: 17471626 - Fix bug where RegTypeCache::JavaLangObject/String/Class/Throwable
could return unresolved type when class loading is disabled.
Bug: 17398101
Change-Id: Id59ce3cc520701c6ecf612f7152498107bc40684
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Not enabled on 32 bit due to virtual memory fragmentation concerns.
The new free list large object space ensures that allocations are
page aligned by using a side table for accounting data.
(cherry picked from commit 66e222aa48e6d2fe4c78a1df938364b82bc83e72)
Change-Id: Idbcbe75cb86b6d9b3d8b20f3048631a48c511458
|
|\ \
| |/
|/| |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Math.round is detected and inlined for arm64. However, the
arm64 backend incorrectly modified a source operand in place
during the round sequence. Depending on how registers are
allocated, that modification could persist. Changed to use a
temp register for the intermediate result.
Internal b/17411468
Change-Id: I7c636f985e193f8ff838768fde3b741e443bb1bb
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ic83af6c582cd955168d01db7bdbdf27aebff64ab
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
mov byte instruction is not known for fault handler and therefore
it cannot catch null pointer exception represented by this instruction.
As a result implicit null check does not work.
Change-Id: I45d6056f838d1568fce3de58218437fc12d1c45b
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
|