OSDN Git Service

android-x86/art.git
9 years agoam c95f840e: Merge "ART: Refactor elf_writer_quick for elf section order" into lmp-dev
Andreas Gampe [Wed, 24 Sep 2014 07:40:57 +0000 (07:40 +0000)]
am c95f840e: Merge "ART: Refactor elf_writer_quick for elf section order" into lmp-dev

* commit 'c95f840e55f0cc4cebefbc3812d351d14d40bc12':
  ART: Refactor elf_writer_quick for elf section order

9 years agoMerge "ART: Refactor elf_writer_quick for elf section order" into lmp-dev
Andreas Gampe [Wed, 24 Sep 2014 07:34:10 +0000 (07:34 +0000)]
Merge "ART: Refactor elf_writer_quick for elf section order" into lmp-dev

9 years agoART: Refactor elf_writer_quick for elf section order
Andreas Gampe [Wed, 24 Sep 2014 05:58:07 +0000 (22:58 -0700)]
ART: Refactor elf_writer_quick for elf section order

This writes ELF sections in approximate order (debug sections are
currently out-of-order) to avoid incompletely written files
appearing OK to ART loading code.

Bug: 17622827
Change-Id: I812fd42fcf2823dbfaf5891bf101d3b59406f263

9 years agoam aa93129c: dex2oat should truncate files opened from file descriptors
Brian Carlstrom [Wed, 24 Sep 2014 05:24:09 +0000 (05:24 +0000)]
am aa93129c: dex2oat should truncate files opened from file descriptors

* commit 'aa93129ca54cc897fdc2c8ddd0a7136f7b5632ed':
  dex2oat should truncate files opened from file descriptors

9 years agodex2oat should truncate files opened from file descriptors
Brian Carlstrom [Wed, 24 Sep 2014 04:13:28 +0000 (21:13 -0700)]
dex2oat should truncate files opened from file descriptors

Bug: 17622827
Change-Id: Iff7df6219d517d140f77d2585d32559b440ac497

9 years agoam 344f4145: Merge "Fix JDWP crash when reporting exception" into lmp-dev
Sebastien Hertz [Mon, 22 Sep 2014 07:49:09 +0000 (07:49 +0000)]
am 344f4145: Merge "Fix JDWP crash when reporting exception" into lmp-dev

* commit '344f4145bdff3c4123d8a1808964ea9761a9edc4':
  Fix JDWP crash when reporting exception

9 years agoMerge "Fix JDWP crash when reporting exception" into lmp-dev
Sebastien Hertz [Mon, 22 Sep 2014 07:40:24 +0000 (07:40 +0000)]
Merge "Fix JDWP crash when reporting exception" into lmp-dev

9 years agoam e1a3950d: Merge "Dump kernel/native stacks of pure native threads." into lmp-dev
Christopher Ferris [Sun, 21 Sep 2014 21:51:35 +0000 (21:51 +0000)]
am e1a3950d: Merge "Dump kernel/native stacks of pure native threads." into lmp-dev

* commit 'e1a3950de3eb46504aef5be693417cb8781564fe':
  Dump kernel/native stacks of pure native threads.

9 years agoMerge "Dump kernel/native stacks of pure native threads." into lmp-dev
Christopher Ferris [Sun, 21 Sep 2014 21:43:05 +0000 (21:43 +0000)]
Merge "Dump kernel/native stacks of pure native threads." into lmp-dev

9 years agoam 503b9b08: Fix sput-wide verification flag.
Logan Chien [Sat, 20 Sep 2014 21:30:28 +0000 (21:30 +0000)]
am 503b9b08: Fix sput-wide verification flag.

* commit '503b9b08a65ce8acd041aa78eb5e490360cff71b':
  Fix sput-wide verification flag.

9 years agoFix sput-wide verification flag.
Logan Chien [Thu, 11 Sep 2014 09:36:05 +0000 (17:36 +0800)]
Fix sput-wide verification flag.

The vA register for sput-wide is a wide register.  Thus, the
verification flag should be kVerifyRegAWide instead of
kVerifyRegA.

Without this change, the invalid Dex bytecode won't be
rejected by VerifyInstruction().  As the result, the
DCHECK_LT() in register_line-inl.h will abort the program.

Change-Id: I24b746d8a85ddaf811d9aebed12a3dd9f97d755f
(cherry picked from commit be8d99c228a76e70a19c1122aabe111c25a2121c)

9 years agoDump kernel/native stacks of pure native threads.
Christopher Ferris [Sat, 20 Sep 2014 00:23:59 +0000 (17:23 -0700)]
Dump kernel/native stacks of pure native threads.

Bug: 16463406
Change-Id: Ifa18d7ec6c60721ce4d3e73944851d1f07372043

9 years agoFix JDWP crash when reporting exception
Sebastien Hertz [Fri, 19 Sep 2014 10:07:51 +0000 (12:07 +0200)]
Fix JDWP crash when reporting exception

