OSDN Git Service

android-x86/art.git
9 years agoresolved conflicts for merge of ac4d0dae to lmp-dev-plus-aosp
Brian Carlstrom [Fri, 5 Sep 2014 20:01:41 +0000 (13:01 -0700)]
resolved conflicts for merge of ac4d0dae to lmp-dev-plus-aosp

Change-Id: Icaa559f50347059de7ebf61eb3587789b6fc6738

9 years agoam 2c63eee3: Merge "Fix numerous issues with DdmVmInternal allocation tracking" into...
Brian Carlstrom [Fri, 5 Sep 2014 19:07:47 +0000 (19:07 +0000)]
am 2c63eee3: Merge "Fix numerous issues with DdmVmInternal allocation tracking" into lmp-dev

* commit '2c63eee334bca18536060eea2e4a2f7883ef8eb9':
  Fix numerous issues with DdmVmInternal allocation tracking

9 years agoMerge "Fix numerous issues with DdmVmInternal allocation tracking" into lmp-dev
Brian Carlstrom [Fri, 5 Sep 2014 18:54:44 +0000 (18:54 +0000)]
Merge "Fix numerous issues with DdmVmInternal allocation tracking" into lmp-dev

9 years agoFix numerous issues with DdmVmInternal allocation tracking
Brian Carlstrom [Fri, 5 Sep 2014 05:15:18 +0000 (22:15 -0700)]
Fix numerous issues with DdmVmInternal allocation tracking

Issues addressed:
- Using without JDWP attached caused native crash.
- When buffer is full (64k entries), number of entries reported was 0.
- Disabling tracking after disabling tracking caused native crash.
- Asking for allocations after disabled caused native crash.
- Lock ordering issues between mutator lock and alloc tracker lock.

Adding 098-ddmc test to cover these cases.

Bug: 17392248
Change-Id: I45c0abbfb3dd7a7421aea3bbba2ea8d05225e48b

9 years agoam b1433990: Merge "Revert "Revert "x86: Fix art_quick_instrumentation_exit"""
Andreas Gampe [Fri, 5 Sep 2014 17:36:10 +0000 (17:36 +0000)]
am b1433990: Merge "Revert "Revert "x86: Fix art_quick_instrumentation_exit"""

* commit 'b14339904c9cacc4af74260c7325e4eb32947f95':
  Revert "Revert "x86: Fix art_quick_instrumentation_exit""

9 years agoam e5de8832: Merge "ART: X86: Improve multiply in div/rem by literal"
Ian Rogers [Fri, 5 Sep 2014 17:30:14 +0000 (17:30 +0000)]
am e5de8832: Merge "ART: X86: Improve multiply in div/rem by literal"

* commit 'e5de88328353cbd4f3b313d26529ebb9c10c41c3':
  ART: X86: Improve multiply in div/rem by literal

9 years agoMerge "Revert "Revert "x86: Fix art_quick_instrumentation_exit"""
Andreas Gampe [Fri, 5 Sep 2014 17:19:23 +0000 (17:19 +0000)]
Merge "Revert "Revert "x86: Fix art_quick_instrumentation_exit"""

9 years agoMerge "ART: X86: Improve multiply in div/rem by literal"
Ian Rogers [Fri, 5 Sep 2014 17:10:25 +0000 (17:10 +0000)]
Merge "ART: X86: Improve multiply in div/rem by literal"

9 years agoam 0c2bd8df: am b100ff4f: Merge "Avoid recomputing the dex checksum during class...
Calin Juravle [Fri, 5 Sep 2014 17:08:01 +0000 (17:08 +0000)]
am 0c2bd8df: am b100ff4f: Merge "Avoid recomputing the dex checksum during class loading" into lmp-dev

* commit '0c2bd8df9a2d26927d3019b72066c2afe1aa9666':
  Avoid recomputing the dex checksum during class loading

9 years agoam cd3e79c4: Merge "Avoid recomputing the dex checksum during class loading"
Calin Juravle [Fri, 5 Sep 2014 15:49:47 +0000 (15:49 +0000)]
am cd3e79c4: Merge "Avoid recomputing the dex checksum during class loading"

* commit 'cd3e79c4bf3a6e148566d33f05f5f0a512eb9673':
  Avoid recomputing the dex checksum during class loading

