OSDN Git Service

android-x86/art.git
9 years agoMerge "Implement GenInlinedReverseBits"
Ian Rogers [Wed, 13 Aug 2014 04:53:16 +0000 (04:53 +0000)]
Merge "Implement GenInlinedReverseBits"

9 years agoImplement GenInlinedReverseBits
Yixin Shou [Mon, 28 Jul 2014 18:17:09 +0000 (14:17 -0400)]
Implement GenInlinedReverseBits

Added support for x86 inlined version of reverse method of int and long

Change-Id: I7dbdc13b4afedd56557e9eff038a31517cdb1843
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
9 years agoMerge "Fix art build script"
Ian Rogers [Wed, 13 Aug 2014 04:07:22 +0000 (04:07 +0000)]
Merge "Fix art build script"

9 years agoFix art build script
Junmo Park [Mon, 11 Aug 2014 12:28:16 +0000 (21:28 +0900)]
Fix art build script

Use ART_BUILD_HOST_NDEBUG instead of ART_BUILD_NDEBUG.

Change-Id: I0ff590552f47d3354287a155b51936a7aef82f1f
Signed-off-by: Junmo Park <junmoz.park@samsung.com>
9 years agoMerge "Revert "Revert "Remove GCC atomic workarounds."""
Dan Albert [Tue, 12 Aug 2014 21:42:23 +0000 (21:42 +0000)]
Merge "Revert "Revert "Remove GCC atomic workarounds."""

9 years agoMerge "Initialize art::Atomic's value to 0."
Dan Albert [Tue, 12 Aug 2014 21:13:11 +0000 (21:13 +0000)]
Merge "Initialize art::Atomic's value to 0."

9 years agoInitialize art::Atomic's value to 0.
Dan Albert [Tue, 12 Aug 2014 18:48:34 +0000 (11:48 -0700)]
Initialize art::Atomic's value to 0.

art::Mutex and art::ConditionVariable were DCHECKing that the value was
zero on entering the constructor without ever initializing the value.
Since 0 is a sensible default, make it the default for art::Atomic
rather than initializing for each use.

Bug: 16301104
Change-Id: I9c98b82c80670b7a6c53d46a08236bbed6a64f8f

9 years agoMerge "Prevent merge conflicts."
Mathieu Chartier [Tue, 12 Aug 2014 17:35:01 +0000 (17:35 +0000)]
Merge "Prevent merge conflicts."

9 years agoPrevent merge conflicts.
Mathieu Chartier [Tue, 12 Aug 2014 17:13:48 +0000 (10:13 -0700)]
Prevent merge conflicts.

Change-Id: I61af7f3c9be47d4776371dfe2b97850ea3f3101f

9 years agoRevert "Revert "Remove GCC atomic workarounds.""
Dan Albert [Mon, 11 Aug 2014 23:38:02 +0000 (16:38 -0700)]
Revert "Revert "Remove GCC atomic workarounds.""

This reverts commit 626a2468e4e4f39db7b0f35a4fee87293e360e92.

9 years agoMerge "Make method tracing deoptimize on startup."
Jeff Hao [Tue, 12 Aug 2014 16:41:42 +0000 (16:41 +0000)]
Merge "Make method tracing deoptimize on startup."

9 years agoMake method tracing deoptimize on startup.
Jeff Hao [Tue, 12 Aug 2014 01:00:29 +0000 (18:00 -0700)]
Make method tracing deoptimize on startup.

Bug: 16848366
Change-Id: I929c48622987c090c5233490d4e7836a21e1b57e

9 years agoMerge "Revert "Remove GCC atomic workarounds.""
Jeff Hao [Mon, 11 Aug 2014 22:28:51 +0000 (22:28 +0000)]
Merge "Revert "Remove GCC atomic workarounds.""

9 years agoRevert "Remove GCC atomic workarounds."
Jeff Hao [Mon, 11 Aug 2014 22:28:05 +0000 (22:28 +0000)]
Revert "Remove GCC atomic workarounds."

This reverts commit a29ffd505328b3d580c25fff054e463b7cac08a8.

