OSDN Git Service

android-x86/art.git
10 years agoam 6cea2a6c: Merge "Re-enable DEX-to-DEX compilation path"
Sebastien Hertz [Fri, 4 Apr 2014 15:19:24 +0000 (15:19 +0000)]
am 6cea2a6c: Merge "Re-enable DEX-to-DEX compilation path"

* commit '6cea2a6c42d3a4871e3b64fe55abcb5ffc8f09de':
  Re-enable DEX-to-DEX compilation path

10 years agoMerge "Re-enable DEX-to-DEX compilation path"
Sebastien Hertz [Fri, 4 Apr 2014 15:07:26 +0000 (15:07 +0000)]
Merge "Re-enable DEX-to-DEX compilation path"

10 years agoRe-enable DEX-to-DEX compilation path
Sebastien Hertz [Fri, 4 Apr 2014 13:59:53 +0000 (15:59 +0200)]
Re-enable DEX-to-DEX compilation path

Bug: 13807032
Change-Id: I6de7adb81a0f955a93257b83db9ad689ebcd90ad

10 years agoam 764c798b: Merge "Fix LoadValueWide to not call MarkLive for high reg that is equal...
Bill Buzbee [Fri, 4 Apr 2014 14:11:58 +0000 (14:11 +0000)]
am 764c798b: Merge "Fix LoadValueWide to not call MarkLive for high reg that is equal to low reg"

* commit '764c798b57b7baa04885fcdf5eba5708a01b9edc':
  Fix LoadValueWide to not call MarkLive for high reg that is equal to low reg

10 years agoMerge "Fix LoadValueWide to not call MarkLive for high reg that is equal to low reg"
Bill Buzbee [Fri, 4 Apr 2014 14:00:12 +0000 (14:00 +0000)]
Merge "Fix LoadValueWide to not call MarkLive for high reg that is equal to low reg"

10 years agoam 09dfce73: Merge "Clean up special method inlining."
Vladimir Marko [Fri, 4 Apr 2014 13:25:40 +0000 (13:25 +0000)]
am 09dfce73: Merge "Clean up special method inlining."

* commit '09dfce73c4e849afda37035146dd2932220708d3':
  Clean up special method inlining.

10 years agoMerge "Clean up special method inlining."
Vladimir Marko [Fri, 4 Apr 2014 13:18:51 +0000 (13:18 +0000)]
Merge "Clean up special method inlining."

10 years agoClean up special method inlining.
Vladimir Marko [Fri, 4 Apr 2014 11:37:07 +0000 (12:37 +0100)]
Clean up special method inlining.

Mark inlined getter/setter INVOKEs as NOP to allow implicit
null checks (SIGSEGV-based) rather than the explicit checks
in GenInvoke().

Avoid inlining wide setter and returning wide argument if
the wide source is not in consecutive dalvik registers in
INVOKE. This is valid dalvik bytecode and we should treat it
correctly even if we're currently unaware of any tools that
would generate such INVOKEs.

Remove bogus MIR_INLINED checks from LVN.

Change-Id: I7e75a832fcf9bd0550e21b1c8b3813c6166197dd

10 years agoam 3734bffd: Merge "Use target-specific word instead of runtime word."
Nicolas Geoffray [Fri, 4 Apr 2014 10:26:15 +0000 (10:26 +0000)]
am 3734bffd: Merge "Use target-specific word instead of runtime word."

* commit '3734bffdf77e2bc293eb9722f9bd4389fbaa0d92':
  Use target-specific word instead of runtime word.

10 years agoMerge "Use target-specific word instead of runtime word."
Nicolas Geoffray [Fri, 4 Apr 2014 10:13:53 +0000 (10:13 +0000)]
Merge "Use target-specific word instead of runtime word."

10 years agoUse target-specific word instead of runtime word.
Nicolas Geoffray [Fri, 4 Apr 2014 09:50:14 +0000 (10:50 +0100)]
Use target-specific word instead of runtime word.

Change-Id: Ia11dc3cc520a1a5c7bd017013e5699af9570ce91

10 years agoam 7efad5d3: Merge "Disassemble Thumb2 shifts and more VFP instructions."
Vladimir Marko [Fri, 4 Apr 2014 09:25:49 +0000 (09:25 +0000)]
am 7efad5d3: Merge "Disassemble Thumb2 shifts and more VFP instructions."

* commit '7efad5d3a806a15166109837439f2e149031feef':
  Disassemble Thumb2 shifts and more VFP instructions.

