OSDN Git Service

android-x86/art.git
9 years agoMerge "Check IsReferenceVReg during deopt"
Mathieu Chartier [Fri, 8 May 2015 23:19:41 +0000 (23:19 +0000)]
Merge "Check IsReferenceVReg during deopt"

9 years agoCheck IsReferenceVReg during deopt
Mathieu Chartier [Fri, 8 May 2015 21:19:26 +0000 (14:19 -0700)]
Check IsReferenceVReg during deopt

Required since the quick GC maps may not agree with the verifier
ones. Without this check we may copy stale object references into
the shadow frame.

(cherry picked from commit f00baf56ef647684888a407dbb6adadd704a2039)

Bug: 20736048
Change-Id: I7783c8a8ee45cf601b08b4c38f1dec7f7d11380c

9 years agoMerge "ART: Merge entries with same name and protect in MemMap dump."
Vladimir Marko [Fri, 8 May 2015 21:26:37 +0000 (21:26 +0000)]
Merge "ART: Merge entries with same name and protect in MemMap dump."

9 years agoART: Merge entries with same name and protect in MemMap dump.
Vladimir Marko [Fri, 8 May 2015 14:17:32 +0000 (15:17 +0100)]
ART: Merge entries with same name and protect in MemMap dump.

This should make the MemMap dump less chatty and allow the
logger to keep more relevant output.

Bug: 20873174
Change-Id: I09058798faa8f79d154cee5008017b03700df8db

9 years agoMerge "Skip compilation when falling-through out of method code."
Calin Juravle [Fri, 8 May 2015 15:52:48 +0000 (15:52 +0000)]
Merge "Skip compilation when falling-through out of method code."

9 years agoMerge "Fix typo in comments."
Richard Uhler [Fri, 8 May 2015 15:24:25 +0000 (15:24 +0000)]
Merge "Fix typo in comments."

9 years agoMerge "ART: Fix debug output for bad reused MemMap."
Vladimir Marko [Fri, 8 May 2015 10:31:05 +0000 (10:31 +0000)]
Merge "ART: Fix debug output for bad reused MemMap."

9 years agoART: Fix debug output for bad reused MemMap.
Vladimir Marko [Fri, 8 May 2015 10:10:16 +0000 (11:10 +0100)]
ART: Fix debug output for bad reused MemMap.

Log the error_msg instead of a pointer to it.
Raise the log level to ERROR for the process maps.

Change-Id: I95f82f013d1c6360f40e6315652d1a2dda0f39e2

9 years agoMerge "ART: Refactor 082-inline-execute"
Andreas Gampe [Fri, 8 May 2015 00:17:56 +0000 (00:17 +0000)]
Merge "ART: Refactor 082-inline-execute"

9 years agoART: Refactor 082-inline-execute
Andreas Gampe [Thu, 7 May 2015 23:44:58 +0000 (16:44 -0700)]
ART: Refactor 082-inline-execute

Refactor the indexOf intrinsics tests so that the optimizing
compiler would actually compile them.

Bug: 20889065
Change-Id: I69bfda7fa3eb4ce42c593203731e3ddd61f7e1ed

9 years agoFix typo in comments.
Richard Uhler [Thu, 7 May 2015 17:52:28 +0000 (10:52 -0700)]
Fix typo in comments.

Change-Id: I6569c0fdc878f797b37509432b59b0d5c9bc5533

9 years agoMerge "Quick: Fix DCE to rename SSA regs for degenerate Phis."
Vladimir Marko [Thu, 7 May 2015 17:21:51 +0000 (17:21 +0000)]
Merge "Quick: Fix DCE to rename SSA regs for degenerate Phis."

9 years agoMerge "Quick: Abolish kMirOpCheckPart2."
Vladimir Marko [Thu, 7 May 2015 17:21:31 +0000 (17:21 +0000)]
Merge "Quick: Abolish kMirOpCheckPart2."

9 years agoMerge "Support multiple instrumentation clients"
Sebastien Hertz [Thu, 7 May 2015 16:10:43 +0000 (16:10 +0000)]
Merge "Support multiple instrumentation clients"

