| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Cherry-picked from commit ed41d5c44299ec5d44b8514f6e17f802f48094d1.
Move to ArtMethod/Field instead of AbstractMethod/Field and have
java.lang.reflect APIs delegate to ArtMethod/ArtField.
Bug: 10014286.
Change-Id: Iafc1d8c5b62562c9af8fb9fd8c5e1d61270536e7
|
|
|
|
|
|
| |
Bug 9437697.
Change-Id: I30bcb97d12cd8b46d3b2cdcbdd358f08fbb9947a
|
|
|
|
|
|
| |
interpreter.
Change-Id: I54e7162c839910fcf8b8a394aebff2d3c807ccfb
|
|\
| |
| |
| | |
Change-Id: I8798a6f154463d3f92f6aca62f14130aec82d273
|
| |
| |
| |
| | |
Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
|
|/
|
|
|
|
|
| |
This reverts commit 73dda0bc2adcd6a3a7d75f663a3559f8b527d485.
It also fixes the problematic line in the ReferenceMap test.
Change-Id: Ic3b62db7c040853a5ddfed589f6e0acff25d82b7
|
|\
| |
| |
| |
| | |
* commit '6f485c62b9cfce3ab71020c646ab9f48d9d29d6d':
Fix cpplint whitespace/indent issues
|
| |
| |
| |
| | |
Change-Id: I7c1647f0c39e1e065ca5820f9b79998691ba40b1
|
|\ \
| |/
| |
| | |
Change-Id: I78fbcfc7a2dcbeccb7557ca27302928d7d00debd
|
| |
| |
| |
| | |
Change-Id: Ifc678d59a8bed24ffddde5a0e543620b17b0aba9
|
|\ \
| |/
| |
| |
| | |
* commit '0cd7ec2dcd8d7ba30bf3ca420b40dac52849876c':
Fix cpplint whitespace/blank_line issues
|
| |
| |
| |
| | |
Change-Id: Ice937e95e23dd622c17054551d4ae4cebd0ef8a2
|
|\ \
| |/
| |
| | |
Change-Id: I6529b2fc27dfaedd2cb87b3697d049ccabed36ee
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The runtime, compiler, dex2oat, and oatdump now are in seperate trees
to prevent dependency creep. They can now be individually built
without rebuilding the rest of the art projects. dalvikvm and jdwpspy
were already this way. Builds in the art directory should behave as
before, building everything including tests.
Change-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Added two new functions: registerNativeAllocation and registerNativeFree.
These functions should be used to let the GC know about native allocations
which are held live by Java objects and released in finalizers. GC are performed
or requested from within registerNativeAllocation when the total number of native
bytes accounted for exceeds a certain threshold. After a GC occurs in
registerNativeAllocation, finalizers are run so that the native memory is freed.
Added a test which shows how to use these functions.
Change-Id: I40f3c79e1c02d5008dec7d58d61c5bb97ec2fc1b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL adds quickening support for methods which are interpreted at runtime.
This CL introduces a DEX-to-DEX compiler. A method is now compiled in one of
the two following modes:
- Native compilation: the method is compiled by the Quick or Portable backends.
At runtime, the generated native target-dependent code is executed.
- DEX-to-DEX compilation: the method is executed by the interpreter at runtime.
Its DEX code is compiled so some instructions can be replaced by special
instructions only valid at runtime. No native code is generated.
The quickening adds special instructions to improve runtime performance. They
are "-quick" versions of the following instructions:
- iget/iput
- iget-wide/iput-wide
- iget-object/iput-object
- invoke-virtual/range.
These special instructions cannot be treated by the verifier since they lose
the field/method index referencing the field/method being accessed/invoked.
To prevent this, the DEX-to-DEX compiler is run only on methods of preverified
classes (without verification error at compilation time).
The DEX-to-DEX compiler implements quickening support using the CompilerDriver
interface like the native compiler does (Quick or Portable backends).
To replace instructions, the DEX-to-DEX compiler must be able to modify the
mmapped DEX file. Since it can be read-only protected, the DEX-to-DEX compiler
must be able to temporarily change its protection to read-write mmapped file.
To achieve this, this CL adds support for changing DEX file protection with
DexFile::EnableWrite and DexFile::DisableWrite methods. Besides, it also adds
a dedicated lock (DexFile::modification_lock) to ensure thread-safety and avoid
concurrent DEX file protection change (from a parallel DEX-to-DEX compiler on
the same DEX file).
Change-Id: Iaafd103b9766810d7fc94a2c424a8fafba66e26a
|
|\
| |
| |
| |
| | |
* commit 'fa42b4410d49134a8e63dc2196be4013d286f2d6':
Move to new art dalvikvm
|
| |
| |
| |
| | |
Change-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7
|
| |
| |
| |
| |
| |
| |
| |
| | |
A separate libcore change is needed to fix Class.getModifiers for
arrays of inner classes.
Bug: https://code.google.com/p/android/issues/detail?id=56267
Change-Id: I3d95b266bb14a72b766921fe09e53fdef2f6d01b
|
|\ \
| |/
| |
| |
| | |
* commit '7675e16bcae06c0fe258aad89b3d511037dec399':
Rename art-cache to dalvik-cache
|
| |
| |
| |
| | |
Change-Id: I294995066aecc29fbd739c3e9e6f60934f743064
|
| |
| |
| |
| | |
Change-Id: I34a8fd56a8e2b51f5ef31d0a8e2694112f5ee2b2
|
| |
| |
| |
| |
| |
| | |
NO code is generated for check-casts where we can statically determine the type is correct (through the instaceof-ifeq pattern).
Change-Id: I4935375d7ffd4e7d4ff0aaad900c1a4de9deefaa
|
|/
|
|
|
|
| |
Sanity check that toString and the modifiers are well formed.
Change-Id: If8b55587c9d28db4782593a31006875985e9e5a5
|
|
|
|
|
|
| |
Also fix usage message.
Change-Id: I67f2168ed22ccef999c798585d73ad25c8885716
|
|
|
|
|
|
|
|
| |
The flakiness had already been worked around in art, but not backported.
The new dalvik fix is cleaner anyway.
Bug: https://code.google.com/p/android/issues/detail?id=54114
Change-Id: If21e493f3614a14fc5e645bf7055515b963832bb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the instrumentation responsible for whether we want method entry/exit
stubs, and allow it to use interpreter entry stubs when instruction by
instruction instrumentation is required. Improve deoptimization so more JDWP
test cases are passing.
Refactor exception debug posting, in particular improve reporting in the
interpreter. Improve class linker exception throwing so that broken dex files
are more likely to be reported. Fixes the performance issue Bug: 8410519.
Fix some error reporting lock level errors for the large object space. Make
fast object verification faster.
Add some debug mode robustness to finding dex PCs in GC maps.
Add printf attributes to JniAbortF and fix errors.
Expand run-test 044 to test return behaviors and fix issues with not throwing
appropriate exceptions for proxies.
Ensure causes are reported with a class linker NoClassDefFoundError and JNI
NoSuchFieldError.
Remove unused debugMe and updateDebuggerFromCode.
There's a minor sizing tweak to the arg array builder, and an extra reference
array check in the interpreter.
Some clean-up of trace code.
Fix reg type cache destructor if it is called after the reg type cache is
shutdown (as is the case in oatdump).
Change-Id: I6519c7b35df77f978d011999354c864f4918e8ce
|
|
|
|
| |
Change-Id: Id742af562cc4506ee72be6d36b4ef3299b6266dd
|
|
|
|
| |
Change-Id: I74954e78ccd11b3458113387b297714004fc03be
|
|
|
|
|
|
|
|
| |
The receiver field is ignored for static methods, and may be null, but it
could be anything. Changed test 46 to make sure the value is properly
handled when it is not null.
Change-Id: Ide182b99c40a757e158f3587de7b413cd0cbb089
|
|
|
|
|
|
|
|
|
| |
Performance had regressed due to verify object and method invocation changes.
Avoid trampolines for static calls in same class.
Various inlining changes.
Make verify object something that's only compiled-in in debug builds.
Change-Id: Ia261a52232c3b10667c668f8adfadc0da3048bc5
|
|
|
|
|
|
|
| |
Refactor VERIFY_OBJECT_ENABLED to become less brittle to change enum and global
constant.
Change-Id: Ie405106be81dce9a913730c7f46a5659582fa18b
|
|
|
|
| |
Change-Id: I59aa45f7bc5447391da50844bab7d61c7ce1ba67
|
|\
| |
| |
| | |
dalvik-dev
|
| |
| |
| |
| | |
Change-Id: Ia2459c7da6b79e0a1c0f1148c6e28ad9cbbe27a2
|
|/
|
|
|
|
| |
Adds invokes of StrictMath operations to reflect compiler inlining support.
Change-Id: Ibb2205a41c1e79ddbeacc2e716a9d05b723eb532
|
|
|
|
|
|
|
|
|
| |
Add test for Bug: 8250775 that doesn't effect ART. Expand test case further.
ClassCastException has no constructor expecting a cause and so using this
creates a JNI failure. Switch to not using a wrapped exception as the wrapping
itself wasn't adding information.
Change-Id: I32dd541e1a1022089ec993fa4f4646042c5bf1fa
|
|
|
|
|
| |
Bug: https://code.google.com/p/android/issues/detail?id=42991
Change-Id: I08e46361a9d7275bc870ee1ec38c40ae22ddf08a
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I01259b342b9f6a4c5abb27d89f5d5b5f4e341819
|
|/
|
|
|
|
| |
Making consistent with the target.
Change-Id: Iba30db648f598d3996675287fc9d404b3aa80b0d
|
|
|
|
|
|
|
| |
We no longer have a suspend test on a back-edge going to a return, so there is
no reference map data to look up.
Change-Id: Id1caea65cd188eb4c59eba3c1ac2681b3200726c
|
|
|
|
|
|
|
|
|
| |
Break object.h into constituent files.
Reduce number of #includes in other GC header files.
Introduce -inl.h files to avoid mirror files #include-ing each other.
Check invariants of verifier RegTypes for all constructors.
Change-Id: Iecf1171c02910ac152d52947330ef456df4043bc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generates .oat in ELF file format using MCLinker
- Uses MCLinker IRBuilder to create a synthetic .o from OatWriter output.
- Uses new ElfFile for prelinking to support art image optimizations.
Adapted OatFile to load using dlopen, ElfFile, or memory, removing raw MemMap mechanism.
Changed image code to not assume oat data will be immediately after
image to allow space for ELF headers.
Passes test-art and works with installd.
Change-Id: Idc026eddb5de93f4b97490c405f3ed7b39589749
|
|
|
|
|
|
|
|
|
| |
This allows assertion checking on the thread, principally that we never try to
walk the stack of an unsuspended thread.
Fix bug in the OwnedMonitorVisitor where GetVReg could be called on a
StackVisitor with no context.
Change-Id: I06539b624b253b6fb7385e7be11a4bced1d417b2
|
|
|
|
| |
Change-Id: I9c4756341b9f4cbc764ac034f0c9ad4dcd13a40b
|
|
|
|
|
|
|
| |
Remove the IntMath method_verifier_test. We can harness oatdump to give a better
test.
Change-Id: Id7c4417331e6311ca21efdb8aa744851b7216c98
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Iccc38d5a7acf72dcca5baa5aade2df739aab3183
|
|/
|
|
| |
Change-Id: Ied054e1770ccc86c470dfc8d06cab39fc3e97216
|