10 years agoam 885e813e: Merge "Add support for new-instance and invoke-direct."
Nicolas Geoffray [Fri, 4 Apr 2014 09:25:49 +0000 (09:25 +0000)]
am 885e813e: Merge "Add support for new-instance and invoke-direct."

* commit '885e813edc121cd8392eb066981522424480253c':
  Add support for new-instance and invoke-direct.

10 years agoam 6f31ce38: Merge "Please clang by making explicit instantiations non-static."
Nicolas Geoffray [Fri, 4 Apr 2014 09:25:48 +0000 (09:25 +0000)]
am 6f31ce38: Merge "Please clang by making explicit instantiations non-static."

* commit '6f31ce382777d82952d019908866ff28ef3bbc76':
  Please clang by making explicit instantiations non-static.

10 years agoam 839f43a4: Merge "Explicitly instantiate artInvokeCommon to please analysis tool."
Nicolas Geoffray [Fri, 4 Apr 2014 09:20:50 +0000 (09:20 +0000)]
am 839f43a4: Merge "Explicitly instantiate artInvokeCommon to please analysis tool."

* commit '839f43a40c9fe170266f42a9726c02195c73d043':
  Explicitly instantiate artInvokeCommon to please analysis tool.

10 years agoam 541dd231: Merge "Insert an empty read barrier call."
Hiroshi Yamauchi [Fri, 4 Apr 2014 09:20:48 +0000 (09:20 +0000)]
am 541dd231: Merge "Insert an empty read barrier call."

* commit '541dd231f9a7282f7fd1092349a322dc67bafaf2':
  Insert an empty read barrier call.

10 years agoMerge "Disassemble Thumb2 shifts and more VFP instructions."
Vladimir Marko [Fri, 4 Apr 2014 09:14:00 +0000 (09:14 +0000)]
Merge "Disassemble Thumb2 shifts and more VFP instructions."

10 years agoMerge "Add support for new-instance and invoke-direct."
Nicolas Geoffray [Fri, 4 Apr 2014 09:07:17 +0000 (09:07 +0000)]
Merge "Add support for new-instance and invoke-direct."

10 years agoMerge "Please clang by making explicit instantiations non-static."
Nicolas Geoffray [Fri, 4 Apr 2014 09:06:06 +0000 (09:06 +0000)]
Merge "Please clang by making explicit instantiations non-static."

10 years agoPlease clang by making explicit instantiations non-static.
Nicolas Geoffray [Fri, 4 Apr 2014 08:55:27 +0000 (09:55 +0100)]
Please clang by making explicit instantiations non-static.

Change-Id: I4112bf62c69b4f28ca369c4bf3c626be43692afd

10 years agoAdd support for new-instance and invoke-direct.
Nicolas Geoffray [Thu, 3 Apr 2014 17:49:58 +0000 (18:49 +0100)]
Add support for new-instance and invoke-direct.

Change-Id: I2daed646904f7711972a7da15d88be7573426932

10 years agoMerge "Explicitly instantiate artInvokeCommon to please analysis tool."
Nicolas Geoffray [Fri, 4 Apr 2014 08:35:57 +0000 (08:35 +0000)]
Merge "Explicitly instantiate artInvokeCommon to please analysis tool."

10 years agoExplicitly instantiate artInvokeCommon to please analysis tool.
Nicolas Geoffray [Fri, 4 Apr 2014 08:26:24 +0000 (09:26 +0100)]
Explicitly instantiate artInvokeCommon to please analysis tool.

Change-Id: I5c078a197c5026e9bd886d0ba1e188054b5ffa75

10 years agoMerge "Insert an empty read barrier call."
Hiroshi Yamauchi [Fri, 4 Apr 2014 04:34:09 +0000 (04:34 +0000)]
Merge "Insert an empty read barrier call."

10 years agoInsert an empty read barrier call.
Hiroshi Yamauchi [Thu, 3 Apr 2014 00:32:54 +0000 (17:32 -0700)]
Insert an empty read barrier call.

Bug: 12687968
Change-Id: Ie1d28658e16e09f6a983cb5c1f0d5b375b7ae069

10 years agoam e9236f03: Merge "Fix Object::Clone()\'s pre-fence barrier."
Hiroshi Yamauchi [Fri, 4 Apr 2014 03:06:48 +0000 (03:06 +0000)]
am e9236f03: Merge "Fix Object::Clone()\'s pre-fence barrier."

* commit 'e9236f03d8c4348a8f1a8767baa1aea60ecdc1f5':
  Fix Object::Clone()'s pre-fence barrier.

10 years agoMerge "Fix Object::Clone()'s pre-fence barrier."
Hiroshi Yamauchi [Fri, 4 Apr 2014 02:54:16 +0000 (02:54 +0000)]
Merge "Fix Object::Clone()'s pre-fence barrier."