9 years agoam 51232859: Merge "Remove unreachable code from class_linker.cc"
Calin Juravle [Fri, 5 Sep 2014 15:43:05 +0000 (15:43 +0000)]
am 51232859: Merge "Remove unreachable code from class_linker.cc"

* commit '5123285945f309dc7293a860bcae2bc724540fed':
  Remove unreachable code from class_linker.cc

9 years agoam 194b032b: Merge "Revert "x86: Fix art_quick_instrumentation_exit""
Andreas Gampe [Fri, 5 Sep 2014 15:43:03 +0000 (15:43 +0000)]
am 194b032b: Merge "Revert "x86: Fix art_quick_instrumentation_exit""

* commit '194b032b6d43299e117292494064d54ecf4ddbd8':
  Revert "x86: Fix art_quick_instrumentation_exit"

9 years agoam b100ff4f: Merge "Avoid recomputing the dex checksum during class loading" into...
Calin Juravle [Fri, 5 Sep 2014 15:42:37 +0000 (15:42 +0000)]
am b100ff4f: Merge "Avoid recomputing the dex checksum during class loading" into lmp-dev

* commit 'b100ff4f21e034172be9669b18851829bb51e567':
  Avoid recomputing the dex checksum during class loading

9 years agoMerge "Avoid recomputing the dex checksum during class loading"
Calin Juravle [Fri, 5 Sep 2014 15:35:19 +0000 (15:35 +0000)]
Merge "Avoid recomputing the dex checksum during class loading"

9 years agoAvoid recomputing the dex checksum during class loading
Calin Juravle [Tue, 2 Sep 2014 14:53:55 +0000 (15:53 +0100)]
Avoid recomputing the dex checksum during class loading

Thread the already computed checksum to VerifyOatAndDexFileChecksums and
LoadMultiDexFilesFromOatFile to avoid recomputing it.

Bug:17346103

(cherry picked from commit ca3459398018360d9968a52eebf727df085caf83)

Change-Id: Ie244efaca55b9e7c814b35feec7fce11fab3856d

9 years agoMerge "Avoid recomputing the dex checksum during class loading" into lmp-dev
Calin Juravle [Fri, 5 Sep 2014 15:33:21 +0000 (15:33 +0000)]
Merge "Avoid recomputing the dex checksum during class loading" into lmp-dev

9 years agoMerge "Remove unreachable code from class_linker.cc"
Calin Juravle [Fri, 5 Sep 2014 15:26:00 +0000 (15:26 +0000)]
Merge "Remove unreachable code from class_linker.cc"

9 years agoRemove unreachable code from class_linker.cc
Calin Juravle [Fri, 5 Sep 2014 15:14:19 +0000 (16:14 +0100)]
Remove unreachable code from class_linker.cc

If the checksum doesn't match the oat_dex_file will be NULL, a case
which is handled in the first if.

Bug: 17402267

Change-Id: If8547ddc8fd7eff59a3b7dd36c07ac4ceb351361

9 years agoART: X86: Improve multiply in div/rem by literal
Mark Mendell [Tue, 2 Sep 2014 16:44:24 +0000 (12:44 -0400)]
ART: X86: Improve multiply in div/rem by literal

Rewrite the multiplication of the magic number by the dividend to save
one instruction by multiplying directly from the dividend, rather than
loading the dividend into EAX/RAX first.

Change-Id: I7934243d90c0739a7f11a8d70f6fb2c000144587
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoAvoid recomputing the dex checksum during class loading
Calin Juravle [Tue, 2 Sep 2014 14:53:55 +0000 (15:53 +0100)]
Avoid recomputing the dex checksum during class loading

Thread the already computed checksum to VerifyOatAndDexFileChecksums and
LoadMultiDexFilesFromOatFile to avoid recomputing it.

Bug:17346103
Change-Id: Ifa0c1cad952853751e98cbb3c999631b9909a9f9

9 years agoRevert "Revert "x86: Fix art_quick_instrumentation_exit""
Andreas Gampe [Fri, 5 Sep 2014 05:43:34 +0000 (05:43 +0000)]
Revert "Revert "x86: Fix art_quick_instrumentation_exit""

Need to use GOT to avoid TEXTREL.

This reverts commit 62aa66f8532b8eb44e882596010b33e7781b0754.

Change-Id: Ife659c28d621596ad288999fa128dcf32fc0b1c7