The exception's throw location may be null so we need to handle that
case. Also fixes a memset issue.

Bug: 17571297
Change-Id: I954b67207b1ba99a8f3240ce936579dc5644cc69

9 years agoam dcfd6cad: Move spammy logs to JDWP verbose mode
Sebastien Hertz [Fri, 19 Sep 2014 07:50:14 +0000 (07:50 +0000)]
am dcfd6cad: Move spammy logs to JDWP verbose mode

* commit 'dcfd6cad9670ca3ae460a4af0bbe7d88cae21a3c':
  Move spammy logs to JDWP verbose mode

9 years agoam 33c36d4f: ART: Only allow the zygote to create the global boot image
Andreas Gampe [Fri, 19 Sep 2014 06:53:58 +0000 (06:53 +0000)]
am 33c36d4f: ART: Only allow the zygote to create the global boot image

* commit '33c36d4f22ab6a5e61eb47b654deaf647c34e49c':
  ART: Only allow the zygote to create the global boot image

9 years agoMove spammy logs to JDWP verbose mode
Sebastien Hertz [Thu, 18 Sep 2014 08:20:42 +0000 (10:20 +0200)]
Move spammy logs to JDWP verbose mode

We are spammed by warning messages when debugging, especially each time we
suspend/resume all threads (to update instrumentation or collect monitor info).
It's common to get into the cases where these warnings are logged so they
shouldn't be warning but debug messages.

This CL moves these LOG(WARNING) to VLOG(jdwp) to not disturb developers when
debugging their app (especially when looking for specific messages in logcat).
We keep them in JDWP verbose mode because they help knowing when we initiate
these sequences of "suspend/resume all threads".

Also adds debug suspend count in the log message for more context.

Bug: 17524544
Bug: 17170697

(cherry picked from commit f272af4b9dcd39cdd50fa6655601a26e837eaea9)

Change-Id: I61df70ace1475bf10d83202b6bb774f7036354cb

9 years agoART: Only allow the zygote to create the global boot image
Andreas Gampe [Fri, 19 Sep 2014 03:56:04 +0000 (20:56 -0700)]
ART: Only allow the zygote to create the global boot image

Do not allow arbitrary processes, even when root, to write the
boot image in /data/dalvik-cache.

Bug: 174787521751048917439961
Change-Id: Iba2b74be6d0752f4221f4ff5ee295b45a34cb2e1

9 years agoam 63bc11ef: DO NOT MERGE. Only have a portable entrypoint in portable builds.
Ian Rogers [Thu, 18 Sep 2014 18:47:51 +0000 (18:47 +0000)]
am 63bc11ef: DO NOT MERGE. Only have a portable entrypoint in portable builds.

* commit '63bc11efaac0c041e849ab401f9fc368631a00f5':
  DO NOT MERGE. Only have a portable entrypoint in portable builds.

9 years agoDO NOT MERGE. Only have a portable entrypoint in portable builds.
Ian Rogers [Thu, 18 Sep 2014 15:56:45 +0000 (08:56 -0700)]
DO NOT MERGE. Only have a portable entrypoint in portable builds.

Bug: 16214885

Change-Id: Iff7b7415efdbdabd7e6020e221a540f6a774c852

9 years agoam b87baed1: Merge "Update JDWP event filtering to avoid useless ids" into lmp-dev
Sebastien Hertz [Thu, 18 Sep 2014 12:34:54 +0000 (12:34 +0000)]
am b87baed1: Merge "Update JDWP event filtering to avoid useless ids" into lmp-dev

* commit 'b87baed15b03e2c853e285253ac92391572502f8':
  Update JDWP event filtering to avoid useless ids

9 years agoMerge "Update JDWP event filtering to avoid useless ids" into lmp-dev
Sebastien Hertz [Thu, 18 Sep 2014 12:20:26 +0000 (12:20 +0000)]
Merge "Update JDWP event filtering to avoid useless ids" into lmp-dev

9 years agoam bf5d818f: ART: skip compilation of huge methods.
buzbee [Wed, 17 Sep 2014 21:54:01 +0000 (21:54 +0000)]
am bf5d818f: ART: skip compilation of huge methods.

* commit 'bf5d818f7e59ce33521ad81bbab68b1e7a09e0ba':
  ART: skip compilation of huge methods.

9 years agoART: skip compilation of huge methods.
buzbee [Wed, 17 Sep 2014 20:23:58 +0000 (13:23 -0700)]
ART: skip compilation of huge methods.

Besides not being worthwhile to compile, it huge methods could cause
overflow of some internal compiler structures.

internal b/17524219

Change-Id: I0e47ff4757eec265809598830a2616ac367af77d

9 years agoam 177586f5: Merge "Avoid crash in StringReference.Value JDWP command" into lmp-dev
Sebastien Hertz [Wed, 17 Sep 2014 09:54:25 +0000 (09:54 +0000)]
am 177586f5: Merge "Avoid crash in StringReference.Value JDWP command" into lmp-dev