10 years agoam e5893f8f: Merge "Restore the args in the invoke trampoline slow paths."
Mathieu Chartier [Fri, 4 Apr 2014 02:01:13 +0000 (02:01 +0000)]
am e5893f8f: Merge "Restore the args in the invoke trampoline slow paths."

* commit 'e5893f8fb70c58fe9950c1fc8b1023e32ca34637':
  Restore the args in the invoke trampoline slow paths.

10 years agoMerge "Restore the args in the invoke trampoline slow paths."
Mathieu Chartier [Fri, 4 Apr 2014 00:47:42 +0000 (00:47 +0000)]
Merge "Restore the args in the invoke trampoline slow paths."

10 years agoam 03bafa4b: Merge "Do not output ARM64 assembler debug code."
Andreas Gampe [Fri, 4 Apr 2014 00:08:17 +0000 (00:08 +0000)]
am 03bafa4b: Merge "Do not output ARM64 assembler debug code."

* commit '03bafa4b80e130664295a8eada93d20bc6f6cdeb':
  Do not output ARM64 assembler debug code.

10 years agoam 77093dc3: Merge "Make frame size dependent on arch-specific constants."
Andreas Gampe [Fri, 4 Apr 2014 00:08:16 +0000 (00:08 +0000)]
am 77093dc3: Merge "Make frame size dependent on arch-specific constants."

* commit '77093dc31ddce272e7856a20ece595bf5554e0a6':
  Make frame size dependent on arch-specific constants.

10 years agoam 0666dcbc: Merge "Add OpEndIT() for marking the end of OpIT blocks"
Dave Allison [Fri, 4 Apr 2014 00:08:15 +0000 (00:08 +0000)]
am 0666dcbc: Merge "Add OpEndIT() for marking the end of OpIT blocks"

* commit '0666dcbc600db012760218247aed24c5eff36128':
  Add OpEndIT() for marking the end of OpIT blocks

10 years agoam 0537c5ea: Merge "Fix off-by-1 error in new SpaceBitmap"
Andreas Gampe [Fri, 4 Apr 2014 00:08:13 +0000 (00:08 +0000)]
am 0537c5ea: Merge "Fix off-by-1 error in new SpaceBitmap"

* commit '0537c5ea92a4fb60a04024cc2b7247f08a3d9096':
  Fix off-by-1 error in new SpaceBitmap

10 years agoam 7f74c43c: Merge "Add monitor_enter_object as root."
Mathieu Chartier [Fri, 4 Apr 2014 00:08:12 +0000 (00:08 +0000)]
am 7f74c43c: Merge "Add monitor_enter_object as root."

* commit '7f74c43c2c621512e7331e2876ae4d4c44d28ff0':
  Add monitor_enter_object as root.

10 years agoFix Object::Clone()'s pre-fence barrier.
Hiroshi Yamauchi [Thu, 3 Apr 2014 23:28:10 +0000 (16:28 -0700)]
Fix Object::Clone()'s pre-fence barrier.

Pass in a pre-fence barrier object that sets in the array length
instead of setting it after returning from AllocObject().

Fix another potential bug due to the wrong default pre-fence barrier
parameter value. Since this appears error-prone, removed the default
parameter value and make it an explicit parameter.

Fix another potential moving GC bug due to a lack of a SirtRef.

Bug: 13097759
Change-Id: I466aa0e50f9e1a5dbf20be5a195edee619c7514e

10 years agoRestore the args in the invoke trampoline slow paths.
Mathieu Chartier [Thu, 3 Apr 2014 22:25:30 +0000 (15:25 -0700)]
Restore the args in the invoke trampoline slow paths.

Previously, there were errors caused by not restoring the args for
the slow path in artInvokeInterfaceTrampoline and artInvokeCommon. The
slow path in artInvokeInterfaceTrampoline occurs when you attempt
to do an interface dispatch of a method in another dex file. The slow
path in artInvokeCommon occurs when the method in dex cache is not
already resolved.

Since FindMethodFromCode may resolve a method, it can occasionally
cause thread suspension/GC. If a moving GC occurred at this point it
resulted in this_object being invalid after the trampoline returned
the code pointer. This caused a native crash in one of the money runs
since there was an unbundeled app which did a List.iterator call.

Bug: 12934910
Change-Id: Ib454faad14bef0d7732a6d7f1ca5803472d502a6