9 years agoMerge "Revert "x86: Fix art_quick_instrumentation_exit""
Andreas Gampe [Fri, 5 Sep 2014 05:02:20 +0000 (05:02 +0000)]
Merge "Revert "x86: Fix art_quick_instrumentation_exit""

9 years agoRevert "x86: Fix art_quick_instrumentation_exit"
Andreas Gampe [Fri, 5 Sep 2014 05:02:08 +0000 (05:02 +0000)]
Revert "x86: Fix art_quick_instrumentation_exit"

GCC 4.8 can't handle it correctly.

This reverts commit 5324dc896b69fc14a24334f52169e2319b9b3842.

Change-Id: I2478a52f147b585658d0e5769c3fce7f2c75240e

9 years agoam 4229998b: Merge "x86: Fix art_quick_instrumentation_exit"
Andreas Gampe [Fri, 5 Sep 2014 03:18:57 +0000 (03:18 +0000)]
am 4229998b: Merge "x86: Fix art_quick_instrumentation_exit"

* commit '4229998b4e5f69763489732e1048da6b77dd2a34':
  x86: Fix art_quick_instrumentation_exit

9 years agoMerge "x86: Fix art_quick_instrumentation_exit"
Andreas Gampe [Fri, 5 Sep 2014 02:56:43 +0000 (02:56 +0000)]
Merge "x86: Fix art_quick_instrumentation_exit"

9 years agox86: Fix art_quick_instrumentation_exit
Dmitry Petrochenko [Wed, 27 Aug 2014 11:45:56 +0000 (18:45 +0700)]
x86: Fix art_quick_instrumentation_exit

Make sure that we use a move-immediate instead of a
move-from-address (previously this was a load, whereas now
we are interested in the address as a value).

Change-Id: I4048c4a97abcc6524fe976bdc35b834d8f3bc592
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
9 years agoam 967b7c31: Merge "Add test case for runFinalization."
Mathieu Chartier [Thu, 4 Sep 2014 23:22:49 +0000 (23:22 +0000)]
am 967b7c31: Merge "Add test case for runFinalization."

* commit '967b7c3196d441667d7651dea73a5e4b3178ccc6':
  Add test case for runFinalization.

9 years agoam ed20a4d8: Merge "Fix arm64 build warning (promoted to error)."
Dave Allison [Thu, 4 Sep 2014 23:22:40 +0000 (23:22 +0000)]
am ed20a4d8: Merge "Fix arm64 build warning (promoted to error)."

* commit 'ed20a4d80bcd8d47b5bcdd51ef17c786c0e5015c':
  Fix arm64 build warning (promoted to error).

9 years agoam 0e59bf8b: Merge "ART: Change ART for new native bridge sequence"
Andreas Gampe [Thu, 4 Sep 2014 23:22:28 +0000 (23:22 +0000)]
am 0e59bf8b: Merge "ART: Change ART for new native bridge sequence"

* commit '0e59bf8b767e9be7ea22c67011ea902d597fe43f':
  ART: Change ART for new native bridge sequence

9 years agoMerge "Add test case for runFinalization."
Mathieu Chartier [Thu, 4 Sep 2014 22:32:40 +0000 (22:32 +0000)]
Merge "Add test case for runFinalization."

9 years agoam 552da669: Merge "ART: Fix host run-test script"
Andreas Gampe [Thu, 4 Sep 2014 22:20:53 +0000 (22:20 +0000)]
am 552da669: Merge "ART: Fix host run-test script"

* commit '552da6697f77b1d94a69b0ba54509a25a0de3ae7':
  ART: Fix host run-test script

9 years agoAdd test case for runFinalization.
Mathieu Chartier [Thu, 4 Sep 2014 21:15:35 +0000 (14:15 -0700)]
Add test case for runFinalization.

There was a bug causing runFinalization to return before recently
freed objects were finalized. This is a regression test for this bug.

Bug: 17381967
Change-Id: Ide6e2037685324423e83965fae3935f3e7f0aba6

9 years agoMerge "Fix arm64 build warning (promoted to error)."
Dave Allison [Thu, 4 Sep 2014 21:59:58 +0000 (21:59 +0000)]
Merge "Fix arm64 build warning (promoted to error)."

9 years agoMerge "ART: Change ART for new native bridge sequence"
Andreas Gampe [Thu, 4 Sep 2014 21:47:08 +0000 (21:47 +0000)]
Merge "ART: Change ART for new native bridge sequence"

