OSDN Git Service
Ian Rogers [Thu, 4 Sep 2014 16:05:21 +0000 (16:05 +0000)]
am
f96ad932: Merge "ART: Reduce LockCallTemps usage"
* commit '
f96ad932cf2c4f814f92ed3a8679d50aa1b02dcd':
ART: Reduce LockCallTemps usage
Ian Rogers [Thu, 4 Sep 2014 15:55:14 +0000 (15:55 +0000)]
am
2fb54e87: Merge "ART: Allow oatdump to print vr stack locations"
* commit '
2fb54e875697126de075ae736fd6cb136b7b4f94':
ART: Allow oatdump to print vr stack locations
Ian Rogers [Thu, 4 Sep 2014 15:48:22 +0000 (15:48 +0000)]
Merge "ART: Reduce LockCallTemps usage"
Maxim Kazantsev [Mon, 18 Aug 2014 11:43:55 +0000 (18:43 +0700)]
ART: Reduce LockCallTemps usage
Using FlushAllRegs/LockCallTemps in integer arithmetics causes
excess register flushing and clobbering. This patch adds API that
allows to flush, clobber and lock only those registers we really
need for calculations.
Change-Id: Idabaa4fff4d18a33e5040a80f66f2df6432f8be0
Signed-off-by: Max Kazantsev <maxim.kazantsev@intel.com>
Ian Rogers [Thu, 4 Sep 2014 15:45:01 +0000 (15:45 +0000)]
am
328c430e: Merge "ART: Vectorization opcode implementation fixes"
* commit '
328c430e923ce8d18532d0fdd26cd233e73763dd':
ART: Vectorization opcode implementation fixes
Ian Rogers [Thu, 4 Sep 2014 15:36:20 +0000 (15:36 +0000)]
Merge "ART: Allow oatdump to print vr stack locations"
Razvan A Lupusoru [Sat, 30 Aug 2014 00:56:46 +0000 (17:56 -0700)]
ART: Allow oatdump to print vr stack locations
For both debugging and performance analysis, it is necessary to understand
stack layout. This patch adds capability to oatdump to print out the offsets
of the locals, ins, method*, and out VRs.
Change-Id: I73512f59e4fd2d2b12725a6c76d602182c46ff78
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Ian Rogers [Thu, 4 Sep 2014 15:34:15 +0000 (15:34 +0000)]
am
d73f52b1: Merge "Add numerator check for integer divide and modulo"
* commit '
d73f52b1b9bea825d98830a906511a9e97ab277d':
Add numerator check for integer divide and modulo
Ian Rogers [Thu, 4 Sep 2014 15:34:14 +0000 (15:34 +0000)]
am
bfa2b553: Merge "ART: Only call CalculateBasicBlockInformation once"
* commit '
bfa2b5537a138c15895a67c55de38bb83fcd03c3':
ART: Only call CalculateBasicBlockInformation once
Ian Rogers [Thu, 4 Sep 2014 15:27:29 +0000 (15:27 +0000)]
Merge "ART: Vectorization opcode implementation fixes"
Ian Rogers [Thu, 4 Sep 2014 15:20:55 +0000 (15:20 +0000)]
Merge "Add numerator check for integer divide and modulo"
Ian Rogers [Thu, 4 Sep 2014 15:14:44 +0000 (15:14 +0000)]
Merge "ART: Only call CalculateBasicBlockInformation once"
Jean Christophe Beyler [Tue, 2 Sep 2014 21:22:17 +0000 (14:22 -0700)]
ART: Only call CalculateBasicBlockInformation once
CalculateBasicBlockInformation gets called twice now when dirty is true.
Change-Id: I8aa0569e4c00ea884a45ecea957a4ae06a328969
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Ian Rogers [Thu, 4 Sep 2014 14:39:15 +0000 (14:39 +0000)]
am
7b3dd82b: Merge "ART: Fix computation of frame size for direct proxy methods"
* commit '
7b3dd82bfaa2b3558587f1614144ad8ccfdbd7a9':
ART: Fix computation of frame size for direct proxy methods
Ian Rogers [Thu, 4 Sep 2014 14:22:44 +0000 (14:22 +0000)]
Merge "ART: Fix computation of frame size for direct proxy methods"
Serguei Katkov [Fri, 29 Aug 2014 11:20:15 +0000 (18:20 +0700)]
ART: Fix computation of frame size for direct proxy methods
Proxy method has only one direct method and it is a constructor which
is cloned from java.lang.reflect.Proxy class together with code.
As a result its body is a compiled quick code and frame size should be
computed accordingly in contrast with other virtual methods which are
invoked through stub.
Change-Id: I0ac99b2f567b281c9342152bad1149dd6cd39480
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Mathieu Chartier [Thu, 4 Sep 2014 04:55:32 +0000 (04:55 +0000)]
am
23628703: Merge "Fix native allocation watermark clamping."
* commit '
236287039744ee1938f4a4e3fd1fe48090c359d0':
Fix native allocation watermark clamping.
Mathieu Chartier [Thu, 4 Sep 2014 04:44:44 +0000 (04:44 +0000)]
am
d83f82c8: am
e1a86627: Merge "Fix native allocation watermark clamping." into lmp-dev
* commit '
d83f82c8e1d934d569c868b06f03b33698616f7d':
Fix native allocation watermark clamping.
Mathieu Chartier [Thu, 4 Sep 2014 04:36:08 +0000 (04:36 +0000)]
Merge "Fix native allocation watermark clamping."
Mathieu Chartier [Wed, 3 Sep 2014 17:30:11 +0000 (10:30 -0700)]
Fix native allocation watermark clamping.
The main issue causing the test to fail is that
native_footprint_gc_watermark_ becoming > growth_limit_ due to no
clamping.
Temporary runFinalization fix is calling runFinalization 2x.
Bug:
17371542
(cherry picked from commit
4c7fc5950853b0c368e2148db77ced7c4d3c303c)
Change-Id: I05b85e95560c32c33d53bc96abf87d5262007395
Mathieu Chartier [Thu, 4 Sep 2014 04:34:00 +0000 (04:34 +0000)]
am
e1a86627: Merge "Fix native allocation watermark clamping." into lmp-dev
* commit '
e1a8662792260953efe05fd991d945e508298aa8':
Fix native allocation watermark clamping.
Mathieu Chartier [Thu, 4 Sep 2014 04:23:13 +0000 (04:23 +0000)]
Merge "Fix native allocation watermark clamping." into lmp-dev
Mathieu Chartier [Thu, 4 Sep 2014 03:59:34 +0000 (03:59 +0000)]
am
badae981: Merge "Add exception check to AllocateInternalWithGc"
* commit '
badae981ada1fa279e54360df177ab6f40c299b9':
Add exception check to AllocateInternalWithGc
Mathieu Chartier [Wed, 3 Sep 2014 17:30:11 +0000 (10:30 -0700)]
Fix native allocation watermark clamping.
The main issue causing the test to fail is that
native_footprint_gc_watermark_ becoming > growth_limit_ due to no
clamping.
Temporary runFinalization fix is calling runFinalization 2x.
Bug:
17371542
Change-Id: I188cb530a44dd109e066a22091f12f8d2d4350c3
Mathieu Chartier [Thu, 4 Sep 2014 03:32:56 +0000 (03:32 +0000)]
Merge "Add exception check to AllocateInternalWithGc"
Mathieu Chartier [Thu, 4 Sep 2014 03:24:12 +0000 (03:24 +0000)]
am
dbddcf7c: am
c4978258: Merge "Add exception check to AllocateInternalWithGc" into lmp-dev
* commit '
dbddcf7ccc664c5818f2f04e87775ed0cd6fa7c5':
Add exception check to AllocateInternalWithGc
Mathieu Chartier [Thu, 4 Sep 2014 02:35:34 +0000 (02:35 +0000)]
am
c4978258: Merge "Add exception check to AllocateInternalWithGc" into lmp-dev
* commit '
c4978258172beb35c3c8f0c31a5f7eb06b9a1de2':
Add exception check to AllocateInternalWithGc
Mathieu Chartier [Wed, 3 Sep 2014 18:21:08 +0000 (11:21 -0700)]
Add exception check to AllocateInternalWithGc
Trying to figure out if the pending exception comes before or during
AllocateInternalWithGc.
Bug:
17164348
(cherry picked from commit
98d43cb0da3c34d1888d1e31d953c2940fd0f897)
Change-Id: I2aac4b67f0c3f1c0fe3c9dc321316f76494c4074
Mathieu Chartier [Thu, 4 Sep 2014 02:29:14 +0000 (02:29 +0000)]
Merge "Add exception check to AllocateInternalWithGc" into lmp-dev
Ian Rogers [Thu, 4 Sep 2014 00:43:31 +0000 (00:43 +0000)]
am
a07557cc: Merge "Remove abuse of mirror::Object* to reference special values."
* commit '
a07557ccece64fa7084bb01b9d26957bd0977c10':
Remove abuse of mirror::Object* to reference special values.
Jeff Hao [Thu, 4 Sep 2014 00:38:23 +0000 (17:38 -0700)]
resolved conflicts for merge of
30558697 to lmp-dev-plus-aosp
Change-Id: I30a0acb0ba2e8dd6d983e738af744397ee5e53ae
Ian Rogers [Thu, 4 Sep 2014 00:20:48 +0000 (00:20 +0000)]
Merge "Remove abuse of mirror::Object* to reference special values."
Ian Rogers [Wed, 3 Sep 2014 23:16:56 +0000 (16:16 -0700)]
Remove abuse of mirror::Object* to reference special values.
Remove kInvalidIndirectRefObject, kClearedJniWeakGlobal and
ObjectRegistry::kInvalidObject. Handle error conditions by passing in or
returning an error value.
GetObjectRefType is simplified to be faster and not return invalid references
that are not expected according to the spec. Adjust check JNI and
jni_internal_test appropriately.
Fix cases in the debugger/JDWP of out arguments being passed by reference.
Bug:
17376993
Change-Id: I3ce8a28c01827e163f4dc288449959464da788b1
Jeff Hao [Wed, 3 Sep 2014 23:27:41 +0000 (23:27 +0000)]
am
6b28a456: Fix stack overflow and duplicate methods while tracing.
* commit '
6b28a456b075fe53dfb7e924a44dbf35d0d41eb3':
Fix stack overflow and duplicate methods while tracing.
Jeff Hao [Wed, 3 Sep 2014 20:48:16 +0000 (13:48 -0700)]
Fix stack overflow and duplicate methods while tracing.
Bug:
16386215
Change-Id: I0d0ae0113a3a00013ce84a1f5a110e2c52f19b86
Mathieu Chartier [Wed, 3 Sep 2014 18:21:08 +0000 (11:21 -0700)]
Add exception check to AllocateInternalWithGc
Trying to figure out if the pending exception comes before or during
AllocateInternalWithGc.
Bug:
17164348
Change-Id: Id46d82bfc0f84d16e5ffdafe41658aee4cc2c702
Lupusoru, Razvan A [Mon, 28 Jul 2014 21:11:01 +0000 (14:11 -0700)]
ART: Vectorization opcode implementation fixes
This patch fixes the implementation of the x86 vectorization opcodes.
Change-Id: I0028d54a9fa6edce791b7e3a053002d076798748
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
Signed-off-by: Philbert Lin <philbert.lin@intel.com>
Junmo Park [Wed, 3 Sep 2014 16:28:59 +0000 (16:28 +0000)]
am
b119fc31: am
ff4cfe07: Fix SetupResourceMasks to pass correct parameters
* commit '
b119fc31eca8eaf9318a1a49cb10cdab03f7d1b1':
Fix SetupResourceMasks to pass correct parameters
Junmo Park [Wed, 3 Sep 2014 16:18:47 +0000 (16:18 +0000)]
am
ff4cfe07: Fix SetupResourceMasks to pass correct parameters
* commit '
ff4cfe07009ac0b0f07475ef2aa91d9aaf9ab291':
Fix SetupResourceMasks to pass correct parameters
buzbee [Wed, 3 Sep 2014 14:56:40 +0000 (14:56 +0000)]
am
b148ad48: am
f72fd02c: Merge "Quick compiler: disable GVN DO NOT MERGE" into lmp-dev
* commit '
b148ad486920d464c0713f34e77eb53778f5d36d':
Quick compiler: disable GVN DO NOT MERGE
Mathieu Chartier [Wed, 3 Sep 2014 14:33:34 +0000 (14:33 +0000)]
am
1c9a7470: am
c60bdf66: Fix native allocation test.
* commit '
1c9a7470e0c2cc2b50ae48584f6a08296030d4c8':
Fix native allocation test.
Andreas Gampe [Wed, 3 Sep 2014 14:33:12 +0000 (14:33 +0000)]
am
1e64b55d: am
4d05d931: Merge "ART: Fix read-out-of-bounds in the compiler" into lmp-dev
* commit '
1e64b55d5bec5d8555bb9f3cbdaafe24b57defd7':
ART: Fix read-out-of-bounds in the compiler
Mathieu Chartier [Wed, 3 Sep 2014 14:33:11 +0000 (14:33 +0000)]
am
f4bb9ef6: am
635531a2: Merge "Change native allocations to use growth limit." into lmp-dev
* commit '
f4bb9ef65cdc2c8cb8d50d023ab57320310cf96a':
Change native allocations to use growth limit.
Ian Rogers [Wed, 3 Sep 2014 14:33:09 +0000 (14:33 +0000)]
am
3fa54ea1: am
37bb8184: Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes." into lmp-dev
* commit '
3fa54ea15bcf6d0f79c1b04c1bd1f804a4526412':
Pre-allocate the NoClassDefFoundError to be thrown for boot classes.
Marcin Kosiba [Wed, 3 Sep 2014 14:16:47 +0000 (15:16 +0100)]
Merge '
0122cf8b' "Reduce and speed-up class def searches." into lmp-dev-plus-aosp.
Conflicts:
compiler/driver/compiler_driver.cc
runtime/class_linker.cc
Change-Id: I9c98e6a34858f6f9863fc6a0df0506f3a28bd7ee
Junmo Park [Sat, 30 Aug 2014 11:13:02 +0000 (20:13 +0900)]
Fix SetupResourceMasks to pass correct parameters
Calling SetupTargetResourceMasks function with correct parameter.
SetupTargetResourceMasks(lir, flags, use_mask, def_mask) is correct order.
b/
17369806
(cherry-picked from commit sha
2a09504334a3a3b4c47100197df0827cc6740433)
Change-Id: I49118c3f2d3d06fac83fa3d5014b7fdaff6a2b00
buzbee [Wed, 3 Sep 2014 13:02:13 +0000 (13:02 +0000)]
am
f72fd02c: Merge "Quick compiler: disable GVN DO NOT MERGE" into lmp-dev
* commit '
f72fd02c4ea0f1aa610b8a4f9f51ef86c285b1cf':
Quick compiler: disable GVN DO NOT MERGE
buzbee [Wed, 3 Sep 2014 12:50:49 +0000 (12:50 +0000)]
Merge "Quick compiler: disable GVN DO NOT MERGE" into lmp-dev
Vladimir Marko [Wed, 3 Sep 2014 12:09:05 +0000 (12:09 +0000)]
am
2a095043: Merge "Fix SetupResourceMasks to pass correct parameters"
* commit '
2a09504334a3a3b4c47100197df0827cc6740433':
Fix SetupResourceMasks to pass correct parameters
Vladimir Marko [Wed, 3 Sep 2014 11:48:42 +0000 (11:48 +0000)]
Merge "Fix SetupResourceMasks to pass correct parameters"
Vladimir Marko [Wed, 3 Sep 2014 09:33:27 +0000 (09:33 +0000)]
am
859efc4e: Merge "ART fix oat debug source map operations"
* commit '
859efc4e6f5f0bba503ff55dc08a59d8ce7a81d1':
ART fix oat debug source map operations
Vladimir Marko [Wed, 3 Sep 2014 08:53:49 +0000 (08:53 +0000)]
Merge "ART fix oat debug source map operations"
Sebastien Hertz [Wed, 3 Sep 2014 07:41:59 +0000 (07:41 +0000)]
am
a70343f9: Merge "Reduce lock contention when debugging"
* commit '
a70343f996aea274a2568e8f2bcda829cdbc61d7':
Reduce lock contention when debugging
Sebastien Hertz [Wed, 3 Sep 2014 07:17:29 +0000 (07:17 +0000)]
Merge "Reduce lock contention when debugging"
Andreas Gampe [Wed, 3 Sep 2014 06:13:38 +0000 (06:13 +0000)]
am
dc720bf1: am
e610faf9: Merge "ART: Tighten verifier list reading and offsets" into lmp-dev
* commit '
dc720bf11457c7a3d568f6e23e82586b6ce18ffd':
ART: Tighten verifier list reading and offsets
Mathieu Chartier [Wed, 3 Sep 2014 05:38:04 +0000 (22:38 -0700)]
resolved conflicts for merge of
64dc9daf to lmp-dev-plus-aosp
Change-Id: I4f69fc547e4cde43f4ab6d8080076d5b62b0fe75
buzbee [Wed, 3 Sep 2014 01:36:37 +0000 (18:36 -0700)]
Quick compiler: disable GVN DO NOT MERGE
Disable global value numbering optimization for lmp (but
keep on for master).
b/
16398693
Change-Id: I125c588c987a81db54a15da1eec9dee2b009956f
buzbee [Wed, 3 Sep 2014 02:12:45 +0000 (02:12 +0000)]
am
4a946795: Merge "Quick compiler, aarch64: Insane sanity checker"
* commit '
4a9467959d4693f805c39536eed3c3bc5e8bbfd8':
Quick compiler, aarch64: Insane sanity checker
buzbee [Wed, 3 Sep 2014 01:41:16 +0000 (01:41 +0000)]
Merge "Quick compiler, aarch64: Insane sanity checker"
Mathieu Chartier [Wed, 3 Sep 2014 01:33:30 +0000 (01:33 +0000)]
am
878bb62d: Merge "Fix native allocation test."
* commit '
878bb62d86636b42ea0a0203945f160606adfc61':
Fix native allocation test.
Mathieu Chartier [Wed, 3 Sep 2014 01:33:28 +0000 (01:33 +0000)]
am
2cc4e2a1: Merge "Change native allocations to use growth limit."
* commit '
2cc4e2a1ae9a8827503b1508dca8346a465da20a':
Change native allocations to use growth limit.
Andreas Gampe [Wed, 3 Sep 2014 01:28:20 +0000 (01:28 +0000)]
am
47e877ab: Merge "ART: Fix StubTest Interface Trampoline test"
* commit '
47e877ab2d6744f4360d37f179eb5affd6a46470':
ART: Fix StubTest Interface Trampoline test
Mathieu Chartier [Wed, 3 Sep 2014 01:14:14 +0000 (01:14 +0000)]
Merge "Fix native allocation test."
Mathieu Chartier [Wed, 3 Sep 2014 01:13:57 +0000 (01:13 +0000)]
Merge "Change native allocations to use growth limit."
Mathieu Chartier [Wed, 3 Sep 2014 01:08:48 +0000 (01:08 +0000)]
am
c60bdf66: Fix native allocation test.
* commit '
c60bdf667b5c6fa767548942f0115547523593b4':
Fix native allocation test.
Andreas Gampe [Wed, 3 Sep 2014 01:00:21 +0000 (01:00 +0000)]
Merge "ART: Fix StubTest Interface Trampoline test"
Andreas Gampe [Wed, 21 May 2014 22:37:53 +0000 (15:37 -0700)]
ART: Fix StubTest Interface Trampoline test
The imt conflict test does not actually need a proper conflict,
as we do not invoke through a lookup.
Added simple check for art_quick_invoke_interface_trampoline_with_access_check.
Only non-failure testing, as failure requires a properly setup frame etc.
Change-Id: I173dac04db950bd23f62eaf13341a7b19802e5e8
Mathieu Chartier [Wed, 3 Sep 2014 00:56:41 +0000 (00:56 +0000)]
am
2013de57: Merge "Add missing read barriers to intern table."
* commit '
2013de579050cff717a6fb910ec386a6e61330bc':
Add missing read barriers to intern table.
Andreas Gampe [Wed, 3 Sep 2014 00:56:40 +0000 (00:56 +0000)]
am
579123b2: Merge "ART: Fix read-out-of-bounds in the compiler"
* commit '
579123b22546d36ed47e896a567a7ca6b5470d1a':
ART: Fix read-out-of-bounds in the compiler
Andreas Gampe [Wed, 3 Sep 2014 00:56:39 +0000 (00:56 +0000)]
am
fa6fe2df: Merge "ART: Tighten verifier list reading and offsets"
* commit '
fa6fe2dfb401e30890f1feb48b664eb19636b8d4':
ART: Tighten verifier list reading and offsets
Mathieu Chartier [Wed, 3 Sep 2014 00:56:38 +0000 (00:56 +0000)]
am
62bcfec9: Merge "Change intern table to unordered set."
* commit '
62bcfec936692ff4f75cdc3267c081080b0e6acc':
Change intern table to unordered set.
Andreas Gampe [Wed, 3 Sep 2014 00:54:33 +0000 (00:54 +0000)]
am
4d05d931: Merge "ART: Fix read-out-of-bounds in the compiler" into lmp-dev
* commit '
4d05d931d3d608f5047e0d9dfb422df018ace716':
ART: Fix read-out-of-bounds in the compiler
Mathieu Chartier [Wed, 3 Sep 2014 00:54:32 +0000 (00:54 +0000)]
am
635531a2: Merge "Change native allocations to use growth limit." into lmp-dev
* commit '
635531a2d99f413339187ce39b08affdf1b31d9f':
Change native allocations to use growth limit.
Ian Rogers [Wed, 3 Sep 2014 00:54:32 +0000 (00:54 +0000)]
am
37bb8184: Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes." into lmp-dev
* commit '
37bb8184e091e8d9199cfc2fc888dfb40a5c0f20':
Pre-allocate the NoClassDefFoundError to be thrown for boot classes.
Ian Rogers [Wed, 3 Sep 2014 00:54:31 +0000 (00:54 +0000)]
am
9db18e16: Merge "Reduce and speed-up class def searches." into lmp-dev
* commit '
9db18e1679800bc57c1e30f7c5ff786949ffe5cf':
Reduce and speed-up class def searches.
Andreas Gampe [Wed, 3 Sep 2014 00:54:30 +0000 (00:54 +0000)]
am
e610faf9: Merge "ART: Tighten verifier list reading and offsets" into lmp-dev
* commit '
e610faf917fd280fa0d9e02d5c2d0dbacbb037b7':
ART: Tighten verifier list reading and offsets
Mathieu Chartier [Wed, 3 Sep 2014 00:36:08 +0000 (17:36 -0700)]
Fix native allocation test.
Forgot to update with last CL.
(cherry picked from commit
c60bdf667b5c6fa767548942f0115547523593b4)
Change-Id: I41ad168a5906ca07938bdd212a55f0e995ee5df7
Mathieu Chartier [Tue, 2 Sep 2014 23:21:01 +0000 (16:21 -0700)]
Change native allocations to use growth limit.
Previously native allocation tracking used a GC footprint limit
which would cause GC in the allocating thread. This prevented
excessive growth of the heap but could cause jank due to GC in
the allocating thread. The new behavior is using the growth_limit
instead of the native footprint limit.
(cherry picked from commit
d9819ecc0bc21a2bb356a4de9b013e36fe618627)
Change-Id: Ia40ed830e8c674cc49d4c0a6fd773d6cb8ff97fa
Mathieu Chartier [Wed, 3 Sep 2014 00:47:15 +0000 (00:47 +0000)]
Merge "Add missing read barriers to intern table."
Mathieu Chartier [Wed, 3 Sep 2014 00:36:08 +0000 (17:36 -0700)]
Fix native allocation test.
Forgot to update with last CL.
Change-Id: Id2f57870b8d4f848cd93012d9da69beee5184be4
Andreas Gampe [Wed, 3 Sep 2014 00:31:30 +0000 (00:31 +0000)]
Merge "ART: Fix read-out-of-bounds in the compiler"
Ian Rogers [Wed, 3 Sep 2014 00:25:45 +0000 (00:25 +0000)]
am
d3c93585: Merge "Disable SignalTest with GC stress."
* commit '
d3c9358544bbab15093614c5c2b6a9de86e11f7b':
Disable SignalTest with GC stress.
Andreas Gampe [Wed, 27 Aug 2014 21:24:42 +0000 (14:24 -0700)]
ART: Fix read-out-of-bounds in the compiler
In case of a wide dalvik register, asking for the constant value
can lead to a read out of bounds.
Bug:
17302671
(cherry picked from commit
ade731854d18839823e57fb2d3d67238c5467d15)
Change-Id: Ie1849cd67cc418c97cbd7a8524f027f9b66e4c96
Andreas Gampe [Wed, 3 Sep 2014 00:24:14 +0000 (00:24 +0000)]
Merge "ART: Fix read-out-of-bounds in the compiler" into lmp-dev
Mathieu Chartier [Wed, 3 Sep 2014 00:07:28 +0000 (00:07 +0000)]
Merge "Change native allocations to use growth limit." into lmp-dev
Andreas Gampe [Wed, 3 Sep 2014 00:06:22 +0000 (00:06 +0000)]
Merge "ART: Tighten verifier list reading and offsets"
Mathieu Chartier [Tue, 2 Sep 2014 23:21:01 +0000 (16:21 -0700)]
Change native allocations to use growth limit.
Previously native allocation tracking used a GC footprint limit
which would cause GC in the allocating thread. This prevented
excessive growth of the heap but could cause jank due to GC in
the allocating thread. The new behavior is using the growth_limit
instead of the native footprint limit.
Bug:
17006948
Change-Id: I40f30af09bb25596a9f57fa50e2a155fb947b5fe
Ian Rogers [Tue, 2 Sep 2014 23:56:37 +0000 (23:56 +0000)]
Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes." into lmp-dev
Ian Rogers [Tue, 2 Sep 2014 23:56:14 +0000 (23:56 +0000)]
Merge "Reduce and speed-up class def searches." into lmp-dev
Andreas Gampe [Tue, 2 Sep 2014 18:17:34 +0000 (11:17 -0700)]
ART: Tighten verifier list reading and offsets
Check offsets and sizes for header entries of a dex file.
Bug:
17347459
(cherry picked from commit
78d639ef4be3ad7314846e1e6c1261d7d30f83fa)
Change-Id: Ia1727c33dea51f7a8e345f3799f1ba414708239c
Andreas Gampe [Tue, 2 Sep 2014 23:51:42 +0000 (23:51 +0000)]
Merge "ART: Tighten verifier list reading and offsets" into lmp-dev
Mathieu Chartier [Tue, 2 Sep 2014 23:20:45 +0000 (16:20 -0700)]
Add missing read barriers to intern table.
Also deleted GcRoot::Assign.
Change-Id: Ib1ea739cf79c72fc92a8628cd9095c11b660e018
Mathieu Chartier [Tue, 2 Sep 2014 23:42:02 +0000 (23:42 +0000)]
Merge "Change intern table to unordered set."
Ian Rogers [Tue, 2 Sep 2014 23:32:25 +0000 (23:32 +0000)]
Merge "Disable SignalTest with GC stress."
Junmo Park [Sat, 30 Aug 2014 11:13:02 +0000 (20:13 +0900)]
Fix SetupResourceMasks to pass correct parameters
Calling SetupTargetResourceMasks function with correct parameter.
SetupTargetResourceMasks(lir, flags, use_mask, def_mask) is correct order.
Change-Id: I49118c3f2d3d06fac83fa3d5014b7fdaff6a2b00
Signed-off-by: Junmo Park <junmoz.park@samsung.com>
Ian Rogers [Wed, 4 Jun 2014 23:57:15 +0000 (16:57 -0700)]
Pre-allocate the NoClassDefFoundError to be thrown for boot classes.
Bring over a Dalvik "optimization".
Bug:
12804658
Bug:
16853450
Change-Id: I6419de7bd2ba18d91479cb52489104954f5c4524
(cherry picked from commit
63557459a4098294a9ff44d035241de2966047c0)
Ian Rogers [Sat, 30 Aug 2014 03:19:11 +0000 (20:19 -0700)]
Reduce and speed-up class def searches.
Use the class linker for descriptor lookups from the compile driver so that
dex caches are populated.
Reduce the scope of functions for scanning class paths to just the class
linker where they are performed.
If we see more than a threshold number of find class def misses on a dex file
lazily compute an index, so that future lookups are constant time (part of the
collection code is taken from
https://android-review.googlesource.com/#/c/103865/3). Note that we take a lazy
approach so that we don't serialize on loading dex files, this avoids the
reason the index was removed in
8b2c0b9abc3f520495f4387ea040132ba85cae69.
Remove an implicit and unnecessary std::string creation for PrintableString.
Single threaded interpret-only dex2oat performance is improved by roughly 10%.
Bug:
16853450
Change-Id: Icf72df76b0a4328f2a24075e81f4ff267b9401f4
(cherry picked from commit
68b56858367e29461ae290fd797443a1ef6d8005)
Ian Rogers [Tue, 2 Sep 2014 22:59:28 +0000 (15:59 -0700)]
Disable SignalTest with GC stress.
Also, only add to broken tests list run-tests that will be generated.
Change-Id: Ibd363c059c799110da7f3f5ec8ceba55277d5e0e
Ian Rogers [Tue, 2 Sep 2014 23:02:57 +0000 (23:02 +0000)]
am
d40b810c: Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes."
* commit '
d40b810c6fcd1e3b641b9f3d37ab097b49e098e3':
Pre-allocate the NoClassDefFoundError to be thrown for boot classes.
buzbee [Tue, 2 Sep 2014 22:39:57 +0000 (15:39 -0700)]
Quick compiler, aarch64: Insane sanity checker
Fix bit-mask generation used in the sanity checking code
for long division by small constants via multiplication. The
failing case was a 64-bit wide mask. The macro was using the
desired width of the result as a shift count - and a left
shift of a 64-bit integer by 64 bits is undefined.
Note that the generated code is correct - it's just the sanity
checking code that was wrong.
Change-Id: Ic6654662f848d3caab2c3b1ef0d92fe2eb9673f4