9 years agoSupport multiple instrumentation clients
Sebastien Hertz [Wed, 1 Apr 2015 14:34:17 +0000 (16:34 +0200)]
Support multiple instrumentation clients

Changes Instrumentation::ConfigureStubs to support multiple clients
that need different levels of instrumenation. A client is identified
by a string key used to save the desired instrumentation level.

Also adds regression gtest instrumentation_test and some cleanup.

Bug: 19829329
Change-Id: I1fc24a86fcb7cb46d4be806895376c25cc0a0b3c

9 years agoMerge "Remove unused InvokeWithShadowFrame"
Sebastien Hertz [Thu, 7 May 2015 15:45:17 +0000 (15:45 +0000)]
Merge "Remove unused InvokeWithShadowFrame"

9 years agoRemove unused InvokeWithShadowFrame
Sebastien Hertz [Thu, 7 May 2015 15:23:16 +0000 (17:23 +0200)]
Remove unused InvokeWithShadowFrame

This is an artifact of the Portable compiler, probably left after its
removal https://android-review.googlesource.com/119049.

Change-Id: I7f6caa008e37e7a93792840c79713e90d0c7e1e1

9 years agoQuick: Abolish kMirOpCheckPart2.
Vladimir Marko [Thu, 7 May 2015 11:25:40 +0000 (12:25 +0100)]
Quick: Abolish kMirOpCheckPart2.

The tricks played with kMirOpCheckPart2 are making the
native GC map generation unnecessarily complex. They have
caused problems in the past and now there is bad interaction
with the DCE. Rather than fixing it time and again, remove
the pseudo-insn.

(The whole purpose of those tricks seems to be to allow the
register tracking to be used for the throwing insn before
resetting the tracking for the next block. However, it's
questionable whether that's better than processing the
throwing insn with the subsequent instructions.)

Bug: 20736048
Change-Id: I4767e4609914d3b6990da4416e5093e4ca209780

9 years agoMerge "Fix broken checks in IsValidPartOfMemberNameUtf8Slow."
Narayan Kamath [Thu, 7 May 2015 14:54:45 +0000 (14:54 +0000)]
Merge "Fix broken checks in IsValidPartOfMemberNameUtf8Slow."

9 years agoQuick: Fix DCE to rename SSA regs for degenerate Phis.
Vladimir Marko [Thu, 7 May 2015 14:53:41 +0000 (15:53 +0100)]
Quick: Fix DCE to rename SSA regs for degenerate Phis.

If we're inserting a new Phi and all its inputs are the same
SSA reg (for example, we allow a single-input Phi), some
subsequent insn may actually refer to that reg, so we need
to rename it to keep the graph in a consistent state.

Change-Id: Ic6a1907c3138f4a7d3b13f9e58e9107ca2d92f17

9 years agoMerge "JDWP: properly combine location events"
Sebastien Hertz [Thu, 7 May 2015 14:22:34 +0000 (14:22 +0000)]
Merge "JDWP: properly combine location events"

9 years agoFix broken checks in IsValidPartOfMemberNameUtf8Slow.
Narayan Kamath [Wed, 6 May 2015 13:55:43 +0000 (14:55 +0100)]
Fix broken checks in IsValidPartOfMemberNameUtf8Slow.

GetUtf16FromUtf8 returns a surrogate pair only if it encounters
a 4-byte UTF sequence. Three byte UTF sequences will only return the
first or second half of a pair so we need to check for that
explicitly.

bug: 20844537

(cherry picked from commit 3ba8671d60061359fd833f60f7a9dca14878cc0b)

Change-Id: I2e2a4f9f736cd11050a2b634b3bb27b75a0ee0ba

9 years agoMerge "Use a growable array instead of an environment during SSA."
Nicolas Geoffray [Thu, 7 May 2015 10:57:03 +0000 (10:57 +0000)]
Merge "Use a growable array instead of an environment during SSA."

9 years agoUse a growable array instead of an environment during SSA.
Nicolas Geoffray [Thu, 7 May 2015 10:46:05 +0000 (11:46 +0100)]
Use a growable array instead of an environment during SSA.

Using an environment was convenient because it contains
a growable array. But there's no need for the environment
abstraction when being used as a temporary holder for values
of locals.