Change-Id: Ibb4845b8a1378f3d1fb0975f9677758f420f843f

9 years agoMerge "Add tests for getDeclaredConstructor"
Mathieu Chartier [Mon, 11 Aug 2014 21:56:35 +0000 (21:56 +0000)]
Merge "Add tests for getDeclaredConstructor"

9 years agoMerge "Fix more of the Mac build."
Dave Allison [Mon, 11 Aug 2014 19:18:39 +0000 (19:18 +0000)]
Merge "Fix more of the Mac build."

9 years agoFix more of the Mac build.
Dan Albert [Sun, 10 Aug 2014 17:14:59 +0000 (10:14 -0700)]
Fix more of the Mac build.

Change-Id: I0fa52ef73e86318bb68de2c69bbed81a00bfc3e0

9 years agoMerge "AArch64: Fix art_quick_string_compareto."
Andreas Gampe [Tue, 12 Aug 2014 15:37:39 +0000 (15:37 +0000)]
Merge "AArch64: Fix art_quick_string_compareto."

9 years agoAArch64: Fix art_quick_string_compareto.
Zheng Xu [Tue, 12 Aug 2014 09:19:12 +0000 (17:19 +0800)]
AArch64: Fix art_quick_string_compareto.

Though __memcmp16() is implemented in the same module as the caller, it
is still possible that the toolchain would put __memcmp16() into plt. In
that case, IP registers can be trashed when loading the function address.
Use x14/x15 to replace IP0/IP1.

Bug: 16974467
Change-Id: Ica7294b9bf90342031efa5fd51a86a6fcab5852b

9 years agoMerge "Change FreeMemory and TotalMemory behavior."
Mathieu Chartier [Tue, 12 Aug 2014 02:01:01 +0000 (02:01 +0000)]
Merge "Change FreeMemory and TotalMemory behavior."

9 years agoChange FreeMemory and TotalMemory behavior.
Mathieu Chartier [Thu, 7 Aug 2014 00:06:33 +0000 (17:06 -0700)]
Change FreeMemory and TotalMemory behavior.

TotalMemory is now equal to the footprint limit (around when the
next GC will occur).
FreeMemory is now equal to TotalMemory() - bytes_allocated_.
Also added more memory dumping info to DumpGcPerformanceInfo.

Bug: 16520008
Bug: 15819878

Change-Id: Ifa59a2f2136dd0704097411ee183925e6c387fae

9 years agoMerge "Fix missing operation in CombineBlocks"
Vladimir Marko [Tue, 12 Aug 2014 11:57:24 +0000 (11:57 +0000)]
Merge "Fix missing operation in CombineBlocks"

9 years agoFix missing operation in CombineBlocks
Junmo Park [Tue, 12 Aug 2014 00:34:54 +0000 (09:34 +0900)]
Fix missing operation in CombineBlocks

explicit throw, conditional branch flags also need to be moved.
There are no quick compiler bugs before this CL.
So regression test is not necessary.

Change-Id: I5f7c0f261fff5f7a46b32763096ab4fe85b2c0c0
Signed-off-by: Junmo Park <junmoz.park@samsung.com>
9 years agoMerge "Fix missing operation in SplitBlock"
Vladimir Marko [Tue, 12 Aug 2014 10:54:08 +0000 (10:54 +0000)]
Merge "Fix missing operation in SplitBlock"

9 years agoRemove GCC atomic workarounds.
Ian Rogers [Mon, 11 Aug 2014 17:32:28 +0000 (10:32 -0700)]
Remove GCC atomic workarounds.

libcxx now has compatibility with GCC atomic support.
Bug: 16301104

Change-Id: I0ba5abf7147e999a8329c9e8a48b3712370ee4a6

9 years agoMerge "Add gcstress top-level make rule, eg test-art-host-run-test-gcstress."
Nicolas Geoffray [Mon, 11 Aug 2014 18:06:44 +0000 (18:06 +0000)]
Merge "Add gcstress top-level make rule, eg test-art-host-run-test-gcstress."