10 years agoFix LoadValueWide to not call MarkLive for high reg that is equal to low reg
Chao-ying Fu [Thu, 3 Apr 2014 22:09:37 +0000 (15:09 -0700)]
Fix LoadValueWide to not call MarkLive for high reg that is equal to low reg

For x86 double FP registers, LoadValueWide should not call MarkLive for
high reg that is equal to low reg.

Change-Id: Ie6a59307c9ff93303bd489c15529432cfdeceaa4
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
10 years agoMerge "Do not output ARM64 assembler debug code."
Andreas Gampe [Thu, 3 Apr 2014 20:46:07 +0000 (20:46 +0000)]
Merge "Do not output ARM64 assembler debug code."

10 years agoMerge "Make frame size dependent on arch-specific constants."
Andreas Gampe [Thu, 3 Apr 2014 20:43:06 +0000 (20:43 +0000)]
Merge "Make frame size dependent on arch-specific constants."

10 years agoMerge "Add OpEndIT() for marking the end of OpIT blocks"
Dave Allison [Thu, 3 Apr 2014 20:41:20 +0000 (20:41 +0000)]
Merge "Add OpEndIT() for marking the end of OpIT blocks"

10 years agoMake frame size dependent on arch-specific constants.
Andreas Gampe [Thu, 3 Apr 2014 20:31:32 +0000 (13:31 -0700)]
Make frame size dependent on arch-specific constants.

Necessary for proper cross-compiling.

Change-Id: I852901ee6ca5121e480b83a8e318bdc9c7d615e8

10 years agoDisassemble Thumb2 shifts and more VFP instructions.
Vladimir Marko [Thu, 3 Apr 2014 16:59:02 +0000 (17:59 +0100)]
Disassemble Thumb2 shifts and more VFP instructions.

Disassemble Thumb2 instructions LSL, LSR, ASR, ROR and VFP
instructions VABS, VADD, VSUB, VMOV, VMUL, VNMUL, VDIV.

Clean up disassembly of VCMP, VCMPE, VNEG and VSQRT. These
could have been erroneously used for other insns (VSQRT for
VMOV was encountered) and one VSQRT branch was unreachable.

Remove duplicate VMOV opcodes from compiler.

Change-Id: I160a1e3e4b6eabb6a5101ce348ffd49c0573257d

10 years agoDo not output ARM64 assembler debug code.
Andreas Gampe [Thu, 3 Apr 2014 20:16:01 +0000 (13:16 -0700)]
Do not output ARM64 assembler debug code.

This breaks the run tests, which are a simple diff against an
expected output. Please do such changes in a local change.

Change-Id: Ib961919600ba79eca1356278bc6c09ca17041c7c

10 years agoAdd OpEndIT() for marking the end of OpIT blocks
Dave Allison [Thu, 3 Apr 2014 00:03:45 +0000 (17:03 -0700)]
Add OpEndIT() for marking the end of OpIT blocks

In ARM we need to prevent code motion to the inside of an
IT block.  This was done using a GenBarrier() to mark the end, but
it wasn't obvious that this is what was happening.  This CL adds
an explicit OpEndIT() that takes the LIR of the OpIT for future
checks.

Bug: 13751744
Change-Id: If41d2adea1f43f11ebb3b72906bd308252ce3d01

10 years agoMerge "Fix off-by-1 error in new SpaceBitmap"
Andreas Gampe [Thu, 3 Apr 2014 17:52:27 +0000 (17:52 +0000)]
Merge "Fix off-by-1 error in new SpaceBitmap"

10 years agoFix off-by-1 error in new SpaceBitmap
Andreas Gampe [Thu, 3 Apr 2014 17:46:42 +0000 (10:46 -0700)]
Fix off-by-1 error in new SpaceBitmap

Do not visit_end in the VisitMarkedRange code.

Change-Id: Iaf02788509b21a102cd1c0e2db3cbd09d0522bfa

10 years agoMerge "Add monitor_enter_object as root."
Mathieu Chartier [Thu, 3 Apr 2014 17:43:40 +0000 (17:43 +0000)]
Merge "Add monitor_enter_object as root."

10 years agoAdd monitor_enter_object as root.
Mathieu Chartier [Thu, 3 Apr 2014 16:57:36 +0000 (09:57 -0700)]
Add monitor_enter_object as root.

The monitor enter object was not a root, this caused issues with
compactions since the object could move and then verify object would
fail.

Bug: 13769139
Change-Id: Ia732376fb9d1de8bf137ef9894cb2bb3241d8bb2

10 years agoam a7b2826f: Merge "Support passing arguments to invoke-static* instructions."
Nicolas Geoffray [Thu, 3 Apr 2014 17:00:48 +0000 (17:00 +0000)]
am a7b2826f: Merge "Support passing arguments to invoke-static* instructions."