Change-Id: Idf2883fe4b8f97a31ee70b3627c1bdd23ebfff0e

9 years agoMerge "Relax the only one back-edge restriction."
Nicolas Geoffray [Thu, 7 May 2015 08:57:23 +0000 (08:57 +0000)]
Merge "Relax the only one back-edge restriction."

9 years agoRelax the only one back-edge restriction.
Nicolas Geoffray [Tue, 5 May 2015 16:02:20 +0000 (17:02 +0100)]
Relax the only one back-edge restriction.

The rule is in the way for better register allocation, as
it creates an artificial join point between multiple paths.

Change-Id: Ia4392890f95bcea56d143138f28ddce6c572ad58

9 years agoMerge "No need to relocate the core image for the art script."
Nicolas Geoffray [Thu, 7 May 2015 08:15:41 +0000 (08:15 +0000)]
Merge "No need to relocate the core image for the art script."

9 years agoMerge "ART: Fix mips64 jni bugs."
Andreas Gampe [Thu, 7 May 2015 03:50:01 +0000 (03:50 +0000)]
Merge "ART: Fix mips64 jni bugs."

9 years agoART: Fix mips64 jni bugs.
Douglas Leung [Fri, 1 May 2015 02:22:49 +0000 (19:22 -0700)]
ART: Fix mips64 jni bugs.

For mips64, 32-bits loads can be zero extended or sign extended to
64-bits. The extension type must match the data type to be loaded.

Also re-enable mips64 generic jni testing.

Change-Id: I9cabaf80b4fde63d9868fccd74593b36d1c324e8

9 years agoMerge "In quick compiler, force string init invoke to be fast path."
Jeff Hao [Thu, 7 May 2015 01:29:19 +0000 (01:29 +0000)]
Merge "In quick compiler, force string init invoke to be fast path."

9 years agoIn quick compiler, force string init invoke to be fast path.
Jeff Hao [Thu, 7 May 2015 00:41:32 +0000 (17:41 -0700)]
In quick compiler, force string init invoke to be fast path.

Was running into an issue where a secondary dex file was falling back on
the quick compiler, and IsFastInvoke returned 0 because the
referrer_class was nullptr, causing the string init to be slow path. The
string init technically does not have to be fast path, but there's no
reason to duplicate the logic to call off a thread pointer on the slow
path.

Bug: 20870917

(cherry picked from commit I47e1524d939eb7e9b1da8186092fafc6e925009e)

Change-Id: Ieacd965943759de2b075c30e03cf0a71863f499e

9 years agoMerge "Fix mips64 bugs."
Andreas Gampe [Wed, 6 May 2015 23:53:00 +0000 (23:53 +0000)]
Merge "Fix mips64 bugs."

9 years agoNo need to relocate the core image for the art script.
Nicolas Geoffray [Wed, 6 May 2015 17:38:19 +0000 (18:38 +0100)]
No need to relocate the core image for the art script.

Change-Id: Idd540175e197602e318eeb3764f552372aadce1f

9 years agoMerge "Quick: Inline synthetic accessors generated by jack."
Vladimir Marko [Wed, 6 May 2015 15:19:23 +0000 (15:19 +0000)]
Merge "Quick: Inline synthetic accessors generated by jack."

9 years agoQuick: Inline synthetic accessors generated by jack.
Vladimir Marko [Wed, 6 May 2015 13:09:04 +0000 (14:09 +0100)]
Quick: Inline synthetic accessors generated by jack.

While javac names synthetic accessors "access$nnn", jack
names them "-getN", "-putN" and "-wrapN". For simplicity,
treat all methods starting with "-" as synthetic accessors.

Bug: 20873367
Change-Id: I67990a6c2ef1d25dafe460ef70143a113bb5b7da

9 years agoMerge "Bump jdwp timeout to 12 minutes."
Nicolas Geoffray [Wed, 6 May 2015 14:02:23 +0000 (14:02 +0000)]
Merge "Bump jdwp timeout to 12 minutes."

9 years agoBump jdwp timeout to 12 minutes.
Nicolas Geoffray [Wed, 6 May 2015 13:57:09 +0000 (14:57 +0100)]
Bump jdwp timeout to 12 minutes.