9 years agoAdd gcstress top-level make rule, eg test-art-host-run-test-gcstress.
Nicolas Geoffray [Mon, 11 Aug 2014 17:59:42 +0000 (18:59 +0100)]
Add gcstress top-level make rule, eg test-art-host-run-test-gcstress.

Change-Id: I221aa3274a513820b12ac25cdfecc911ce212144

9 years agoMerge "Remove GCC atomic workarounds."
Ian Rogers [Mon, 11 Aug 2014 17:38:49 +0000 (17:38 +0000)]
Merge "Remove GCC atomic workarounds."

9 years agoFix missing operation in SplitBlock
Junmo Park [Mon, 4 Aug 2014 09:51:21 +0000 (18:51 +0900)]
Fix missing operation in SplitBlock

If block which contains a conditional branch is divided two,
explicit throw, conditional branch flag needs to go to the bottom block.

Change-Id: I17a74f469d0c61fb30daa43fdb967ea485b2a6c3
Signed-off-by: Junmo Park <junmoz.park@samsung.com>
9 years agoMerge "Remove clang detected warning on tautological comparison"
Brian Carlstrom [Sat, 9 Aug 2014 05:30:45 +0000 (05:30 +0000)]
Merge "Remove clang detected warning on tautological comparison"

9 years agoRemove clang detected warning on tautological comparison
Brian Carlstrom [Sat, 9 Aug 2014 04:29:02 +0000 (21:29 -0700)]
Remove clang detected warning on tautological comparison

Bug: 16903117
Change-Id: I5847ef5a6091c01e14b9ffcd8f6d12cabfa8b63b

9 years agoMerge "Fix the Mac build."
Dan Albert [Sun, 10 Aug 2014 17:16:14 +0000 (17:16 +0000)]
Merge "Fix the Mac build."

9 years agoFix the Mac build.
Dan Albert [Sun, 10 Aug 2014 06:43:10 +0000 (23:43 -0700)]
Fix the Mac build.

Apparently Mac uses a different assembler directive for .hidden.

Change-Id: Ic2adb6bef82e376c3e5f4a29258a85a0dac00cd5

9 years agoMerge "ART: Do not check interface being subclass for member access"
Andreas Gampe [Sat, 9 Aug 2014 04:41:19 +0000 (04:41 +0000)]
Merge "ART: Do not check interface being subclass for member access"

9 years agoART: Do not check interface being subclass for member access
Andreas Gampe [Sat, 9 Aug 2014 02:55:37 +0000 (19:55 -0700)]
ART: Do not check interface being subclass for member access

When checking access to a protected member, do not try to see
whether an interface is a subclass of the declaring class.

Bug: 16904661

(cherry picked from commit 81db6a7c20aa008c7edbb7377b4bc3a9afe91bb7)

Change-Id: I3e1fa4ce9753e0a96633fff0fba807d72bc0b19d

9 years agoMerge "ART: Turn on dex2oat watchdog on target"
Andreas Gampe [Sat, 9 Aug 2014 01:20:01 +0000 (01:20 +0000)]
Merge "ART: Turn on dex2oat watchdog on target"

9 years agoMerge "Check pause histogram sample size."
Mathieu Chartier [Sat, 9 Aug 2014 01:01:16 +0000 (01:01 +0000)]
Merge "Check pause histogram sample size."

9 years agoMerge "Proper fix after -Bsymbolic change."
Dan Albert [Sun, 10 Aug 2014 05:17:32 +0000 (05:17 +0000)]
Merge "Proper fix after -Bsymbolic change."

9 years agoProper fix after -Bsymbolic change.
Dan Albert [Sun, 10 Aug 2014 01:08:07 +0000 (18:08 -0700)]
Proper fix after -Bsymbolic change.

Marking the offending symbols as hidden allows the linker to resolve
them at build time.

Bug: 16853291
Change-Id: I1480c1520c23f81e42831a66737bba7bdf3433c2

9 years agoCheck pause histogram sample size.
Mathieu Chartier [Sat, 9 Aug 2014 00:38:41 +0000 (17:38 -0700)]
Check pause histogram sample size.