* commit '177586f54b562bea1f5504b917238b6025f3612d':
  Avoid crash in StringReference.Value JDWP command

9 years agoMerge "Avoid crash in StringReference.Value JDWP command" into lmp-dev
Sebastien Hertz [Wed, 17 Sep 2014 09:46:44 +0000 (09:46 +0000)]
Merge "Avoid crash in StringReference.Value JDWP command" into lmp-dev

9 years agoam a4d1aea7: Merge "ART: Avoid recursive abort on thread dump" into lmp-dev
Andreas Gampe [Wed, 17 Sep 2014 04:33:01 +0000 (04:33 +0000)]
am a4d1aea7: Merge "ART: Avoid recursive abort on thread dump" into lmp-dev

* commit 'a4d1aea74c1531c9e90129583354bc0052eb467d':
  ART: Avoid recursive abort on thread dump

9 years agoMerge "ART: Avoid recursive abort on thread dump" into lmp-dev
Andreas Gampe [Wed, 17 Sep 2014 03:31:25 +0000 (03:31 +0000)]
Merge "ART: Avoid recursive abort on thread dump" into lmp-dev

9 years agoam 035592c5: ART: Sync oat file to disk before patching
Andreas Gampe [Wed, 17 Sep 2014 00:17:58 +0000 (00:17 +0000)]
am 035592c5: ART: Sync oat file to disk before patching

* commit '035592c51fee2995a3d90a9043f91a7a3128df2b':
  ART: Sync oat file to disk before patching

9 years agoART: Sync oat file to disk before patching
Andreas Gampe [Tue, 16 Sep 2014 23:40:09 +0000 (16:40 -0700)]
ART: Sync oat file to disk before patching

Bug: 15567083174399611751048917478752
Change-Id: I828dc6775044b5050c2520eb097abe6a920fd3ee

9 years agoART: Avoid recursive abort on thread dump
Andreas Gampe [Tue, 16 Sep 2014 22:15:13 +0000 (15:15 -0700)]
ART: Avoid recursive abort on thread dump

Also clean up unused variable.

Bug: 15567083
Change-Id: Id83a3784bbe88520a4ffe654b2553d36a7b8e5bc

9 years agoam d0a24b79: Merge "Avoid suspending for alloc trace enabling when already suspended...
Jeff Hao [Tue, 16 Sep 2014 22:09:47 +0000 (22:09 +0000)]
am d0a24b79: Merge "Avoid suspending for alloc trace enabling when already suspended." into lmp-dev

* commit 'd0a24b7957f19017db9d2e99cd90e32f0948d457':
  Avoid suspending for alloc trace enabling when already suspended.

9 years agoMerge "Avoid suspending for alloc trace enabling when already suspended." into lmp-dev
Jeff Hao [Tue, 16 Sep 2014 21:53:22 +0000 (21:53 +0000)]
Merge "Avoid suspending for alloc trace enabling when already suspended." into lmp-dev

9 years agoAvoid suspending for alloc trace enabling when already suspended.
Jeff Hao [Tue, 16 Sep 2014 01:03:41 +0000 (18:03 -0700)]
Avoid suspending for alloc trace enabling when already suspended.

Bug: 17499772
Change-Id: Id98c10967b28e8859e5ac46f5878c304fb85c498

9 years agoam 3dc14e7e: Merge "ART: Check for exceptions from unresolved classes" into lmp-dev
Andreas Gampe [Tue, 16 Sep 2014 18:47:06 +0000 (18:47 +0000)]
am 3dc14e7e: Merge "ART: Check for exceptions from unresolved classes" into lmp-dev

* commit '3dc14e7ee4b6c4378cfa08028a582a9bab5b58c5':
  ART: Check for exceptions from unresolved classes

9 years agoMerge "ART: Check for exceptions from unresolved classes" into lmp-dev
Andreas Gampe [Tue, 16 Sep 2014 18:35:57 +0000 (18:35 +0000)]
Merge "ART: Check for exceptions from unresolved classes" into lmp-dev

9 years agoART: Check for exceptions from unresolved classes
Andreas Gampe [Tue, 16 Sep 2014 18:23:23 +0000 (11:23 -0700)]
ART: Check for exceptions from unresolved classes

In no-verify mode, classes may be unresolved because of missing
dependencies. Ignore and clear the exception.

Bug: 17506140
Change-Id: I70602b089e6631b1e177dbe8316c5fefdaf777a0

9 years agoam 501cf959: Merge "Avoid printing absolute addresses in oatdump" into lmp-dev
Brian Carlstrom [Tue, 16 Sep 2014 18:33:45 +0000 (18:33 +0000)]
am 501cf959: Merge "Avoid printing absolute addresses in oatdump" into lmp-dev

* commit '501cf959475a6a4e445a68d768af4ef35f331b10':
  Avoid printing absolute addresses in oatdump