A run on volantis now is around 10 minutes.

Change-Id: I6e1f436d71da6eec55e984f7af99ba34438e49fb

9 years agoMerge "Re-enable JDWP tests on volantis."
Nicolas Geoffray [Wed, 6 May 2015 08:23:00 +0000 (08:23 +0000)]
Merge "Re-enable JDWP tests on volantis."

9 years agoRe-enable JDWP tests on volantis.
Nicolas Geoffray [Wed, 6 May 2015 08:19:32 +0000 (09:19 +0100)]
Re-enable JDWP tests on volantis.

Change-Id: Ibf1d16c9830155526cee38e242a4de9a3d5ed943

9 years agoMerge "Fix instrumentation exit stub for arm64"
Sebastien Hertz [Wed, 6 May 2015 08:07:06 +0000 (08:07 +0000)]
Merge "Fix instrumentation exit stub for arm64"

9 years agoFix instrumentation exit stub for arm64
Sebastien Hertz [Tue, 5 May 2015 18:03:50 +0000 (20:03 +0200)]
Fix instrumentation exit stub for arm64

Fixes bad offset to restore register x21.

Bug: 20798393

(cherry picked from commit a538effb3f848bfec232c55f167b9f35b416948f)

Change-Id: I030d848ab0f46043e86f53abae204463f0aaccbe

9 years agoMerge "Fix Mips64 utils.h typo"
Andreas Gampe [Wed, 6 May 2015 01:01:27 +0000 (01:01 +0000)]
Merge "Fix Mips64 utils.h typo"

9 years agoFix Mips64 utils.h typo
Duane Sand [Tue, 5 May 2015 21:48:43 +0000 (14:48 -0700)]
Fix Mips64 utils.h typo

Include of art's utils.h was mistyped as util.h, and instead
brought in external/icu/icu4c/source/common/util.h,
which caused art build failures from -Wdeprecated warnings
when Mips64 libart is compiled with clang.

Change-Id: I9370c4dc041eaecc5d5a1490ec23034ece4322a9

9 years agoMerge "Temporarily suppress 098-ddmc for the read barrier config."
Hiroshi Yamauchi [Tue, 5 May 2015 22:13:32 +0000 (22:13 +0000)]
Merge "Temporarily suppress 098-ddmc for the read barrier config."

9 years agoTemporarily suppress 098-ddmc for the read barrier config.
Hiroshi Yamauchi [Tue, 5 May 2015 20:36:39 +0000 (13:36 -0700)]
Temporarily suppress 098-ddmc for the read barrier config.

Bug: 20720510
Change-Id: Ie8c159767654837c02f0484f4dda569bb0118a03

9 years agoMerge "Revert "Revert "Revert "Revert "[optimizing] Improve x86 shifts"""""
Roland Levillain [Tue, 5 May 2015 13:45:56 +0000 (13:45 +0000)]
Merge "Revert "Revert "Revert "Revert "[optimizing] Improve x86 shifts"""""

9 years agoMerge "Find better split positions in the register allocator."
Nicolas Geoffray [Tue, 5 May 2015 09:26:29 +0000 (09:26 +0000)]
Merge "Find better split positions in the register allocator."

9 years agoFind better split positions in the register allocator.
Nicolas Geoffray [Wed, 29 Apr 2015 13:16:00 +0000 (14:16 +0100)]
Find better split positions in the register allocator.

In a standard if/else control flow graph, this avoids
doing a move in one branch if the other branch decided
to move an interval.

This also needs a new register hint kind, which is what
was the location of the interval at the predecessor block.

Change-Id: I18b78264587b4d693540fbb5e014d12df2add3e2

9 years agoMerge "ART: Fix double-free in oatdump"
Andreas Gampe [Tue, 5 May 2015 01:31:33 +0000 (01:31 +0000)]
Merge "ART: Fix double-free in oatdump"

9 years agoART: Fix double-free in oatdump
Andreas Gampe [Tue, 5 May 2015 01:25:23 +0000 (18:25 -0700)]
ART: Fix double-free in oatdump

The ImageDumper doesn't own the OatDumperOptions.