There is a race where the GC sees > 0 iterations but 0 pauses.
We now check that there is a non zero number of pauses before
printing the pause histogram.

Bug: 16898792
Change-Id: I87813e5e6f27871ef79f70792925519d112f3534

9 years agoAdd tests for getDeclaredConstructor
Mathieu Chartier [Fri, 8 Aug 2014 22:10:11 +0000 (15:10 -0700)]
Add tests for getDeclaredConstructor

Ensure that getDeclaredConstructor throws exceptions for classes,
fields, and methods.

Bug: 16866726
Change-Id: I6f1a1252b9a409dee80653c25ae196db48dc004e

9 years agoMerge "ART: Fix two small DumpLIRInsn issues for x86_64 port."
Ian Rogers [Fri, 8 Aug 2014 20:54:05 +0000 (20:54 +0000)]
Merge "ART: Fix two small DumpLIRInsn issues for x86_64 port."

9 years agoART: Fix two small DumpLIRInsn issues for x86_64 port.
Haitao Feng [Sat, 9 Aug 2014 00:31:02 +0000 (08:31 +0800)]
ART: Fix two small DumpLIRInsn issues for x86_64 port.

Change-Id: I81ef32380bfc73d6c2bfc37a7f4903d912a5d9c8
Signed-off-by: Haitao Feng <haitao.feng@intel.com>
9 years agoMerge "ART: Fix wrong command line parameter"
Andreas Gampe [Fri, 8 Aug 2014 19:06:53 +0000 (19:06 +0000)]
Merge "ART: Fix wrong command line parameter"

9 years agoART: Fix wrong command line parameter
Andreas Gampe [Fri, 8 Aug 2014 19:05:10 +0000 (12:05 -0700)]
ART: Fix wrong command line parameter

Bug: 16843953
Change-Id: I59aea409a5f640a713f839927ba5c37b81e4ce0d

9 years agoMerge "Get the native bridge library from the framework."
Andreas Gampe [Fri, 8 Aug 2014 19:03:28 +0000 (19:03 +0000)]
Merge "Get the native bridge library from the framework."

9 years agoGet the native bridge library from the framework.
Calin Juravle [Thu, 7 Aug 2014 13:53:41 +0000 (14:53 +0100)]
Get the native bridge library from the framework.

Framework now passes the name of the native bridge to the runtime so
there's no need to do the reading in libart.

Bug: 16843953
Change-Id: I59b5c3050c6e1a37a627a8c98d7085e91487c32c

9 years agoMerge "ART: Make assembler_test less chatty"
Andreas Gampe [Fri, 8 Aug 2014 17:50:02 +0000 (17:50 +0000)]
Merge "ART: Make assembler_test less chatty"

9 years agoART: Make assembler_test less chatty
Andreas Gampe [Wed, 6 Aug 2014 22:31:06 +0000 (15:31 -0700)]
ART: Make assembler_test less chatty

Do not save temporaries in case we use a different encoding than
the host assembler.

Bug: 16505797
Change-Id: Iaa9edfe8bc84d7f809f5b403de902b92b0998431

9 years agoMerge "Wire up check JNI force copy mode."
Ian Rogers [Fri, 8 Aug 2014 17:48:58 +0000 (17:48 +0000)]
Merge "Wire up check JNI force copy mode."

9 years agoWire up check JNI force copy mode.
Ian Rogers [Thu, 17 Jul 2014 18:09:10 +0000 (11:09 -0700)]
Wire up check JNI force copy mode.

Increase check JNI checks.
Break apart jni_internal.h in to jni_env_ext.h and java_vm_ext.h.
Fix the abuse of ScopedObjectAccess/annotalysis by ScopedCheck in the case
of VM routines.
Make class loader override and shared library class loader JNI global
references rather than mirror pointers.
Clean-ups to native bridge.

Change-Id: If7c6110b5aade7a402bfb67534af86a7b2cdeb55

9 years agoMerge "Use the right instruction set for checking dex-cache staleness."
Narayan Kamath [Fri, 8 Aug 2014 15:48:23 +0000 (15:48 +0000)]
Merge "Use the right instruction set for checking dex-cache staleness."