9 years agoMerge "Avoid printing absolute addresses in oatdump" into lmp-dev
Brian Carlstrom [Tue, 16 Sep 2014 18:25:29 +0000 (18:25 +0000)]
Merge "Avoid printing absolute addresses in oatdump" into lmp-dev

9 years agoam a597c019: Merge "ART: Do not unlink unreadable ELF files" into lmp-dev
Andreas Gampe [Tue, 16 Sep 2014 08:50:32 +0000 (08:50 +0000)]
am a597c019: Merge "ART: Do not unlink unreadable ELF files" into lmp-dev

* commit 'a597c019b102cdcd48de4ce0fa89197f0e2606b7':
  ART: Do not unlink unreadable ELF files

9 years agoam 605f5ac0: Merge "Only log an error if an unattached thread is unregistered." into...
Ian Rogers [Tue, 16 Sep 2014 08:50:31 +0000 (08:50 +0000)]
am 605f5ac0: Merge "Only log an error if an unattached thread is unregistered." into lmp-dev

* commit '605f5ac0cb5764f4b78e7961fea50e7b84d4ef2c':
  Only log an error if an unattached thread is unregistered.

9 years agoAvoid printing absolute addresses in oatdump
Brian Carlstrom [Mon, 15 Sep 2014 03:34:17 +0000 (20:34 -0700)]
Avoid printing absolute addresses in oatdump

- Added printing of OatClass offsets.
- Added printing of OatMethod offsets.
- Added bounds checks for code size size, code size, mapping table, gc map, vmap table.
- Added sanity check of 100k for code size.
- Added partial disassembly of questionable code.
- Added --no-disassemble to disable disassembly.
- Added --no-dump:vmap to disable vmap dumping.
- Reordered OatMethod info to be in file order.

Bug: 15567083
Change-Id: Id86a21e06d4a28f29f16fd018cba7e55c57f849a

9 years agoMerge "ART: Do not unlink unreadable ELF files" into lmp-dev
Andreas Gampe [Tue, 16 Sep 2014 05:31:05 +0000 (05:31 +0000)]
Merge "ART: Do not unlink unreadable ELF files" into lmp-dev

9 years agoART: Do not unlink unreadable ELF files
Andreas Gampe [Tue, 16 Sep 2014 05:25:24 +0000 (22:25 -0700)]
ART: Do not unlink unreadable ELF files

Unlinking can be racy with respect to secondary oat files.

Bug: 17496483
Change-Id: I53f92a924b34dfcf50d7e02487c5f8f23de627ca

9 years agoMerge "Only log an error if an unattached thread is unregistered." into lmp-dev
Ian Rogers [Mon, 15 Sep 2014 23:08:15 +0000 (23:08 +0000)]
Merge "Only log an error if an unattached thread is unregistered." into lmp-dev

9 years agoOnly log an error if an unattached thread is unregistered.
Ian Rogers [Mon, 15 Sep 2014 22:17:07 +0000 (15:17 -0700)]
Only log an error if an unattached thread is unregistered.

Turn a fatal check into a diagnostic error. It looks like this issue arises
when a runtime shutsdown without properly being started.
Bug: 17011539

Change-Id: I2983c8332e83769e9480e8f30a46ca3b80a2e90e

9 years agoAvoid crash in StringReference.Value JDWP command
Sebastien Hertz [Mon, 15 Sep 2014 09:27:27 +0000 (11:27 +0200)]
Avoid crash in StringReference.Value JDWP command

Checks for null or invalid object id. Also checks whether the corresponding
object is a java.lang.String.

Bug: 17492221
Bug: 15005460

Change-Id: I2e9afe2ade69b130e59a5a0c00d02ded20b05b94

9 years agoam 3256166d: Add native support for FinalizerList.makeCircularListIfUnenqueued
Mathieu Chartier [Sun, 14 Sep 2014 21:15:31 +0000 (21:15 +0000)]
am 3256166d: Add native support for FinalizerList.makeCircularListIfUnenqueued

* commit '3256166df40981f1f1997a5f00303712277c963f':
  Add native support for FinalizerList.makeCircularListIfUnenqueued

9 years agoAdd native support for FinalizerList.makeCircularListIfUnenqueued
Mathieu Chartier [Fri, 12 Sep 2014 19:58:05 +0000 (12:58 -0700)]
Add native support for FinalizerList.makeCircularListIfUnenqueued

Called from FinalizerReference.enqueueSentinelReference to prevent
a race where the GC updates pendingNext of the sentinel reference
before enqueueSentinelReference.

Bug: 17462553

Change-Id: I7ad2fd250c2715d1aeb919bd548ef9aab24f30a2

9 years agoUpdate JDWP event filtering to avoid useless ids
Sebastien Hertz [Tue, 9 Sep 2014 10:10:13 +0000 (12:10 +0200)]
Update JDWP event filtering to avoid useless ids

To reduce the number of JDWP ids in the debugger, we update the event filtering
support to work with runtime objects (Thread, Class, Object, ...) instead of
JDWP ids (ThreadId, RefTypeId, ObjectId, ...).