Bug: 20818721
Change-Id: Iea11ada8fb6418b226d39b33c252a834c42e655e

9 years agoMerge "ART: Emit debug info when app is debuggable"
Andreas Gampe [Mon, 4 May 2015 22:13:05 +0000 (22:13 +0000)]
Merge "ART: Emit debug info when app is debuggable"

9 years agoART: Emit debug info when app is debuggable
Andreas Gampe [Mon, 4 May 2015 15:33:31 +0000 (08:33 -0700)]
ART: Emit debug info when app is debuggable

Emit debug symbols and CFI when dex2oat is compiling with the
--debuggable flag.

Bug: 17011129

(cherry picked from commit 8484d23186c229e2927441f85ae819abb4996072)

Change-Id: I0afab1e46abd819eded2b823580e766619497393

9 years agoMerge "Fix mismatched new[]/delete."
Christopher Ferris [Mon, 4 May 2015 21:58:44 +0000 (21:58 +0000)]
Merge "Fix mismatched new[]/delete."

9 years agoMerge "Delete invalid DCHECK"
Mathieu Chartier [Mon, 4 May 2015 19:12:45 +0000 (19:12 +0000)]
Merge "Delete invalid DCHECK"

9 years agoFix mismatched new[]/delete.
Christopher Ferris [Mon, 27 Apr 2015 22:19:41 +0000 (15:19 -0700)]
Fix mismatched new[]/delete.

Another two cases where a new[] is used but only a delete occurs.

Bug: 18202869
Change-Id: If68264807150f3a9783e44ef8823cc366bff8df2

9 years agoDelete invalid DCHECK
Mathieu Chartier [Mon, 4 May 2015 18:46:25 +0000 (11:46 -0700)]
Delete invalid DCHECK

We can have large objects mapped at address 0xebad____.

Change-Id: I9e27d4948e7e853b4af6eb1b36dbfec6d4d7a99a

9 years agoMerge "Improve JNI registration failure logging"
Mathieu Chartier [Mon, 4 May 2015 18:17:40 +0000 (18:17 +0000)]
Merge "Improve JNI registration failure logging"

9 years agoImprove JNI registration failure logging
Mathieu Chartier [Mon, 4 May 2015 17:18:24 +0000 (10:18 -0700)]
Improve JNI registration failure logging

Print INTERNAL_FATAL instead of ERROR, print the
"Failed to register native method" message last.

Bug: 13885477
Change-Id: I9f1a7ea45bd926f3984b8008d84c75e676a1ed10

9 years agoMerge "Fix NanoSleep and add test"
Mathieu Chartier [Mon, 4 May 2015 17:10:47 +0000 (17:10 +0000)]
Merge "Fix NanoSleep and add test"

9 years agoFix NanoSleep and add test
Mathieu Chartier [Mon, 4 May 2015 16:53:43 +0000 (09:53 -0700)]
Fix NanoSleep and add test

Fixed a bug where tv_nsec was't between 0 and 999,999,999.

Bug: 14450052
Change-Id: I30b29a716bfa63c6b57d589dd1102d2ca934c061

9 years agoRevert "Revert "Revert "Revert "[optimizing] Improve x86 shifts""""
Mark P Mendell [Wed, 29 Apr 2015 14:56:17 +0000 (14:56 +0000)]
Revert "Revert "Revert "Revert "[optimizing] Improve x86 shifts""""

This reverts commit 2a7a1d7808f003bea908023ebd11eb442d2fca39.

Fix the problem that a long long >> 63 got the wrong answer.  The
problem was that a shr was used instead of a sar.

Change-Id: I0327f79c718016ddec9272a605fc50ec15ec4566

9 years agoMerge "Add some more DISALLOW_COPY_AND_ASSIGN"
Mathieu Chartier [Sun, 3 May 2015 22:26:22 +0000 (22:26 +0000)]
Merge "Add some more DISALLOW_COPY_AND_ASSIGN"

9 years agoAdd some more DISALLOW_COPY_AND_ASSIGN
Mathieu Chartier [Sun, 3 May 2015 22:20:23 +0000 (15:20 -0700)]
Add some more DISALLOW_COPY_AND_ASSIGN

May help prevent bugs maybe.