9 years agoUse the right instruction set for checking dex-cache staleness.
Narayan Kamath [Fri, 8 Aug 2014 15:19:44 +0000 (16:19 +0100)]
Use the right instruction set for checking dex-cache staleness.

We should use the instruction set we're asked to use, and not
the instruction set of the current runtime.

bug: 16876489

(cherry picked from commit 24e928bddaf8b4af6cdf6d64a7c35bfde059995c)

Change-Id: I07901f059f9966b961e76bc055eaa04ea0227824

9 years agoMerge "Fix performance regression in OatFile::GetOatDexFile()."
Vladimir Marko [Fri, 8 Aug 2014 12:41:57 +0000 (12:41 +0000)]
Merge "Fix performance regression in OatFile::GetOatDexFile()."

9 years agoFix performance regression in OatFile::GetOatDexFile().
Vladimir Marko [Thu, 7 Aug 2014 17:07:18 +0000 (18:07 +0100)]
Fix performance regression in OatFile::GetOatDexFile().

Try to avoid calculating the canonical location of the
dex file if possible and when we have to calculate it,
cache the lookup result for subsequent lookups.

Bug: 16828525
Bug: 16859671
Change-Id: I0f03007ba5adf08656615900cf125075a3f2c541

9 years agoMerge "Fix target and host gtest dependencies."
Nicolas Geoffray [Thu, 7 Aug 2014 18:16:38 +0000 (18:16 +0000)]
Merge "Fix target and host gtest dependencies."

9 years agoFix target and host gtest dependencies.
Nicolas Geoffray [Thu, 7 Aug 2014 00:58:32 +0000 (01:58 +0100)]
Fix target and host gtest dependencies.

Change-Id: I0da17b12fc2164d9d8bdb8bcf61947c7788c6b8b

9 years agoMerge "Add implicit checks for x86_64 architecture."
Dave Allison [Thu, 7 Aug 2014 18:15:28 +0000 (18:15 +0000)]
Merge "Add implicit checks for x86_64 architecture."

9 years agoAdd implicit checks for x86_64 architecture.
Dave Allison [Wed, 16 Jul 2014 23:04:32 +0000 (16:04 -0700)]
Add implicit checks for x86_64 architecture.

This combines the x86 and x86_64 fault handlers into one.  It also
merges in the change to the entrypoints for X86_64.

Replaces generic instruction length calculator with one that only
works with the specific instructions we use.

Bug: 16256184

Change-Id: I1e8ab5ad43f46060de9597615b423c89a836035c
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
9 years agoMerge "Fix GetDexCanonicalLocation test for relative paths."
Calin Juravle [Thu, 7 Aug 2014 12:46:20 +0000 (12:46 +0000)]
Merge "Fix GetDexCanonicalLocation test for relative paths."

9 years agoFix GetDexCanonicalLocation test for relative paths.
Calin Juravle [Thu, 7 Aug 2014 10:54:36 +0000 (11:54 +0100)]
Fix GetDexCanonicalLocation test for relative paths.

If the reference file is created with a relative path the test will
fail.

Change-Id: Ifa8e650e3c8b1d28600ce994d7e6e0cb422b0c9d

9 years agoMerge changes I0c2e2efb,Id842648e
Nicolas Geoffray [Fri, 8 Aug 2014 01:01:48 +0000 (01:01 +0000)]
Merge changes I0c2e2efb,Id842648e

* changes:
  Workaround for test failures after Bsymbolic fix.
  Revert "Fix build without -Bsymbolic."

9 years agoWorkaround for test failures after Bsymbolic fix.
Dan Albert [Fri, 8 Aug 2014 00:39:34 +0000 (17:39 -0700)]
Workaround for test failures after Bsymbolic fix.

Change-Id: I0c2e2efbeb5060d4ec5ba706dab422b3c2caaa96

9 years agoRevert "Fix build without -Bsymbolic."
Dan Albert [Fri, 8 Aug 2014 00:40:03 +0000 (17:40 -0700)]
Revert "Fix build without -Bsymbolic."