We used to create useless JDWP ids for events even if they were not reported
because of event filtering (thread only, class only, instance only, ...). Now
we only create JDWP ids when we know we're going to report an event.

Bug: 17343664
Change-Id: Ib83df6d82fbcb40895f5cd9201a1e9ecd0a07e17

9 years agoam afa6b8e9: ART: Make elf loading not abort
Andreas Gampe [Sat, 13 Sep 2014 07:14:22 +0000 (07:14 +0000)]
am afa6b8e9: ART: Make elf loading not abort

* commit 'afa6b8e93a0dc0de33c9d404945c7c5621e20b1a':
  ART: Make elf loading not abort

9 years agoART: Make elf loading not abort
Andreas Gampe [Sat, 13 Sep 2014 01:38:24 +0000 (18:38 -0700)]
ART: Make elf loading not abort

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
Change-Id: I50fdd2edacd86f25d4dacf2180ce2a6105eaf4af

9 years agoam eee3e702: Merge "Fix stale root error in verifier" into lmp-dev
Mathieu Chartier [Sat, 13 Sep 2014 00:51:04 +0000 (00:51 +0000)]
am eee3e702: Merge "Fix stale root error in verifier" into lmp-dev

* commit 'eee3e7025213cf56f894d770d039caba29e20750':
  Fix stale root error in verifier

9 years agoMerge "Fix stale root error in verifier" into lmp-dev
Mathieu Chartier [Sat, 13 Sep 2014 00:34:30 +0000 (00:34 +0000)]
Merge "Fix stale root error in verifier" into lmp-dev

9 years agoFix stale root error in verifier
Mathieu Chartier [Sat, 13 Sep 2014 00:01:24 +0000 (17:01 -0700)]
Fix stale root error in verifier

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.

Bug: 17262039
Change-Id: I592f2770570de97b431671cfbd409f63697892f1

9 years agoam 508e0a8d: Merge "ART: Allow quickening in the boot image" into lmp-dev
Andreas Gampe [Fri, 12 Sep 2014 22:45:45 +0000 (22:45 +0000)]
am 508e0a8d: Merge "ART: Allow quickening in the boot image" into lmp-dev

* commit '508e0a8d2be15c41c4001864ffb43be6de55ddbd':
  ART: Allow quickening in the boot image

9 years agoMerge "ART: Allow quickening in the boot image" into lmp-dev
Andreas Gampe [Fri, 12 Sep 2014 22:31:51 +0000 (22:31 +0000)]
Merge "ART: Allow quickening in the boot image" into lmp-dev

9 years agoART: Allow quickening in the boot image
Andreas Gampe [Thu, 28 Aug 2014 21:41:02 +0000 (14:41 -0700)]
ART: Allow quickening in the boot image

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
Change-Id: I9ef1bfd78b0d93625b89b3d662131d7d6e5f2903

9 years agoam 332e1888: Merge "ART: Change access flag behavior in verifier" into lmp-dev
Andreas Gampe [Fri, 12 Sep 2014 21:00:55 +0000 (21:00 +0000)]
am 332e1888: Merge "ART: Change access flag behavior in verifier" into lmp-dev

* commit '332e1888f8d37267b0668e73aef798876a7b3306':
  ART: Change access flag behavior in verifier

9 years agoMerge "ART: Change access flag behavior in verifier" into lmp-dev
Andreas Gampe [Fri, 12 Sep 2014 20:49:25 +0000 (20:49 +0000)]
Merge "ART: Change access flag behavior in verifier" into lmp-dev

9 years agoam 9a3c2624: Merge "Quick compiler (arm64) Fix inline Math.round()" into lmp-dev
buzbee [Fri, 12 Sep 2014 19:58:36 +0000 (19:58 +0000)]
am 9a3c2624: Merge "Quick compiler (arm64) Fix inline Math.round()" into lmp-dev

* commit '9a3c262484621b4ac291aac96d6b255e9e261203':
  Quick compiler (arm64) Fix inline Math.round()

9 years agoam ca48ef5d: Merge "Fix and re-enable FreeList large object space for 64 bit" into...
Mathieu Chartier [Fri, 12 Sep 2014 19:58:35 +0000 (19:58 +0000)]
am ca48ef5d: Merge "Fix and re-enable FreeList large object space for 64 bit" into lmp-dev

* commit 'ca48ef5d12f049178d7d1c1f901d754ac44235ac':
  Fix and re-enable FreeList large object space for 64 bit

9 years agoMerge "Quick compiler (arm64) Fix inline Math.round()" into lmp-dev
buzbee [Fri, 12 Sep 2014 19:49:26 +0000 (19:49 +0000)]
Merge "Quick compiler (arm64) Fix inline Math.round()" into lmp-dev

9 years agoMerge "Fix and re-enable FreeList large object space for 64 bit" into lmp-dev
Mathieu Chartier [Fri, 12 Sep 2014 19:42:41 +0000 (19:42 +0000)]
Merge "Fix and re-enable FreeList large object space for 64 bit" into lmp-dev