* commit 'a7b2826fa469c626ff2c3ff26fd848c28bccc092':
  Support passing arguments to invoke-static* instructions.

10 years agoMerge "Support passing arguments to invoke-static* instructions."
Nicolas Geoffray [Thu, 3 Apr 2014 16:49:25 +0000 (16:49 +0000)]
Merge "Support passing arguments to invoke-static* instructions."

10 years agoSupport passing arguments to invoke-static* instructions.
Nicolas Geoffray [Thu, 3 Apr 2014 09:38:37 +0000 (10:38 +0100)]
Support passing arguments to invoke-static* instructions.

- Stop using the frame pointer for accessing locals.
- Stop emulating a stack when doing code generation. Instead,
  rely on dex register model, where instructions only reference
  registers.

Change-Id: Id51bd7d33ac430cb87a53c9f4b0c864eeb1006f9

10 years agoam 5a4139fd: Merge "art: Handle x86_64 architecture equal to x86"
Bill Buzbee [Thu, 3 Apr 2014 13:39:50 +0000 (13:39 +0000)]
am 5a4139fd: Merge "art: Handle x86_64 architecture equal to x86"

* commit '5a4139fd33547d09c94d9650157e3a4e4c9eede4':
  art: Handle x86_64 architecture equal to x86

10 years agoMerge "art: Handle x86_64 architecture equal to x86"
Bill Buzbee [Thu, 3 Apr 2014 13:29:36 +0000 (13:29 +0000)]
Merge "art: Handle x86_64 architecture equal to x86"

10 years agoam 71100b58: Merge "Fix Unsafe.getLong()/putLong() for x86, add test."
Vladimir Marko [Thu, 3 Apr 2014 13:07:58 +0000 (13:07 +0000)]
am 71100b58: Merge "Fix Unsafe.getLong()/putLong() for x86, add test."

* commit '71100b58a194515e889391aedb902883ab5a0904':
  Fix Unsafe.getLong()/putLong() for x86, add test.

10 years agoMerge "Fix Unsafe.getLong()/putLong() for x86, add test."
Vladimir Marko [Thu, 3 Apr 2014 12:58:51 +0000 (12:58 +0000)]
Merge "Fix Unsafe.getLong()/putLong() for x86, add test."

10 years agoam 0c7350d7: Merge "Runtime::PreZygoteFork returns void, not boolean."
Narayan Kamath [Thu, 3 Apr 2014 12:36:18 +0000 (12:36 +0000)]
am 0c7350d7: Merge "Runtime::PreZygoteFork returns void, not boolean."

* commit '0c7350d774e42c1ec889e40ffe70beb5b6c27afb':
  Runtime::PreZygoteFork returns void, not boolean.

10 years agoMerge "Runtime::PreZygoteFork returns void, not boolean."
Narayan Kamath [Thu, 3 Apr 2014 12:28:17 +0000 (12:28 +0000)]
Merge "Runtime::PreZygoteFork returns void, not boolean."

10 years agoFix Unsafe.getLong()/putLong() for x86, add test.
Vladimir Marko [Thu, 3 Apr 2014 11:56:06 +0000 (12:56 +0100)]
Fix Unsafe.getLong()/putLong() for x86, add test.

Change-Id: Id6841ae50e1047543c04dcdae30254dd6ce82082

10 years agoam 5cc2d076: Merge "Profile: renamed kThresholdPercent and make it configurable"
Calin Juravle [Thu, 3 Apr 2014 09:11:50 +0000 (09:11 +0000)]
am 5cc2d076: Merge "Profile: renamed kThresholdPercent and make it configurable"

* commit '5cc2d076cb7854ec2327895e5586f4cbe5e3ee70':
  Profile: renamed kThresholdPercent and make it configurable

10 years agoam 317055b5: Merge "Profile: repurposed kTresholdPercent"
Calin Juravle [Thu, 3 Apr 2014 09:11:49 +0000 (09:11 +0000)]
am 317055b5: Merge "Profile: repurposed kTresholdPercent"

* commit '317055b5a75f84c09647f099efe766708da5bfb8':
  Profile: repurposed kTresholdPercent

10 years agoMerge "Profile: renamed kThresholdPercent and make it configurable"
Calin Juravle [Thu, 3 Apr 2014 09:01:40 +0000 (09:01 +0000)]
Merge "Profile: renamed kThresholdPercent and make it configurable"