This reverts commit bae21bb7f6ca917e0954c970f0bfd2bfa3dcc0a9.

9 years agoMerge "Fix build without -Bsymbolic."
Dan Albert [Thu, 7 Aug 2014 23:23:32 +0000 (23:23 +0000)]
Merge "Fix build without -Bsymbolic."

9 years agoMerge "Clean up card table test."
Mathieu Chartier [Thu, 7 Aug 2014 23:04:02 +0000 (23:04 +0000)]
Merge "Clean up card table test."

9 years agoMerge "Guard pause histogram with lock."
Mathieu Chartier [Thu, 7 Aug 2014 22:22:07 +0000 (22:22 +0000)]
Merge "Guard pause histogram with lock."

9 years agoGuard pause histogram with lock.
Mathieu Chartier [Thu, 7 Aug 2014 21:26:27 +0000 (14:26 -0700)]
Guard pause histogram with lock.

There is a race condition since the GC was updating this without
holding any locks. But the signal catcher could be dumping the
timings with DumpGcPerformanceInfo at the same time. This could
potentially cause out of bound errors, etc..

Also did a bit of cleanup.

Bug: 15446488
Change-Id: Icaff19d872cc7f7d31c34e4ddaae97502454e09c

9 years agoClean up card table test.
Mathieu Chartier [Thu, 7 Aug 2014 00:48:43 +0000 (17:48 -0700)]
Clean up card table test.

Change-Id: Idd313dbf8a238b014741d48be091375646dccd6d

9 years agoFix build without -Bsymbolic.
Dan Albert [Thu, 7 Aug 2014 04:36:46 +0000 (21:36 -0700)]
Fix build without -Bsymbolic.

For ARM: Gold is unable to create PLT based relocations for conditional
branches.
For x86: Some uses of SYMBOL() should have been PLT_SYMBOL().

Bug: 16853291
Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c

9 years agoMerge "Add arraycopy intrinsic for arm and arm64."
Andreas Gampe [Thu, 7 Aug 2014 21:40:57 +0000 (21:40 +0000)]
Merge "Add arraycopy intrinsic for arm and arm64."

9 years agoAdd arraycopy intrinsic for arm and arm64.
Zheng Xu [Thu, 7 Aug 2014 06:05:23 +0000 (14:05 +0800)]
Add arraycopy intrinsic for arm and arm64.

Implement intrinsic for
java.lang.System.arraycopy(char[], int, char[], int, int).

Bug: 16241558
Change-Id: I558a9c4403d0c3abb07af1511d394981bbfcabc5

9 years agoMerge "Emit CFI for x86 & x86_64 JNI compiler."
Andreas Gampe [Thu, 7 Aug 2014 21:38:15 +0000 (21:38 +0000)]
Merge "Emit CFI for x86 & x86_64 JNI compiler."

9 years agoMerge "Support x86_64 stack overflow checks in opt compiler."
Nicolas Geoffray [Thu, 7 Aug 2014 21:03:30 +0000 (21:03 +0000)]
Merge "Support x86_64 stack overflow checks in opt compiler."

9 years agoSupport x86_64 stack overflow checks in opt compiler.
Nicolas Geoffray [Thu, 7 Aug 2014 19:25:41 +0000 (20:25 +0100)]
Support x86_64 stack overflow checks in opt compiler.

Also re-enable SignalTest on optimizing-32.

Change-Id: I2ca13f6f9ea775c654ee07cc5026c985263d6380

9 years agoMerge "Fix a SIGSEGV at background-to-foreground collector transition."
Hiroshi Yamauchi [Thu, 7 Aug 2014 19:20:25 +0000 (19:20 +0000)]
Merge "Fix a SIGSEGV at background-to-foreground collector transition."

9 years agoMerge "Check for a NULL pointer, do not call Build."
Christopher Ferris [Thu, 7 Aug 2014 19:09:34 +0000 (19:09 +0000)]
Merge "Check for a NULL pointer, do not call Build."