9 years agoMerge "ART: Fix host run-test script"
Andreas Gampe [Thu, 4 Sep 2014 21:37:19 +0000 (21:37 +0000)]
Merge "ART: Fix host run-test script"

9 years agoFix arm64 build warning (promoted to error).
Dave Allison [Thu, 4 Sep 2014 21:33:42 +0000 (14:33 -0700)]
Fix arm64 build warning (promoted to error).

This refactors code that caused an warning on the arm64 build.

Change-Id: I1c0ddabb7061ea289d98b03554bf764c26256078

9 years agoART: Fix host run-test script
Andreas Gampe [Thu, 4 Sep 2014 21:19:51 +0000 (14:19 -0700)]
ART: Fix host run-test script

When using gdb, do not pipe and grep. GDB is interactive...

Change-Id: Idd944a8ff7a8c254f47c840bc5b2c1e352e8b105

9 years agoam 972d6747: am cb7c0e9e: Ensure alternate signal stack is minimum size.
Ian Rogers [Thu, 4 Sep 2014 19:58:07 +0000 (19:58 +0000)]
am 972d6747: am cb7c0e9e: Ensure alternate signal stack is minimum size.

* commit '972d6747b6ddb75d929e96732a492d6b023e652a':
  Ensure alternate signal stack is minimum size.

9 years agoART: Change ART for new native bridge sequence
Andreas Gampe [Wed, 3 Sep 2014 04:22:18 +0000 (21:22 -0700)]
ART: Change ART for new native bridge sequence

Initialize or unload after a fork.

Change-Id: I5a20de1cb68dd1802937b369b14c50c9c1031c67

9 years agoam cb7c0e9e: Ensure alternate signal stack is minimum size.
Ian Rogers [Thu, 4 Sep 2014 19:43:33 +0000 (19:43 +0000)]
am cb7c0e9e: Ensure alternate signal stack is minimum size.

* commit 'cb7c0e9eb785a8d605da5d5b26ab265d4d635f1e':
  Ensure alternate signal stack is minimum size.

9 years agoEnsure alternate signal stack is minimum size.
Ian Rogers [Wed, 13 Aug 2014 21:37:26 +0000 (14:37 -0700)]
Ensure alternate signal stack is minimum size.

On Mac a sigaltstack may need to be 32KB, setting it to 16KB causes
sigaltstack to fail.

(cherry picked from commit c24a1e00b13a7ebf10dd896f6a18b1ad09617ec7)

Change-Id: Ic06d80f1acf5c4eb3d2dd1156bfa2805ab0df492

9 years agoam 91bb35cb: Merge "Make nested signal more generic"
Dave Allison [Thu, 4 Sep 2014 18:23:37 +0000 (18:23 +0000)]
am 91bb35cb: Merge "Make nested signal more generic"

* commit '91bb35cb7d5bb5dd28201d4334dace3546c376e6':
  Make nested signal more generic

9 years agoam 5250180c: Merge "Fix heap trimmer daemon sleeping."
Mathieu Chartier [Thu, 4 Sep 2014 18:15:04 +0000 (18:15 +0000)]
am 5250180c: Merge "Fix heap trimmer daemon sleeping."

* commit '5250180c6783901c5e8cb580fe7d53890af6291c':
  Fix heap trimmer daemon sleeping.

9 years agoMerge "Make nested signal more generic"
Dave Allison [Thu, 4 Sep 2014 18:06:25 +0000 (18:06 +0000)]
Merge "Make nested signal more generic"

9 years agoam 2a462670: am bbcd0a75: Merge "Fix heap trimmer daemon sleeping." into lmp-dev
Mathieu Chartier [Thu, 4 Sep 2014 18:03:07 +0000 (18:03 +0000)]
am 2a462670: am bbcd0a75: Merge "Fix heap trimmer daemon sleeping." into lmp-dev

* commit '2a4626708d2c8fa2f456021428ff008f8c907a08':
  Fix heap trimmer daemon sleeping.

9 years agoMerge "Fix heap trimmer daemon sleeping."
Mathieu Chartier [Thu, 4 Sep 2014 17:51:02 +0000 (17:51 +0000)]
Merge "Fix heap trimmer daemon sleeping."