10 years agoMerge "Profile: repurposed kTresholdPercent"
Calin Juravle [Thu, 3 Apr 2014 09:01:20 +0000 (09:01 +0000)]
Merge "Profile: repurposed kTresholdPercent"

10 years agoart: Handle x86_64 architecture equal to x86
Dmitry Petrochenko [Wed, 2 Apr 2014 10:27:59 +0000 (17:27 +0700)]
art: Handle x86_64 architecture equal to x86

This patch forces FE/ME to treat x86_64 as x86 exactly.
The x86_64 logic will be revised later when assembly will be ready.

Change-Id: I4a92477a6eeaa9a11fd710d35c602d8d6f88cbb6
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
10 years agoam 8549cf9d: Merge "Use temp register in Unsafe Get/Put intrisics for displaced offset."
Mathieu Chartier [Thu, 3 Apr 2014 02:55:44 +0000 (02:55 +0000)]
am 8549cf9d: Merge "Use temp register in Unsafe Get/Put intrisics for displaced offset."

* commit '8549cf9d83688f7decbbea2a8de761ce29e95f3c':
  Use temp register in Unsafe Get/Put intrisics for displaced offset.

10 years agoMerge "Use temp register in Unsafe Get/Put intrisics for displaced offset."
Mathieu Chartier [Thu, 3 Apr 2014 02:45:19 +0000 (02:45 +0000)]
Merge "Use temp register in Unsafe Get/Put intrisics for displaced offset."

10 years agoam 744924b7: Merge "Make SpaceBitmap cross-compiling tolerant"
Andreas Gampe [Thu, 3 Apr 2014 01:29:40 +0000 (01:29 +0000)]
am 744924b7: Merge "Make SpaceBitmap cross-compiling tolerant"

* commit '744924b701febe88bd67a9080999c08c76745807':
  Make SpaceBitmap cross-compiling tolerant

10 years agoMerge "Make SpaceBitmap cross-compiling tolerant"
Andreas Gampe [Thu, 3 Apr 2014 01:17:54 +0000 (01:17 +0000)]
Merge "Make SpaceBitmap cross-compiling tolerant"

10 years agoam 5cff3083: Merge "Add support for -Xverify:none mode."
Jeff Hao [Thu, 3 Apr 2014 00:48:17 +0000 (00:48 +0000)]
am 5cff3083: Merge "Add support for -Xverify:none mode."

* commit '5cff3083c00dfbae7b8c5c34b0bedbc514c91df9':
  Add support for -Xverify:none mode.

10 years agoUse temp register in Unsafe Get/Put intrisics for displaced offset.
Mathieu Chartier [Thu, 3 Apr 2014 00:09:17 +0000 (17:09 -0700)]
Use temp register in Unsafe Get/Put intrisics for displaced offset.

Previously, the object register would get clobberd by the adding the
offset for wide UnsafeGets and wide UnsafePuts. This resulted in heap
corruption in AtomicLongFieldUpdater.compareAndSet and possibly other
places.

Bug: 13744490
Change-Id: Ic368d930b855c5c57e22060b32b73d0745328ef2

10 years agoMerge "Add support for -Xverify:none mode."
Jeff Hao [Thu, 3 Apr 2014 00:38:52 +0000 (00:38 +0000)]
Merge "Add support for -Xverify:none mode."

10 years agoAdd support for -Xverify:none mode.
Jeff Hao [Tue, 1 Apr 2014 21:58:49 +0000 (14:58 -0700)]
Add support for -Xverify:none mode.

This mode skips all verification and compilation.
Public bug: https://code.google.com/p/android/issues/detail?id=67664

Change-Id: Idd00ab8e9e46d129c02988b063c41a507e07bf5b

10 years agoMake SpaceBitmap cross-compiling tolerant
Andreas Gampe [Wed, 2 Apr 2014 22:39:58 +0000 (15:39 -0700)]
Make SpaceBitmap cross-compiling tolerant

Change the order of bits in SpaceBitmap to be the intuitive one:
Offset 0 is bit 0, instead of the MSB. Then compiling on 32b for
64b works as expected.

Change-Id: Iee2491eaf06d4b5f8b534b7c980d5719633cb64c

10 years agoam d0ab1223: Merge "Keep the symbol table in the shared libraries."
Christopher Ferris [Thu, 3 Apr 2014 00:04:06 +0000 (00:04 +0000)]
am d0ab1223: Merge "Keep the symbol table in the shared libraries."

* commit 'd0ab1223cc8c5181e502196a7765790ad2aba3c8':
  Keep the symbol table in the shared libraries.