Change-Id: Ie73d469dfcd078492ecb3aa28682b42707221202

9 years agoMerge "Let the map function compute the relative pc."
Christopher Ferris [Sat, 2 May 2015 00:20:15 +0000 (00:20 +0000)]
Merge "Let the map function compute the relative pc."

9 years agoLet the map function compute the relative pc.
Christopher Ferris [Fri, 1 May 2015 23:03:49 +0000 (16:03 -0700)]
Let the map function compute the relative pc.

The new packed relocations linker option creates an elf with a non-zero
load base. It's no longer an easy task to compute the relative pc yourself
so call the helper function to do it for us.

Bug: 20687795

(cherry picked from commit 332ef327c2b1a5e1774ba0d1da23e07303002af9)

Change-Id: I3d61c767f21a3f240a14f9e8bc6bee53b6cdb60d

9 years agoMerge "Request full/partial GC type from VMRuntime.requestConcurrentGC()."
Hiroshi Yamauchi [Fri, 1 May 2015 23:22:51 +0000 (23:22 +0000)]
Merge "Request full/partial GC type from VMRuntime.requestConcurrentGC()."

9 years agoMerge "ART: Fix max build"
Andreas Gampe [Fri, 1 May 2015 23:13:38 +0000 (23:13 +0000)]
Merge "ART: Fix max build"

9 years agoART: Fix max build
Andreas Gampe [Fri, 1 May 2015 23:11:04 +0000 (16:11 -0700)]
ART: Fix max build

Change-Id: Id1b9c0ee05b61195d1c1f09a8938df3110c2f2b3

9 years agoMerge "Re-enable clang for Mips/Mips64 targets."
Chih-hung Hsieh [Fri, 1 May 2015 22:30:07 +0000 (22:30 +0000)]
Merge "Re-enable clang for Mips/Mips64 targets."

9 years agoRequest full/partial GC type from VMRuntime.requestConcurrentGC().
Hiroshi Yamauchi [Fri, 1 May 2015 21:33:19 +0000 (14:33 -0700)]
Request full/partial GC type from VMRuntime.requestConcurrentGC().

Bug: 20554807
Change-Id: I1cd855507c3f4e191035dbc2c429e1b8b344d81b

9 years agoFix mips64 bugs.
Douglas Leung [Wed, 29 Apr 2015 00:22:29 +0000 (17:22 -0700)]
Fix mips64 bugs.

There are 2 bugs here. First is Method* is computed twice. The
second is the wrong runtime callee save frame offset is being
used in computing Method*.

Change-Id: Ica23585a08be480a54d0cdd17eeca8027061b3f3

9 years agoRe-enable clang for Mips/Mips64 targets.
Duane Sand [Fri, 1 May 2015 18:34:51 +0000 (11:34 -0700)]
Re-enable clang for Mips/Mips64 targets.

The build-time errors described in
  https://android-review.googlesource.com/#/c/120512
are no longer happening.

BUG: 18807290
BUG: 18789639

Change-Id: I195bbb7d102fecd6a6e6a3357b0863dd6fddb01f

9 years agoMerge "Print memory maps on GC crash."
Hiroshi Yamauchi [Fri, 1 May 2015 20:35:57 +0000 (20:35 +0000)]
Merge "Print memory maps on GC crash."

9 years agoMerge "Add binary search table to .eh_frame_hdr"
Andreas Gampe [Fri, 1 May 2015 20:34:11 +0000 (20:34 +0000)]
Merge "Add binary search table to .eh_frame_hdr"

9 years agoAdd binary search table to .eh_frame_hdr
David Srbecky [Thu, 30 Apr 2015 18:57:35 +0000 (19:57 +0100)]
Add binary search table to .eh_frame_hdr

The addresses in the search table must be relative to the start
of .eh_frame_hdr which results in yet another pointer type to patch.
I have moved the Patch method back to elf_writer_quick where
it can be specialized to one of the three pointer types.

The .eh_frame_hdr takes around 17% of .eh_frame now.

Change-Id: I4770d1355ded6cdff9489c33380f6b06c4e3f9fe