9 years agoam bbcd0a75: Merge "Fix heap trimmer daemon sleeping." into lmp-dev
Mathieu Chartier [Thu, 4 Sep 2014 17:51:00 +0000 (17:51 +0000)]
am bbcd0a75: Merge "Fix heap trimmer daemon sleeping." into lmp-dev

* commit 'bbcd0a75324dd9554109d91f2e9f7ae5d4c4a28a':
  Fix heap trimmer daemon sleeping.

9 years agoam 217dc450: Merge "VisitClassesWithoutClassesLock isn\'t safe if classes move."
Ian Rogers [Thu, 4 Sep 2014 17:46:15 +0000 (17:46 +0000)]
am 217dc450: Merge "VisitClassesWithoutClassesLock isn\'t safe if classes move."

* commit '217dc450cf0fef8539beaded77c704cfcb6669e9':
  VisitClassesWithoutClassesLock isn't safe if classes move.

9 years agoFix heap trimmer daemon sleeping.
Mathieu Chartier [Thu, 4 Sep 2014 04:26:36 +0000 (21:26 -0700)]
Fix heap trimmer daemon sleeping.

Problem:
Heap trimmer daemon sleeping caused app launch occasionally to take a
while due stopping the heap trimming thread taking a long time.

The heap trimmer thread now never sleeps, we prevent issues caused
by frequent back and forth process state changes by only
transitioning to background if it has been kCollectorTransitionWait
time since the last transition to background. Similar logic for heap
trimming.

(cherry picked from commit 698b44634396e8111e96e1116586fde89a838347)

Change-Id: I5b2894e92eb79351eec35078d49c8457d2fd67a8

9 years agoMerge "Fix heap trimmer daemon sleeping." into lmp-dev
Mathieu Chartier [Thu, 4 Sep 2014 17:38:39 +0000 (17:38 +0000)]
Merge "Fix heap trimmer daemon sleeping." into lmp-dev

9 years agoFix heap trimmer daemon sleeping.
Mathieu Chartier [Thu, 4 Sep 2014 04:26:36 +0000 (21:26 -0700)]
Fix heap trimmer daemon sleeping.

Problem:
Heap trimmer daemon sleeping caused app launch occasionally to take a
while due stopping the heap trimming thread taking a long time.

The heap trimmer thread now never sleeps, we prevent issues caused
by frequent back and forth process state changes by only
transitioning to background if it has been kCollectorTransitionWait
time since the last transition to background. Similar logic for heap
trimming.

Bug: 17310019

Change-Id: I23980421cc388f36b66a4c03ed15dd11d43f59b5

9 years agoresolved conflicts for merge of 7b04ae29 to lmp-dev-plus-aosp
Ian Rogers [Thu, 4 Sep 2014 17:31:03 +0000 (10:31 -0700)]
resolved conflicts for merge of 7b04ae29 to lmp-dev-plus-aosp

Change-Id: I14be394092fb83ef2707614e3a9822acb4306d72

9 years agoMake nested signal more generic
Dave Allison [Fri, 29 Aug 2014 19:06:16 +0000 (12:06 -0700)]
Make nested signal more generic

This moves the nested signal catching code up to a slightly higher
level in the fault manager.  Originally it was down in the DumpJavaStack
function but it needs to be up in the caller of that to allow for other
handlers like the stack dumper.

Change-Id: I31029f555dd9b501f4b5c0ed5c95777004873126

9 years agoMerge "VisitClassesWithoutClassesLock isn't safe if classes move."
Ian Rogers [Thu, 4 Sep 2014 17:23:53 +0000 (17:23 +0000)]
Merge "VisitClassesWithoutClassesLock isn't safe if classes move."

9 years agoMerge "Fix stack overflow and duplicate methods while tracing."
Ian Rogers [Thu, 4 Sep 2014 17:09:14 +0000 (17:09 +0000)]
Merge "Fix stack overflow and duplicate methods while tracing."

9 years agoam 3c2559a1: am 57f2bbda: ART: Fix x86_64 GenSelect case when destination is Ref
Jean Christophe Beyler [Thu, 4 Sep 2014 17:07:01 +0000 (17:07 +0000)]
am 3c2559a1: am 57f2bbda: ART: Fix x86_64 GenSelect case when destination is Ref

* commit '3c2559a194fce54300e6e1d86f6c2ce57ff25e4d':
  ART: Fix x86_64 GenSelect case when destination is Ref