10 years agoMerge "Keep the symbol table in the shared libraries."
Christopher Ferris [Wed, 2 Apr 2014 23:51:59 +0000 (23:51 +0000)]
Merge "Keep the symbol table in the shared libraries."

10 years agoam a7a49dd6: Merge "Pass instruction-set from runtime through to spawned dex2oat."
Ian Rogers [Wed, 2 Apr 2014 23:29:26 +0000 (23:29 +0000)]
am a7a49dd6: Merge "Pass instruction-set from runtime through to spawned dex2oat."

* commit 'a7a49dd64b2cce5cd3918a01c9cd372931f90dd8':
  Pass instruction-set from runtime through to spawned dex2oat.

10 years agoMerge "Pass instruction-set from runtime through to spawned dex2oat."
Ian Rogers [Wed, 2 Apr 2014 23:18:43 +0000 (23:18 +0000)]
Merge "Pass instruction-set from runtime through to spawned dex2oat."

10 years agoPass instruction-set from runtime through to spawned dex2oat.
Ian Rogers [Wed, 2 Apr 2014 21:55:49 +0000 (14:55 -0700)]
Pass instruction-set from runtime through to spawned dex2oat.

Change-Id: I1727af7beb9f710c29124d4d6bc9175e4856f3cc

10 years agoProfile: renamed kThresholdPercent and make it configurable
Calin Juravle [Wed, 2 Apr 2014 18:08:47 +0000 (19:08 +0100)]
Profile: renamed kThresholdPercent and make it configurable

Bug: 12877748
Change-Id: If266f20f77faad4a726ef8df451a0c42f541392f

10 years agoam 40462bcc: Merge "force dex2oat target executables to be compiled for 32-bit"
Colin Cross [Wed, 2 Apr 2014 20:24:38 +0000 (20:24 +0000)]
am 40462bcc: Merge "force dex2oat target executables to be compiled for 32-bit"

* commit '40462bcc8b8fbe8a4981a0fb209e10898a118e2c':
  force dex2oat target executables to be compiled for 32-bit

10 years agoam c6829abc: Merge "Add r4 as promotable register if implicit suspend checks"
Dave Allison [Wed, 2 Apr 2014 20:24:36 +0000 (20:24 +0000)]
am c6829abc: Merge "Add r4 as promotable register if implicit suspend checks"

* commit 'c6829abc118255ed37cdddb643e5276f2e9ff9bd':
  Add r4 as promotable register if implicit suspend checks

10 years agoMerge "force dex2oat target executables to be compiled for 32-bit"
Colin Cross [Wed, 2 Apr 2014 20:15:25 +0000 (20:15 +0000)]
Merge "force dex2oat target executables to be compiled for 32-bit"

10 years agoMerge "Add r4 as promotable register if implicit suspend checks"
Dave Allison [Wed, 2 Apr 2014 20:14:58 +0000 (20:14 +0000)]
Merge "Add r4 as promotable register if implicit suspend checks"

10 years agoAdd r4 as promotable register if implicit suspend checks
Dave Allison [Wed, 2 Apr 2014 00:45:18 +0000 (17:45 -0700)]
Add r4 as promotable register if implicit suspend checks

If we are doing implicit suspend checks we should be able
to use r4 as a target for promotion.

Also bump OAT version

Change-Id: Ia27d14ece3b3259dbb74bcf89feaa9da2cda6db8

10 years agoforce dex2oat target executables to be compiled for 32-bit
Colin Cross [Thu, 20 Mar 2014 19:55:13 +0000 (12:55 -0700)]
force dex2oat target executables to be compiled for 32-bit

64-bit dex2oat doesn't support 32-bit targets yet, force dex2oat
target executables to compile 32-bit for now by passing in a
value for LOCAL_MULTILIB to build-art-executable.

Bug: 13764385
Change-Id: I41adba1e64f373e4b61a3c13af2592ed4f7d0b57

10 years agoProfile: repurposed kTresholdPercent
Calin Juravle [Wed, 2 Apr 2014 16:03:08 +0000 (17:03 +0100)]
Profile: repurposed kTresholdPercent

Previously kTresholdPercent was the percentage of samples of the total
that a method must comprise before compiling.

I changed it to mean the threshold for a running total...i.e. compile
all the methods that comprise K% of the samples cumulatively.

