OSDN Git Service

android-x86/art.git
10 years agoReduce stack usage for overflow checks
Dave Allison [Fri, 25 Jul 2014 23:15:27 +0000 (16:15 -0700)]
Reduce stack usage for overflow checks

This reduces the stack space reserved for overflow checks to 12K, split
into an 8K gap and a 4K protected region.  GC needs over 8K when running
in a stack overflow situation.

Also prevents signal runaway by detecting a signal inside code that
resulted from a signal handler invokation.  And adds a max signal count to
the SignalTest to prevent it running forever.

Also reduces the number of iterations for the InterfaceTest as this was
taking (almost) forever with the --trace option on run-test.

Bug: 15435566

Change-Id: Id4fd46f22d52d42a9eb431ca07948673e8fda694

10 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."""

10 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."

10 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

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

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

Change-Id: I61af7f3c9be47d4776371dfe2b97850ea3f3101f

10 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.

10 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."

10 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

10 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.""

10 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

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

10 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."

10 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

10 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."

10 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

10 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."

10 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

10 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"

10 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>
10 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"

10 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

10 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."

10 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

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

10 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>
10 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"

10 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

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

10 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

10 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"

10 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

10 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"

10 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."

10 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."

10 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

10 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

10 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

10 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."

10 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>
10 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"

10 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

10 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."

10 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

10 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"

10 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

10 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."

10 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

10 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."

10 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

10 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()."

10 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

10 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."

10 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

10 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."

10 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>
10 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."

10 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

10 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."

10 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

10 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.

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

10 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."

10 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."

10 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

10 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

10 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

10 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."

10 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

10 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."

10 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."

10 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

10 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."

10 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."

10 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

10 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

10 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

10 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

10 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.""

10 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

10 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.

10 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

10 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

10 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"

10 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

10 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."

10 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

10 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."

10 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

10 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.""

10 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"

10 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."

10 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."

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

10 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."

10 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

10 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."

10 years agoMake patchoat use the sht_entsize when patching.
Alex Light [Wed, 6 Aug 2014 20:37:23 +0000 (13:37 -0700)]
Make patchoat use the sht_entsize when patching.

This fixes an occasional problem with multiarch use of patchoat.

Change-Id: I80799de36774720bd985704f9b709a8378bb5af5

10 years agoAArch64: Implicit StackOverflow/NPE/Suspend checks.
Stuart Monteith [Wed, 11 Jun 2014 15:44:46 +0000 (16:44 +0100)]
AArch64: Implicit StackOverflow/NPE/Suspend checks.

This implements implicit stack overflow checks and null pointer exceptions
for AArch64.  Suspend checks are implemented but not switched on yet.

Change-Id: I2eb076f2c0c9d94793d5a898fea49cf409b4eb66
Signed-off-by: Stuart Monteith <stuart.monteith@arm.com>
10 years agoMerge "ART: Remove test files after test"
Andreas Gampe [Wed, 6 Aug 2014 23:35:04 +0000 (23:35 +0000)]
Merge "ART: Remove test files after test"