9 years agoFix 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
(cherry picked from commit 6b28a456b075fe53dfb7e924a44dbf35d0d41eb3)

9 years agoam 57f2bbda: ART: Fix x86_64 GenSelect case when destination is Ref
Jean Christophe Beyler [Thu, 4 Sep 2014 16:55:10 +0000 (16:55 +0000)]
am 57f2bbda: ART: Fix x86_64 GenSelect case when destination is Ref

* commit '57f2bbda741d2d3d769a50268b4e0b9b54959684':
  ART: Fix x86_64 GenSelect case when destination is Ref

9 years agoam 53558354: Merge "ART: Fix x86_64 GenSelect case when destination is Ref"
Ian Rogers [Thu, 4 Sep 2014 16:32:23 +0000 (16:32 +0000)]
am 53558354: Merge "ART: Fix x86_64 GenSelect case when destination is Ref"

* commit '5355835411cafcc2772e061cb7aef3b8ca1e6ea1':
  ART: Fix x86_64 GenSelect case when destination is Ref

9 years agoART: Fix x86_64 GenSelect case when destination is Ref
Jean Christophe Beyler [Thu, 4 Sep 2014 15:34:28 +0000 (08:34 -0700)]
ART: Fix x86_64 GenSelect case when destination is Ref

Reference in x86_64 is a 64-bit solo register. As a result, the invocation
  of OpRegImm results in an error when Select opcode of the kind:
    ref = boolean ? null : null;
because opRegImm does not support 64-bit destination for OpMov.

The case above is only possible for ref because no one other constant except
  null is possible.

Bug: 17327895
Change-Id: I7541e744ec1c8619711712fd17be72764efcf3a8
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
(cherry picked from commit 3f51e7d942c22edaab3a7e703a1e6a2dd6a26f77)

9 years agoMerge "ART: Fix x86_64 GenSelect case when destination is Ref"
Ian Rogers [Thu, 4 Sep 2014 16:14:37 +0000 (16:14 +0000)]
Merge "ART: Fix x86_64 GenSelect case when destination is Ref"

9 years agoART: Fix x86_64 GenSelect case when destination is Ref
Jean Christophe Beyler [Thu, 4 Sep 2014 15:34:28 +0000 (08:34 -0700)]
ART: Fix x86_64 GenSelect case when destination is Ref

Reference in x86_64 is a 64-bit solo register. As a result, the invocation
  of OpRegImm results in an error when Select opcode of the kind:
    ref = boolean ? null : null;
because opRegImm does not support 64-bit destination for OpMov.

The case above is only possible for ref because no one other constant except
  null is possible.

Bug: 17327895
Change-Id: I7541e744ec1c8619711712fd17be72764efcf3a8
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoam 90fd7f57: am 607dcd8a: Merge "ART: Fix computation of frame size for direct proxy...
Ian Rogers [Thu, 4 Sep 2014 16:10:58 +0000 (16:10 +0000)]
am 90fd7f57: am 607dcd8a: Merge "ART: Fix computation of frame size for direct proxy methods" into lmp-dev

* commit '90fd7f5762bfbc9009fb1acfeb7815fb2ca6cfb9':
  ART: Fix computation of frame size for direct proxy methods

9 years agoam f96ad932: Merge "ART: Reduce LockCallTemps usage"
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

9 years agoam 607dcd8a: Merge "ART: Fix computation of frame size for direct proxy methods"...
Ian Rogers [Thu, 4 Sep 2014 15:59:36 +0000 (15:59 +0000)]
am 607dcd8a: Merge "ART: Fix computation of frame size for direct proxy methods" into lmp-dev

* commit '607dcd8a2aca4e44a564b7839c285315230545fd':
  ART: Fix computation of frame size for direct proxy methods

9 years agoam 2fb54e87: Merge "ART: Allow oatdump to print vr stack locations"
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

9 years agoMerge "ART: Fix computation of frame size for direct proxy methods" into lmp-dev
Ian Rogers [Thu, 4 Sep 2014 15:53:16 +0000 (15:53 +0000)]
Merge "ART: Fix computation of frame size for direct proxy methods" into lmp-dev

9 years agoMerge "ART: Reduce LockCallTemps usage"
Ian Rogers [Thu, 4 Sep 2014 15:48:22 +0000 (15:48 +0000)]
Merge "ART: Reduce LockCallTemps usage"