9 years agoFix a SIGSEGV at background-to-foreground collector transition.
Hiroshi Yamauchi [Thu, 7 Aug 2014 17:27:17 +0000 (10:27 -0700)]
Fix a SIGSEGV at background-to-foreground collector transition.

The mem map that's used to create the backup main rosalloc space is
set to PROT_NONE by the compaction and the rosalloc space creation
attempts to write the debug magic number in the first page.

This is a debug build only issue.

Bug: 16854263
Change-Id: I3cc6b7288ee53c006366bb428fb245a909bc3db5

9 years agoRevert "Rename openDexFileNative to openDexFile."
Calin Juravle [Wed, 6 Aug 2014 19:07:41 +0000 (19:07 +0000)]
Revert "Rename openDexFileNative to openDexFile."

https://android-review.googlesource.com/#/c/103383/ introduces
absolute paths so we need back the old method name

Bug: 16644204

This reverts commit 350b626eb1cfbaee7619e9453a4c018c07aed003.

Change-Id: I10f430a536bb1906a8452fea5846ec9e725e84bd

9 years agoCheck for a NULL pointer, do not call Build.
Christopher Ferris [Tue, 5 Aug 2014 22:43:13 +0000 (15:43 -0700)]
Check for a NULL pointer, do not call Build.

When calling BacktraceMap::Create(), a NULL pointer is returned if Build
fails. Building twice can cause problems and might leak memory.

Change-Id: I38a4100e534ef15a19883703aa504e795a14b6de

9 years agoEmit CFI for x86 & x86_64 JNI compiler.
Tong Shen [Tue, 5 Aug 2014 08:54:19 +0000 (01:54 -0700)]
Emit CFI for x86 & x86_64 JNI compiler.

Now for host-side x86 & x86_64 ART, we are able to get complete stacktrace with even mixed C/C++ & Java stack frames.

Testing:
1. art/test/run-test --host --gdb [--64] --no-relocate 005
2. In gdb, run 'b art::Class_classForName' which is implementation of a Java native method, then 'r'
3. In gdb, run 'bt'. You should see stack frames down to main()

Change-Id: I2d17e9aa0f6d42d374b5362a15ea35a2fce96302

9 years agoMerge "Revert "Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY.""
Brian Carlstrom [Wed, 6 Aug 2014 16:42:26 +0000 (16:42 +0000)]
Merge "Revert "Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY.""

9 years agoRevert "Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY."
Brian Carlstrom [Mon, 28 Jul 2014 23:12:58 +0000 (23:12 +0000)]
Revert "Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY."

This reverts commit b1efe9746724f28773d185c7137c16ca8207ed47.

Change-Id: I5af2fae2c7b72e6ded72f00d3f7d4f306f6703ee

9 years agoMerge changes Ibe92d8b5,I9bada598
Brian Carlstrom [Tue, 5 Aug 2014 17:49:28 +0000 (17:49 +0000)]
Merge changes Ibe92d8b5,I9bada598

* changes:
  Make system use patchoat to relocate during runtime.
  Temporary fix for bad LIR generation in GenInlinedGet.

9 years agoMake system use patchoat to relocate during runtime.
Alex Light [Fri, 18 Jul 2014 21:57:04 +0000 (14:57 -0700)]
Make system use patchoat to relocate during runtime.

Change dalvik_system_DexFile.cc so that isDexOptNeededInternal will be
able to indicate that a patchoat is required. Change default of relocate
option to be on.

Bug: 15358152

Change-Id: Ibe92d8b55a24bbf718b0416a21b76e5df7a2de26

9 years agoTemporary fix for bad LIR generation in GenInlinedGet.
Alex Light [Tue, 29 Jul 2014 22:22:40 +0000 (15:22 -0700)]
Temporary fix for bad LIR generation in GenInlinedGet.

In GenInlinedGet we will sometimes try to load a class directly. If
we are doing that and find one, but cannot get the direct pointer
(due to image compilation or including patch information) we might
end up generating incorrect patching code due to the changing of the
cu_->dex_file attribute.

Bug: 16656190
Change-Id: I9bada598bf4fd972d6164163eedd4a496da306d6