9 years agoMerge "Do not write CFI and symbols for deduplicate methods."
Andreas Gampe [Fri, 1 May 2015 20:22:57 +0000 (20:22 +0000)]
Merge "Do not write CFI and symbols for deduplicate methods."

9 years agoPrint memory maps on GC crash.
Hiroshi Yamauchi [Fri, 1 May 2015 18:50:24 +0000 (11:50 -0700)]
Print memory maps on GC crash.

Bug: 20557050
Change-Id: I0fc35bace77b11181f06199c121bc4e246d02100

9 years agoMerge "Change invalid root from LOG(ERROR) to LOG(INTERNAL_FATAL)"
Mathieu Chartier [Fri, 1 May 2015 20:19:14 +0000 (20:19 +0000)]
Merge "Change invalid root from LOG(ERROR) to LOG(INTERNAL_FATAL)"

9 years agoChange invalid root from LOG(ERROR) to LOG(INTERNAL_FATAL)
Mathieu Chartier [Fri, 1 May 2015 20:00:23 +0000 (13:00 -0700)]
Change invalid root from LOG(ERROR) to LOG(INTERNAL_FATAL)

INTERNAL_FATAL is more likely to remain in bug reports.

Bug: 20736048
Change-Id: I518f079d8d1839e22b3595e807730edf36318f1d

9 years agoDo not write CFI and symbols for deduplicate methods.
David Srbecky [Fri, 1 May 2015 14:00:40 +0000 (15:00 +0100)]
Do not write CFI and symbols for deduplicate methods.

There is no need to have multiple symbols for a given address
since libunwind still has to pick only one to print.
Likewise, there is no need to duplicate the CFI.

There is fair number of duplicate methods in the boot image,
so this saves over 20% from those debug sections.

Change-Id: Ib4390150257d009a6303b084076750ce56afed60

9 years agoSkip compilation when falling-through out of method code.
Calin Juravle [Thu, 30 Apr 2015 18:28:21 +0000 (19:28 +0100)]
Skip compilation when falling-through out of method code.

Bug: 19988134
Change-Id: I68638ce9551848a67af587595f264b51f976df11

9 years agoMerge "Update the remaining input index of phis after deleting an input."
Nicolas Geoffray [Fri, 1 May 2015 09:10:56 +0000 (09:10 +0000)]
Merge "Update the remaining input index of phis after deleting an input."

9 years agoUpdate the remaining input index of phis after deleting an input.
Nicolas Geoffray [Mon, 27 Apr 2015 23:52:43 +0000 (00:52 +0100)]
Update the remaining input index of phis after deleting an input.

bug:20715803
bug:20690906

Change-Id: Iaf08f0c30d629e766be2b04815dc3e38b6e7ff35

9 years agoMerge "Move .eh_frame to the end of ELF file."
David Srbecky [Thu, 30 Apr 2015 16:08:32 +0000 (16:08 +0000)]
Merge "Move .eh_frame to the end of ELF file."

9 years agoMove .eh_frame to the end of ELF file.
David Srbecky [Tue, 28 Apr 2015 18:43:56 +0000 (19:43 +0100)]
Move .eh_frame to the end of ELF file.

Move .eh_frame to the end together with other debug sections.
This should make it easier to remove it using standard strip tools.

Bug:20556771
Change-Id: I8303ccb053aee50d53fb193819d345c91f1e5b75

9 years agoMerge "Major refactoring of ElfBuilder."
David Srbecky [Thu, 30 Apr 2015 16:07:16 +0000 (16:07 +0000)]
Merge "Major refactoring of ElfBuilder."

9 years agoMerge "Minor refactoring of ElfBuilder."
David Srbecky [Thu, 30 Apr 2015 16:07:06 +0000 (16:07 +0000)]
Merge "Minor refactoring of ElfBuilder."

9 years agoMajor refactoring of ElfBuilder.
David Srbecky [Wed, 22 Apr 2015 18:40:27 +0000 (19:40 +0100)]
Major refactoring of ElfBuilder.

Simplify ElfBuilder by removing duplicated or redundant code.
Many of the repeated code patterns were replaced by just
looping over the list of all sections.