9 years agoART: 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>
9 years agoam 328c430e: Merge "ART: Vectorization opcode implementation fixes"
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

9 years agoMerge "ART: Allow oatdump to print vr stack locations"
Ian Rogers [Thu, 4 Sep 2014 15:36:20 +0000 (15:36 +0000)]
Merge "ART: Allow oatdump to print vr stack locations"

9 years agoART: 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>
9 years agoam d73f52b1: Merge "Add numerator check for integer divide and modulo"
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

9 years agoam bfa2b553: Merge "ART: Only call CalculateBasicBlockInformation once"
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

9 years agoMerge "ART: Vectorization opcode implementation fixes"
Ian Rogers [Thu, 4 Sep 2014 15:27:29 +0000 (15:27 +0000)]
Merge "ART: Vectorization opcode implementation fixes"

9 years agoMerge "Add numerator check for integer divide and modulo"
Ian Rogers [Thu, 4 Sep 2014 15:20:55 +0000 (15:20 +0000)]
Merge "Add numerator check for integer divide and modulo"

9 years agoMerge "ART: Only call CalculateBasicBlockInformation once"
Ian Rogers [Thu, 4 Sep 2014 15:14:44 +0000 (15:14 +0000)]
Merge "ART: Only call CalculateBasicBlockInformation once"

9 years agoART: 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>
9 years agoam 7b3dd82b: Merge "ART: Fix computation of frame size for direct proxy methods"
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

9 years agoART: 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>
(cherry picked from commit 805bab1738549b2477b3ad4d9d57fd7c681451b9)

9 years agoMerge "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"

9 years agoART: 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>
9 years agoam 23628703: Merge "Fix native allocation watermark clamping."
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.

9 years agoam d83f82c8: am e1a86627: Merge "Fix native allocation watermark clamping." into...
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.

9 years agoMerge "Fix native allocation watermark clamping."
Mathieu Chartier [Thu, 4 Sep 2014 04:36:08 +0000 (04:36 +0000)]
Merge "Fix native allocation watermark clamping."

9 years agoFix 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

9 years agoam e1a86627: Merge "Fix native allocation watermark clamping." into lmp-dev
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.

9 years agoMerge "Fix native allocation watermark clamping." into lmp-dev
Mathieu Chartier [Thu, 4 Sep 2014 04:23:13 +0000 (04:23 +0000)]
Merge "Fix native allocation watermark clamping." into lmp-dev

9 years agoam badae981: Merge "Add exception check to AllocateInternalWithGc"
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

9 years agoFix 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
Change-Id: I188cb530a44dd109e066a22091f12f8d2d4350c3

9 years agoMerge "Add exception check to AllocateInternalWithGc"
Mathieu Chartier [Thu, 4 Sep 2014 03:32:56 +0000 (03:32 +0000)]
Merge "Add exception check to AllocateInternalWithGc"

9 years agoam dbddcf7c: am c4978258: Merge "Add exception check to AllocateInternalWithGc" into...
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

9 years agoam c4978258: Merge "Add exception check to AllocateInternalWithGc" into lmp-dev
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

9 years agoAdd 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

9 years agoMerge "Add exception check to AllocateInternalWithGc" into lmp-dev
Mathieu Chartier [Thu, 4 Sep 2014 02:29:14 +0000 (02:29 +0000)]
Merge "Add exception check to AllocateInternalWithGc" into lmp-dev

9 years agoam a07557cc: Merge "Remove abuse of mirror::Object* to reference special values."
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.

9 years agoVisitClassesWithoutClassesLock isn't safe if classes move.
Ian Rogers [Fri, 29 Aug 2014 22:40:08 +0000 (15:40 -0700)]
VisitClassesWithoutClassesLock isn't safe if classes move.

Which they do, so avoid by doing an array allocation.
Also, tidy member variables to the end of ClassLinker.
Remove unnecessary mutable. Tidy and fix a locks required/excluded.

Change-Id: I2404a9e7a1ea997d68ab1206f97d2a20dffbda06

9 years agoresolved conflicts for merge of 30558697 to lmp-dev-plus-aosp
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

9 years agoMerge "Remove abuse of mirror::Object* to reference special values."
Ian Rogers [Thu, 4 Sep 2014 00:20:48 +0000 (00:20 +0000)]
Merge "Remove abuse of mirror::Object* to reference special values."

9 years agoRemove 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