9 years agoQuick compiler (arm64) Fix inline Math.round()
buzbee [Fri, 12 Sep 2014 17:40:47 +0000 (10:40 -0700)]
Quick compiler (arm64) Fix inline Math.round()

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

9 years agoART: Change access flag behavior in verifier
Andreas Gampe [Mon, 25 Aug 2014 22:05:04 +0000 (15:05 -0700)]
ART: Change access flag behavior in verifier

Note: this moves the miranda modifier to the upper 16 bit.

Bug: 16161620
Change-Id: I2f591d53b7d1559171e70aaaf22225d94b4882f5

9 years agoam 28e55dd9: Merge "Fix host 64-bit ISA string" into lmp-dev
Andreas Gampe [Fri, 12 Sep 2014 18:50:48 +0000 (18:50 +0000)]
am 28e55dd9: Merge "Fix host 64-bit ISA string" into lmp-dev

* commit '28e55dd9a315ef33e2d2fa6506d544362406f759':
  Fix host 64-bit ISA string

9 years agoMerge "Fix host 64-bit ISA string" into lmp-dev
Andreas Gampe [Fri, 12 Sep 2014 18:25:28 +0000 (18:25 +0000)]
Merge "Fix host 64-bit ISA string" into lmp-dev

9 years agoFix and re-enable FreeList large object space for 64 bit
Mathieu Chartier [Tue, 9 Sep 2014 00:42:48 +0000 (17:42 -0700)]
Fix and re-enable FreeList large object space for 64 bit

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.

Bug: 17414549

Change-Id: Idbcbe75cb86b6d9b3d8b20f3048631a48c511458

9 years agoam 0f79299e: Merge "Add fast path to VMClassLoader.findLoadedClass" into lmp-dev
Mathieu Chartier [Fri, 12 Sep 2014 04:59:13 +0000 (04:59 +0000)]
am 0f79299e: Merge "Add fast path to VMClassLoader.findLoadedClass" into lmp-dev

* commit '0f79299e78cb9e304f2a723ce7691f35ecaa4bab':
  Add fast path to VMClassLoader.findLoadedClass

9 years agoam 6b9f31a7: Merge "Delete pin table" into lmp-dev
Mathieu Chartier [Fri, 12 Sep 2014 04:59:12 +0000 (04:59 +0000)]
am 6b9f31a7: Merge "Delete pin table" into lmp-dev

* commit '6b9f31a7cbdc6d4b590c8c2119ffddbf5f8c0720':
  Delete pin table

9 years agoam 776ee723: Merge "Print the command line and ABI in stack dumps like debuggerd...
Brian Carlstrom [Fri, 12 Sep 2014 04:59:11 +0000 (04:59 +0000)]
am 776ee723: Merge "Print the command line and ABI in stack dumps like debuggerd." into lmp-dev

* commit '776ee7236f3d95ad5b8a1e6af693e636266f8131':
  Print the command line and ABI in stack dumps like debuggerd.

9 years agoam 53f7ac1d: Merge "Revert "Print the command line and ABI in stack dumps like debugg...
Jeff Brown [Fri, 12 Sep 2014 04:59:10 +0000 (04:59 +0000)]
am 53f7ac1d: Merge "Revert "Print the command line and ABI in stack dumps like debuggerd."" into lmp-dev

* commit '53f7ac1d6b96621e9fd0225d7579a0183f6f179e':
  Revert "Print the command line and ABI in stack dumps like debuggerd."

9 years agoam d1ae5004: Merge "Print the command line and ABI in stack dumps like debuggerd...
Jeff Brown [Fri, 12 Sep 2014 04:59:09 +0000 (04:59 +0000)]
am d1ae5004: Merge "Print the command line and ABI in stack dumps like debuggerd." into lmp-dev

* commit 'd1ae50047c5da787e722e182992bd242540b502a':
  Print the command line and ABI in stack dumps like debuggerd.

9 years agoMerge "Add fast path to VMClassLoader.findLoadedClass" into lmp-dev
Mathieu Chartier [Thu, 11 Sep 2014 23:51:03 +0000 (23:51 +0000)]
Merge "Add fast path to VMClassLoader.findLoadedClass" into lmp-dev

9 years agoMerge "Delete pin table" into lmp-dev
Mathieu Chartier [Thu, 11 Sep 2014 23:27:11 +0000 (23:27 +0000)]
Merge "Delete pin table" into lmp-dev

9 years agoMerge "Print the command line and ABI in stack dumps like debuggerd." into lmp-dev
Brian Carlstrom [Thu, 11 Sep 2014 23:13:17 +0000 (23:13 +0000)]
Merge "Print the command line and ABI in stack dumps like debuggerd." into lmp-dev