(in the process fixed ProfileData#percent doc and changed its name)

Bug: 12877748
Change-Id: Ib0e18e525a16c11b189afc3d840c09183ac629de

10 years agoam 0807e7bb: Merge "Avoid debug check violation in thread registration."
Ian Rogers [Wed, 2 Apr 2014 15:59:50 +0000 (15:59 +0000)]
am 0807e7bb: Merge "Avoid debug check violation in thread registration."

* commit '0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82':
  Avoid debug check violation in thread registration.

10 years agoMerge "Avoid debug check violation in thread registration."
Ian Rogers [Wed, 2 Apr 2014 15:49:42 +0000 (15:49 +0000)]
Merge "Avoid debug check violation in thread registration."

10 years agoAvoid debug check violation in thread registration.
Ian Rogers [Wed, 2 Apr 2014 15:34:36 +0000 (08:34 -0700)]
Avoid debug check violation in thread registration.

Bug: 13757855
Change-Id: Ied83a7fc43e2b9a89a8b99aa4f74069ef8a369b1

10 years agoam 161f71ab: Merge "Fixed total method count in profile file parsing."
Calin Juravle [Wed, 2 Apr 2014 15:24:59 +0000 (15:24 +0000)]
am 161f71ab: Merge "Fixed total method count in profile file parsing."

* commit '161f71ab4449047157ad3d967a3ed4f7c6e17249':
  Fixed total method count in profile file parsing.

10 years agoMerge "Fixed total method count in profile file parsing."
Calin Juravle [Wed, 2 Apr 2014 15:17:21 +0000 (15:17 +0000)]
Merge "Fixed total method count in profile file parsing."

10 years agoFixed total method count in profile file parsing.
Calin Juravle [Wed, 2 Apr 2014 14:41:43 +0000 (15:41 +0100)]
Fixed total method count in profile file parsing.

Change-Id: Iae38b3ca296378d17f054ac330301035ec684084

10 years agoRuntime::PreZygoteFork returns void, not boolean.
Narayan Kamath [Wed, 2 Apr 2014 11:54:23 +0000 (12:54 +0100)]
Runtime::PreZygoteFork returns void, not boolean.

This method aborts on failure (as it should) and unconditionally
returns true, so making it return void simplifies callers.

Change-Id: Iae39bd327f20311579ece47efa8afd1be7defce9

10 years agoam 77384601: Merge "Include <sys/resource.h> for rlimit."
Narayan Kamath [Wed, 2 Apr 2014 11:26:36 +0000 (11:26 +0000)]
am 77384601: Merge "Include <sys/resource.h> for rlimit."

* commit '77384601e096660ed8725b3a5bcc2327d34c1b21':
  Include <sys/resource.h> for rlimit.

10 years agoMerge "Include <sys/resource.h> for rlimit."
Narayan Kamath [Wed, 2 Apr 2014 11:15:38 +0000 (11:15 +0000)]
Merge "Include <sys/resource.h> for rlimit."

10 years agoInclude <sys/resource.h> for rlimit.
Narayan Kamath [Wed, 2 Apr 2014 11:06:02 +0000 (12:06 +0100)]
Include <sys/resource.h> for rlimit.

Change-Id: I0e487f8191e284052d8b82eb942d723147d780a1

10 years agoam 2dc2bf9a: Merge "Update missed DEX2OAT -> DEX2OATD changes."
Nicolas Geoffray [Wed, 2 Apr 2014 10:41:20 +0000 (10:41 +0000)]
am 2dc2bf9a: Merge "Update missed DEX2OAT -> DEX2OATD changes."

* commit '2dc2bf9ad867dfc71bf209dead1315615659e8f9':
  Update missed DEX2OAT -> DEX2OATD changes.

10 years agoam 8e157dc9: Merge "Move most zygote related code to frameworks/base."
Narayan Kamath [Wed, 2 Apr 2014 10:41:19 +0000 (10:41 +0000)]
am 8e157dc9: Merge "Move most zygote related code to frameworks/base."

* commit '8e157dc9e2938aa7eeadaf4ea34e8d3e727136bc':
  Move most zygote related code to frameworks/base.

10 years agoMerge "Update missed DEX2OAT -> DEX2OATD changes."
Nicolas Geoffray [Wed, 2 Apr 2014 10:34:54 +0000 (10:34 +0000)]
Merge "Update missed DEX2OAT -> DEX2OATD changes."

10 years agoUpdate missed DEX2OAT -> DEX2OATD changes.
Nicolas Geoffray [Wed, 2 Apr 2014 10:33:28 +0000 (11:33 +0100)]
Update missed DEX2OAT -> DEX2OATD changes.

Change-Id: I9556ac9ce30fe057e8b278858303e25c547e86ba

10 years agoMerge "Move most zygote related code to frameworks/base."
Narayan Kamath [Wed, 2 Apr 2014 10:29:49 +0000 (10:29 +0000)]
Merge "Move most zygote related code to frameworks/base."