9 years agoMerge "Add test for equals and hashCode in ParameterizedType"
Piotr Jastrzebski [Thu, 7 Aug 2014 11:21:50 +0000 (11:21 +0000)]
Merge "Add test for equals and hashCode in ParameterizedType"

9 years agoAdd test for equals and hashCode in ParameterizedType
Piotr Jastrzebski [Wed, 6 Aug 2014 11:02:48 +0000 (12:02 +0100)]
Add test for equals and hashCode in ParameterizedType

and GenericArrayType.

Bug: 14590652
Bug: https://code.google.com/p/android/issues/detail?id=74060
Change-Id: Ic814bcc24b1461b42ac809eaaa7a41d9f5a60406

9 years agoMerge "Fix byte_cas to use uintptr_t Atomic."
Mathieu Chartier [Wed, 6 Aug 2014 01:12:05 +0000 (01:12 +0000)]
Merge "Fix byte_cas to use uintptr_t Atomic."

9 years agoFix byte_cas to use uintptr_t Atomic.
Mathieu Chartier [Tue, 5 Aug 2014 22:59:43 +0000 (15:59 -0700)]
Fix byte_cas to use uintptr_t Atomic.

Previously we used int32_t Atomic with a uintptr_t bit shift.
This was a mismatch on 64 bit and resulted in occasionally
having the cas return without having succeeded.

Bug: 16819816

Change-Id: I10fa9c2f09ae8fe0997a4c9293fa123c6bde5920

9 years agoMerge "Fix movw in x86_64 assembler."
Nicolas Geoffray [Tue, 5 Aug 2014 22:19:45 +0000 (22:19 +0000)]
Merge "Fix movw in x86_64 assembler."

9 years agoFix movw in x86_64 assembler.
Nicolas Geoffray [Tue, 5 Aug 2014 21:52:45 +0000 (22:52 +0100)]
Fix movw in x86_64 assembler.

Change-Id: Ibceb03fd57adea09643aa77a9399be196fa14709

9 years agoMerge "Revert "Rename openDexFileNative to openDexFile.""
Calin Juravle [Thu, 7 Aug 2014 09:57:40 +0000 (09:57 +0000)]
Merge "Revert "Rename openDexFileNative to openDexFile.""

9 years agoMerge "x86: Fix assembler for Pextr"
Ian Rogers [Tue, 5 Aug 2014 21:57:45 +0000 (21:57 +0000)]
Merge "x86: Fix assembler for Pextr"

9 years agoMerge "Fix analysis_attributes_ to update missing definitions."
Bill Buzbee [Thu, 7 Aug 2014 01:17:42 +0000 (01:17 +0000)]
Merge "Fix analysis_attributes_ to update missing definitions."

9 years agoMerge "AArch64: Implicit StackOverflow/NPE/Suspend checks."
Dave Allison [Thu, 7 Aug 2014 00:20:29 +0000 (00:20 +0000)]
Merge "AArch64: Implicit StackOverflow/NPE/Suspend checks."

9 years agoMerge "Fix art build script."
Ian Rogers [Thu, 7 Aug 2014 00:11:35 +0000 (00:11 +0000)]
Merge "Fix art build script."

9 years agoMerge "Fixed build breakage due to incorrect class TypeId."
Mathieu Chartier [Thu, 7 Aug 2014 00:02:15 +0000 (00:02 +0000)]
Merge "Fixed build breakage due to incorrect class TypeId."

9 years agoFixed build breakage due to incorrect class TypeId.
Fred Shih [Wed, 6 Aug 2014 23:44:22 +0000 (16:44 -0700)]
Fixed build breakage due to incorrect class TypeId.

Fixed incorrect type id being inserted in code buffer and got rid of
inefficient pointer wrapping in LoadClassType.

Change-Id: I7ee1d957ebcd816445c26199723ac50787d926d7

9 years agoMerge "Make patchoat use the sht_entsize when patching."
Nicolas Geoffray [Wed, 6 Aug 2014 23:37:02 +0000 (23:37 +0000)]
Merge "Make patchoat use the sht_entsize when patching."