9 years agoPrint the command line and ABI in stack dumps like debuggerd.
Jeff Brown [Thu, 11 Sep 2014 01:41:18 +0000 (18:41 -0700)]
Print the command line and ABI in stack dumps like debuggerd.

Ensure the heading is "Cmd line:" just like debuggerd and
as it used to be in Dalvik.
Fix a missing newline.
Trim all training nulls from the command line.
Don't bother printing the original command line if unset.
Add the ABI to the dump to help the native stack symbol tool.

Bug: 17474152
Change-Id: Ie1da1bd4f38c92b13ea08c7122f4573d8ec8fc73

9 years agoMerge "Revert "Print the command line and ABI in stack dumps like debuggerd."" into...
Jeff Brown [Thu, 11 Sep 2014 23:01:55 +0000 (23:01 +0000)]
Merge "Revert "Print the command line and ABI in stack dumps like debuggerd."" into lmp-dev

9 years agoRevert "Print the command line and ABI in stack dumps like debuggerd."
Jeff Brown [Thu, 11 Sep 2014 23:01:44 +0000 (23:01 +0000)]
Revert "Print the command line and ABI in stack dumps like debuggerd."

This reverts commit 38ac77b6fb1fc626299022fe0f16d5b6c365cb9b.

Change-Id: I8e4952b80d03ad61c3ff2afaf8a96b8c2e36f0c7

9 years agoMerge "Print the command line and ABI in stack dumps like debuggerd." into lmp-dev
Jeff Brown [Thu, 11 Sep 2014 22:57:55 +0000 (22:57 +0000)]
Merge "Print the command line and ABI in stack dumps like debuggerd." into lmp-dev

9 years agoAdd fast path to VMClassLoader.findLoadedClass
Mathieu Chartier [Thu, 11 Sep 2014 21:21:41 +0000 (14:21 -0700)]
Add fast path to VMClassLoader.findLoadedClass

VMClassLoader.findLoadedClass now calls FindClassInPathClassLoader
as a fast path. Exclusive time results (trace view maps launch):

Before:
nativeFillInStackTrace 1.4%
defineClassNative 1.2%
findLoadedClass 0.2%

After:
nativeFillInStackTrace 0.5%
defineClassNative 0.0%
findLoadedClass 0.9%

Bug: 16828525

Change-Id: I1bde48effcd28529778c00ec0fa0dda4e32026a3

9 years agoPrint the command line and ABI in stack dumps like debuggerd.
Jeff Brown [Thu, 11 Sep 2014 01:41:18 +0000 (18:41 -0700)]
Print the command line and ABI in stack dumps like debuggerd.

Ensure the heading is "Cmd line:" just like debuggerd and
as it used to be in Dalvik.
Fix a missing newline.
Trim all training nulls from the command line.
Don't bother printing the original command line if unset.
Add the ABI to the dump to help the native stack symbol tool.

Bug: 17474152
Change-Id: I19c585dbd7d31ef6c98270e469445cae40cbd518

9 years agoDelete pin table
Mathieu Chartier [Thu, 11 Sep 2014 20:14:31 +0000 (13:14 -0700)]
Delete pin table

The pin table was brought over from dalvik but not really needed
since ART doesn't support pinning in movable spaces. The only
thing it did was hold objects live for JNI functions.
This shouldn't be necessary since people keep jni references to
these objects or else they could never release the elements.

Bug: 17456946

Change-Id: Ibed0d029157ffb9e75ecd80d4d544d690986c090

9 years agoam 3892cf8d: ART: Fix preverified setting in VerifyClass
Andreas Gampe [Thu, 11 Sep 2014 18:48:21 +0000 (18:48 +0000)]
am 3892cf8d: ART: Fix preverified setting in VerifyClass

* commit '3892cf8da7d5e76c0dee585fc8f69df773680525':
  ART: Fix preverified setting in VerifyClass

9 years agoART: Fix preverified setting in VerifyClass
Andreas Gampe [Thu, 11 Sep 2014 17:59:33 +0000 (10:59 -0700)]
ART: Fix preverified setting in VerifyClass

Make sure soft-failed classes cannot set methods to pre-verified.

Bug: 1682852517465185
Change-Id: I09c0a68ca722978459741311148eae7614f9ca49

9 years agoam 0a40828e: Merge "Improve dex location canonicalization-related performance." into...
Vladimir Marko [Thu, 11 Sep 2014 16:26:54 +0000 (16:26 +0000)]
am 0a40828e: Merge "Improve dex location canonicalization-related performance." into lmp-dev

* commit '0a40828e6f4914968048642e8c0e5fdf6bc3b1af':
  Improve dex location canonicalization-related performance.

9 years agoam 11db17c4: Merge "Fix GetDexCanonicalLocation test for relative paths." into lmp-dev
Vladimir Marko [Thu, 11 Sep 2014 16:26:54 +0000 (16:26 +0000)]
am 11db17c4: Merge "Fix GetDexCanonicalLocation test for relative paths." into lmp-dev

