| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
|/
|
|
|
|
|
| |
It is 4 byte now and should be handled accordingly.
Change-Id: Ie373235f961eabfd33266bd89fbf8169a3714a03
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
|
|\ |
|
|/
|
|
|
|
|
|
|
| |
Don't count boot and null methods when computing top K percentage for
sampled methods.
Bug: 15462067
Bug: 12877748
Change-Id: I11c2ea541066a15bc8a5ad323e21ccbfdf81c2c5
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ibf8471274f2d5e11fcc185044745434c3c82ed74
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- extracted profiler options in a separate class
- switched from system property reading to command line arguments
- added profile based compilation options to CompilerOptions
- removed no longer used kProfile compilation filter
- optimize dex files only if the profiler is enabled
- clean up unused arguments
Bug: 12877748
Bug: 15275634
Change-Id: I37ff68e7694370950ce8db2360562e9058ecebb7
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- rename variables/fields names to match the code style (use
_underscore_names_)
- extract common property parsing in utils.cc
- fail to load profile file if any line is malformed
- added ProfileFile to manage the profile data generate in the previous
runs (replaces ProfileHelper and nests ProfileData)
Bug: 12877748
Change-Id: Ie7bda30bfdeb7e78534c986615b0649eac12a97b
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Updates Dbg::GetSourceFile to return ABSENT_INFORMATION error code when
Class::GetSourceFile returns nullptr. This happens if the class has no source
file information.
Updates Class:GetSourceFile to return nullptr for classes which have no
ClassDef item like generated classes. This allows to remove the IsProxyClass
test from Dbg::GetSourceFile. Adds this test in proxy_test.
Bug: 15426710
Change-Id: I019da4ced83778d5264484c43b225f8b5c95632e
|
|\ \ \ \ |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This CL:
(1) eliminates redundant suspend checks (dominated by another check),
(2) removes the special treatment of the R4 register, which got
reset on every native call, possibly yielding long execution
sequences without any suspend checks, and
(3) fixes the absence of suspend checks in leaf methods.
(2) and (3) increase the frequency of suspend checks, which improves
the performance of GC and the accuracy of profile data. To
compensate for the increased number of checks, we implemented an
optimization that leverages dominance information to remove
redundant suspend checks on back edges. Based on the results of
running the Caffeine benchmark on Nexus 7, the patch performs
roughly 30% more useful suspend checks, spreading them much more
evenly along the execution trace, while incurring less than 1%
overhead. For flexibility consideration, this CL defines two flags
to control the enabling of optimizations. The original
implementation is the default.
Change-Id: I31e81a5b3c53030444dbe0434157274c9ab8640f
Signed-off-by: Wei Jin <wejin@google.com>
|
|\ \ \ \ |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Having difficulty getting this to run on the build server.
Disable until I can figure out how to do it.
Change-Id: I4f356fd1168b213b770426adc34bf62b8fb56b8f
|
|\ \ \ \ |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
This is flagged as an error when building master, but not others...
Change-Id: Iaea5307b06d8e4fa1a9d1035905fc204eb98559a
|
|\ \ \ \ |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes build breakage.
Change-Id: I8074d47f1c1470cf886d517e9e68a6a6b4330485
|
|\ \ \ \
| |_|_|/
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This provides a programmatic assembler for the thumb2 instruction set for
ARM. The interface is the same as the ARM assembler and the ARM assembler has
been moved into Arm32Assembler. The assembler handles most 16 and 32 bit instructions
and also allows relocations due to branch expansion. It will also rewrite cbz/cbnz
instructions if they go out of range.
It also changes the JNI compiler to use the thumb2 assembler as opposed
to forcing it to use ARM32. The trampoline compiler still uses ARM due to the
way it returns the address of its generated code. A trampoline in thumb2 is the
same size as that in ARM anyway (8 bytes).
Provides gtest for testing the thumb2 instruction output. This gtest only runs
on the host as it uses arm-eabi-objdump to disassemble the generated code. On the
target the output is not checked but the assembler will still be run to perform
all its checks.
Change-Id: Icd9742b6f13541bec5b23097896727392e3a6fb6
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This adds code that verifies that there's no memory map gap between
the image space and the main space so that the immune region
functionality won't silently break. For example, if there's a gap and
a large object is allocated in that gap, the large object is
incorrectly part of the immune region and the marking breaks.
Bug: 14059466
Change-Id: Ie6ed82988d74b6d0562ebbbaac96ee43c15b14a6
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Bug: 13564922
Change-Id: I2ac466f613e465691078c41b2693f2327d07a0a8
|
|\ \ \ \ \ \ |
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Iffa0f0350ccc4fce698b9a16aefd340e16654076
|
|\ \ \ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Printing of uint8_t is done as a char, rather than an integer.
Change-Id: I996e7d7dd902695be6366ab816fea65b675c2ad9
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
|
|\ \ \ \ \ \ \
| |_|/ / / / /
|/| | | | | | |
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This enables 64-bit core registers initialization for x86_64.
The backend update with 64-bit temp support is in progress.
Change-Id: If7c9a62c1145f81050adda86f2beed427220baa2
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
|
|\ \ \ \ \ \ |
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Create a helper template class ArrayRef and use it instead
of std::vector<> for register pools in target_<arch>.cc to
avoid these heap allocations during program startup.
Change-Id: I4ab0205af9c1d28a239c0a105fcdc60ba800a70a
|
|\ \ \ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add a test (runtime for now, as compile-time checks seem not
possible with current infrastructure) that checks the structure
of the thread tls and entrypoint structs. A failure of the test
indicates a structural change, which hints at a necessary oat
version bump.
Change-Id: I500b5cd940c916ebfc1580e9dd2c287c4d263956
|
|\ \ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This change also allows the Mips emulator to boot in interpreter mode.
Change-Id: Id1d5d65df79f65a747d37ddce6dd79906d1f4fcf
Signed-off-by: Douglas Leung <douglas@mips.com>
|
|\ \ \ \ \ \ \ \ |
|
|/ / / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The stack frame size for this method is above our limits. Allocate
ostreams on the heap instead of on the stack.
Bug: 15278350
Change-Id: Ia94a1f7190b7c2ac096e100682e747334f1bf6cc
|
|\ \ \ \ \ \ \ \
| |_|/ / / / / /
|/| | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The .cfi_sections directive was forcing unwind information into the
debug_frame, which is stripped out. This causes any unwinds done by
libunwind/debuggerd through these art functions to terminate prematurely.
Bug: 15350524
Change-Id: Id6abe7c7106132083bc894a77564b652a08566cb
|
|\ \ \ \ \ \ \ \ |
|
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
[Tip 'o the hat to Mark Mendell for noticing this one]
Use StackReference to find Method* size in GetOutVROffset.
Change-Id: Ie1b25eb839c59305cadc5fdc7cbb5f41f1a85686
|
|\ \ \ \ \ \ \ \ |
|
|/ / / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Bug: 15278350
Change-Id: I142dc9de0312ac1f8aa55a4bce86b5bb6722535f
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The stack frame size will be above our limit if we stack-allocate
a buffer.
Bug: 15278350
Change-Id: Ie1a31370538410d47c177f0a6e51879a1fc0752c
|
|\ \ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
- TEMP_FAILURE_RETRY redefined if unistd.h is include later
Change-Id: I79101ebfbec47e7854414c4ef40a91ef122ae284
|