Methods Init() and Write() have been merged into one.
The split between those was rather arbitrary, but it was there
for a reason.  It allowed creation of raw sections between
the calls which may have depended on layout decisions done in
Init(), but not in Write() (e.g. knowing of offset of .text).

This has been replaced by more generic solution.
All sections are asked about their size first and complete
file layout is calculated.  Then the sections are asked to
write their content (potentially using the layout information).

This should be pure refactoring CL - the compiler should
produce bit for bit identical output as before.

Change-Id: I281d13d469801bd8288b36b360d200d98a3e92d7

9 years agoMerge "Revert "GVN final fields even with side effects.""
Nicolas Geoffray [Thu, 30 Apr 2015 11:16:06 +0000 (11:16 +0000)]
Merge "Revert "GVN final fields even with side effects.""

9 years agoRevert "GVN final fields even with side effects."
Nicolas Geoffray [Thu, 30 Apr 2015 11:15:40 +0000 (11:15 +0000)]
Revert "GVN final fields even with side effects."

This reverts commit 781733632637db98d79dfffad72bf063be3259be.

Change-Id: Id7c4591f6b8190921852044b278d11627457c570

9 years agoMerge "GVN final fields even with side effects."
Nicolas Geoffray [Thu, 30 Apr 2015 10:21:19 +0000 (10:21 +0000)]
Merge "GVN final fields even with side effects."

9 years agoGVN final fields even with side effects.
Nicolas Geoffray [Wed, 29 Apr 2015 15:46:27 +0000 (16:46 +0100)]
GVN final fields even with side effects.

Two accesses of a final field can be GVN'ed even if there are
side effects between them.

Change-Id: I04495ae83c7858f4216b083ad1c29851954320ad

9 years agoMerge "ART: Allow oat files with duplicates classes in corner case"
Sebastien Hertz [Thu, 30 Apr 2015 07:18:07 +0000 (07:18 +0000)]
Merge "ART: Allow oat files with duplicates classes in corner case"

9 years agoMerge "Fix missing transaction abort error message"
Sebastien Hertz [Thu, 30 Apr 2015 06:53:35 +0000 (06:53 +0000)]
Merge "Fix missing transaction abort error message"

9 years agoART: Allow oat files with duplicates classes in corner case
Andreas Gampe [Thu, 30 Apr 2015 03:47:16 +0000 (20:47 -0700)]
ART: Allow oat files with duplicates classes in corner case

When the oat file is actually an odex file, that is, a preopted
/system app, then it is impossible to fall back to the original
APK, as that has been stripped.

When it looks like it will be impossible to successfully open the
original dex location, grudgingly allow to open the found oat file,
even if it has duplicate classes, but warn accordingly.

Bug: 20697582
Change-Id: I1dd459563d977a2e77806eacd03e49334d5b1f14

9 years agoMerge "Restore interpreter check during DoCall removed by string init."
Jeff Hao [Wed, 29 Apr 2015 23:03:46 +0000 (23:03 +0000)]
Merge "Restore interpreter check during DoCall removed by string init."

9 years agoRestore interpreter check during DoCall removed by string init.
Jeff Hao [Wed, 29 Apr 2015 22:58:17 +0000 (15:58 -0700)]
Restore interpreter check during DoCall removed by string init.

Also reorder test in verifier to check for string_init first.

Change-Id: I585ef3f5890819a3e233236ea85b51a03918f5dc

9 years agoMerge "Only print IRT remove local warning if CheckJNI is enabled"
Mathieu Chartier [Wed, 29 Apr 2015 17:37:47 +0000 (17:37 +0000)]
Merge "Only print IRT remove local warning if CheckJNI is enabled"

9 years agoOnly print IRT remove local warning if CheckJNI is enabled
Mathieu Chartier [Wed, 29 Apr 2015 16:57:48 +0000 (09:57 -0700)]
Only print IRT remove local warning if CheckJNI is enabled

Less spammy.

Bug: 17405090

Change-Id: Ib78d0d7bc31a88182cb9d85ddba9b469bd50324b

9 years agoMerge "Add synthesize uses at back edge."
Nicolas Geoffray [Wed, 29 Apr 2015 17:10:08 +0000 (17:10 +0000)]
Merge "Add synthesize uses at back edge."