* commit '11db17c44cdbd71e97a677cdc8fb1e18907ab93d':
  Fix GetDexCanonicalLocation test for relative paths.

9 years agoMerge "Improve dex location canonicalization-related performance." into lmp-dev
Vladimir Marko [Thu, 11 Sep 2014 16:18:49 +0000 (16:18 +0000)]
Merge "Improve dex location canonicalization-related performance." into lmp-dev

9 years agoMerge "Fix GetDexCanonicalLocation test for relative paths." into lmp-dev
Vladimir Marko [Thu, 11 Sep 2014 16:18:16 +0000 (16:18 +0000)]
Merge "Fix GetDexCanonicalLocation test for relative paths." into lmp-dev

9 years agoam 96cd6714: Fix crash when connected to DDMS
Sebastien Hertz [Thu, 11 Sep 2014 14:43:56 +0000 (14:43 +0000)]
am 96cd6714: Fix crash when connected to DDMS

* commit '96cd6714d94b47512710776761dec98c8be68bef':
  Fix crash when connected to DDMS

9 years agoFix crash when connected to DDMS
Sebastien Hertz [Thu, 11 Sep 2014 14:23:44 +0000 (16:23 +0200)]
Fix crash when connected to DDMS

Restore init of WellKnownClasses::org_apache_harmony_dalvik_ddmc_Chunk_data and
removed duplicated line.

Bug: 17467328
Bug: 17463118
Change-Id: I64638e23615b7c20061b49c41a9c0e9f35a4d537

9 years agoam 5f0438a4: Merge "Fix deadlock in VirtualMachine.AllThreads" into lmp-dev
Sebastien Hertz [Thu, 11 Sep 2014 09:38:48 +0000 (09:38 +0000)]
am 5f0438a4: Merge "Fix deadlock in VirtualMachine.AllThreads" into lmp-dev

* commit '5f0438a4123aeaae55ee034d31c5b1465fcf69cd':
  Fix deadlock in VirtualMachine.AllThreads

9 years agoMerge "Fix deadlock in VirtualMachine.AllThreads" into lmp-dev
Sebastien Hertz [Thu, 11 Sep 2014 09:33:33 +0000 (09:33 +0000)]
Merge "Fix deadlock in VirtualMachine.AllThreads" into lmp-dev

9 years agoam 94aa2482: Merge "Don\'t hold any lock when visiting classes from JDWP" into lmp-dev
Sebastien Hertz [Thu, 11 Sep 2014 09:17:59 +0000 (09:17 +0000)]
am 94aa2482: Merge "Don\'t hold any lock when visiting classes from JDWP" into lmp-dev

* commit '94aa2482e8ba71e85a875c2afc85ad8b8d3fb0f3':
  Don't hold any lock when visiting classes from JDWP

9 years agoMerge "Don't hold any lock when visiting classes from JDWP" into lmp-dev
Sebastien Hertz [Thu, 11 Sep 2014 08:04:30 +0000 (08:04 +0000)]
Merge "Don't hold any lock when visiting classes from JDWP" into lmp-dev

9 years agoam 59d0e8ac: Merge "Use WellKnownClasses in ThrowStackOverflowError to reduce changes...
Brian Carlstrom [Thu, 11 Sep 2014 07:01:47 +0000 (07:01 +0000)]
am 59d0e8ac: Merge "Use WellKnownClasses in ThrowStackOverflowError to reduce changes of further stack overflow" into lmp-dev

* commit '59d0e8aca127088bc08586add9be38045ad420c0':
  Use WellKnownClasses in ThrowStackOverflowError to reduce changes of further stack overflow

9 years agoMerge "Use WellKnownClasses in ThrowStackOverflowError to reduce changes of further...
Brian Carlstrom [Thu, 11 Sep 2014 06:54:05 +0000 (06:54 +0000)]
Merge "Use WellKnownClasses in ThrowStackOverflowError to reduce changes of further stack overflow" into lmp-dev

9 years agoUse WellKnownClasses in ThrowStackOverflowError to reduce changes of further stack...
Brian Carlstrom [Thu, 11 Sep 2014 06:10:47 +0000 (23:10 -0700)]
Use WellKnownClasses in ThrowStackOverflowError to reduce changes of further stack overflow

Bug: 17463118
Change-Id: Ic05b07803d2d3112e0b67064f380cd46ba9e293f

9 years agoam df1532b9: ART: Correctly make methods preverified
Andreas Gampe [Thu, 11 Sep 2014 05:46:06 +0000 (05:46 +0000)]
am df1532b9: ART: Correctly make methods preverified

* commit 'df1532b9ba0cda2d00b78fbdef461f8a6cf8a737':
  ART: Correctly make methods preverified

9 years agoART: Correctly make methods preverified
Andreas Gampe [Thu, 11 Sep 2014 02:48:05 +0000 (19:48 -0700)]
ART: Correctly make methods preverified

Bug: 16828525
Change-Id: I66756348b2aa50e41dacca59769b6810a91c73b0