OSDN Git Service
Elliott Hughes [Wed, 7 Nov 2012 18:56:59 +0000 (10:56 -0800)]
Fix x86 JIT log spam.
Removes all the E and I logging in cases like these:
E( 2901) JIT couldn't compile Ljava/lang/Number;<init> dex_pc=0
I( 2901) codeGenBasicBlockJit returns negative number
E( 2901) JIT couldn't compile Ljava/lang/String;<init> dex_pc=0
I( 2901) codeGenBasicBlockJit returns negative number
E( 2901) JIT couldn't compile Ljava/util/Hashtable$HashtableEntry;<init> dex_pc=0
I( 2901) codeGenBasicBlockJit returns negative number
E( 2901) JIT couldn't compile Ljava/lang/AbstractStringBuilder;<init> dex_pc=0
I( 2901) codeGenBasicBlockJit returns negative number
E( 2901) JIT couldn't compile Ljava/util/HashMap$HashMapEntry;<init> dex_pc=0
I( 2901) codeGenBasicBlockJit returns negative number
Change-Id: I020c01c11a3840e700bbeb39237da1a6d508be8a
Elliott Hughes [Wed, 7 Nov 2012 01:17:32 +0000 (17:17 -0800)]
Merge "Always build WITH_JIT for the target."
Elliott Hughes [Wed, 7 Nov 2012 00:34:28 +0000 (16:34 -0800)]
Always build WITH_JIT for the target.
Without this, by default MIPS and x86 builds build without a JIT.
Change-Id: Ieff5c25fd4e40401ed511e952a4f189615131327
Elliott Hughes [Fri, 26 Oct 2012 23:45:29 +0000 (16:45 -0700)]
Merge "Fix dalvik's use of readdir_r(3)."
Elliott Hughes [Fri, 26 Oct 2012 22:27:20 +0000 (15:27 -0700)]
Fix dalvik's use of readdir_r(3).
Change-Id: Ic2c9b88b2b3204b4c02f4838766dc4d9ebad06a2
Nick Kralevich [Fri, 19 Oct 2012 21:38:11 +0000 (14:38 -0700)]
Merge "Push to AOSP"
Nick Kralevich [Fri, 19 Oct 2012 20:45:06 +0000 (13:45 -0700)]
Kenny Root [Wed, 17 Oct 2012 16:35:52 +0000 (09:35 -0700)]
Merge "Remove HAVE_SELINUX guards"
Kenny Root [Wed, 17 Oct 2012 06:38:15 +0000 (23:38 -0700)]
Remove HAVE_SELINUX guards
Change-Id: I1cb99cd25857a70049220d4368f21d97c3b80ebf
Elliott Hughes [Tue, 16 Oct 2012 01:07:08 +0000 (18:07 -0700)]
Merge "Handle MAX_INT case in packed-switch"
Chris Dearman [Thu, 12 Jul 2012 00:10:36 +0000 (17:10 -0700)]
Handle MAX_INT case in packed-switch
Allows regression 095-switch-MAX_INT to pass
Change-Id: Iec97fb456d43dbb14ee096fe708c74aff5ba1f5a
Signed-off-by: Chris Dearman <chris@mips.com>
Elliott Hughes [Tue, 16 Oct 2012 00:36:47 +0000 (17:36 -0700)]
Merge "Remove Jumbo opcode support"
Raghu Gandham [Mon, 15 Oct 2012 22:29:11 +0000 (15:29 -0700)]
Remove Jumbo opcode support
Change-Id: If112b0f44cb6ea064fe8038f10bb00a0cf11c124
Elliott Hughes [Fri, 12 Oct 2012 18:43:53 +0000 (11:43 -0700)]
Merge "Remove (one last?) __sh__."
Elliott Hughes [Fri, 12 Oct 2012 18:13:19 +0000 (11:13 -0700)]
Remove (one last?) __sh__.
Zombies everywhere! I think this is the last one that isn't in third-party
code, though I'm pretty sure I've said that before.
Change-Id: I07c88a07c694eea646bee85c5e9ad3004b3a03e1
Elliott Hughes [Wed, 10 Oct 2012 02:20:03 +0000 (19:20 -0700)]
Merge "Don't disable inlining for ARM."
Elliott Hughes [Wed, 10 Oct 2012 01:07:14 +0000 (18:07 -0700)]
Don't disable inlining for ARM.
I think there was confusion here between method inlining and the method
compiler. Just because the latter isn't yet functional doesn't mean we
don't want the former for those targets that support it.
Bug:
7179010
Change-Id: If0de856b93615f01dfc5e8977d5c97f550cec15f
Elliott Hughes [Sat, 6 Oct 2012 01:10:21 +0000 (18:10 -0700)]
am
0dc107c0: Merge "MIPS: Missing zero-checks in JIT compiler."
* commit '
0dc107c059738fd954d07108f0bbf5e9982d563a':
MIPS: Missing zero-checks in JIT compiler.
Elliott Hughes [Sat, 6 Oct 2012 01:01:13 +0000 (18:01 -0700)]
Merge "MIPS: Missing zero-checks in JIT compiler."
Douglas Leung [Sat, 6 Oct 2012 00:01:22 +0000 (17:01 -0700)]
MIPS: Missing zero-checks in JIT compiler.
Zero-checks were not generated by the JIT compiler for
some instructions. This caused crashes instead of
the expected ArithmeticException.
Change-Id: Ic7f20c78ef9ac22bb529b6ed9a38f0ffb2fab33c
Signed-off-by: Douglas Leung <douglas@mips.com>
Jean-Baptiste Queru [Wed, 3 Oct 2012 22:21:32 +0000 (15:21 -0700)]
Reconcile with jb-dev - do not merge
Change-Id: Id493d6f47e331b0aade672a98ce14251eb721121
Elliott Hughes [Thu, 27 Sep 2012 00:30:19 +0000 (17:30 -0700)]
am
f75aa0de: Merge "Log if dlopen(3) fails."
* commit '
f75aa0de3d243466f56d262de08da3808ad34cf3':
Log if dlopen(3) fails.
Elliott Hughes [Thu, 27 Sep 2012 00:12:26 +0000 (17:12 -0700)]
Merge "Log if dlopen(3) fails."
Elliott Hughes [Wed, 26 Sep 2012 23:40:41 +0000 (16:40 -0700)]
Log if dlopen(3) fails.
It turns out that some apps swallow the UnsatisfiedLinkError, making it
really hard to work out why they failed to launch.
Before:
D dalvikvm: Trying to load lib /data/app-lib/com.adobe.air-1/libCore.so 0x415be8a8
W dalvikvm: No implementation found for native Lcom/adobe/air/AIRWindowSurfaceView;.nativeSurfaceCreated:()V
After:
D dalvikvm: Trying to load lib /data/app-lib/com.adobe.air-1/libCore.so 0x415be8a8
E dalvikvm: dlopen("/data/app-lib/com.adobe.air-1/libCore.so") failed: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "_ZN7android10VectorImpl19reservedVectorImpl1Ev" referenced by "libCore.so"...
W dalvikvm: No implementation found for native Lcom/adobe/air/AIRWindowSurfaceView;.nativeSurfaceCreated:()V
(cherry-pick of
6567510ba1470bba6036d2b0b042425bdd03cf2b.)
Bug:
7093208
Change-Id: I4dcdff2ffe49a4897d8f5279d09a0dcc3de70db6
Elliott Hughes [Thu, 20 Sep 2012 19:49:45 +0000 (12:49 -0700)]
am
b79d90eb: Merge "Log when the native trace is unavailable"
* commit '
b79d90ebd197b9040c06d73f5dc8bbc8fdad1d54':
Log when the native trace is unavailable
Elliott Hughes [Thu, 20 Sep 2012 18:34:32 +0000 (11:34 -0700)]
Merge "Log when the native trace is unavailable"
Andy McFadden [Wed, 19 Sep 2012 00:50:59 +0000 (17:50 -0700)]
Log when the native trace is unavailable
This should allow us to differentiate between "couldn't get the
stack" and "didn't try to get the stack". Also show the thread's
state (e.g. 'R' for running, 'D' for uninterruptible syscall).
Bug
7053953
(cherry-pick of
b3667a19f5c573b7785876979af4781292d27327.)
Change-Id: I0a40cb3d3cdd9aef8589a39586cccd9c229aa8cb
Elliott Hughes [Mon, 17 Sep 2012 22:50:19 +0000 (15:50 -0700)]
am
a177aa50: Merge "Use 0xde as the poison value after JIT code cache reset."
* commit '
a177aa50c665e97f92ee7519ed9d32b0e89e84d3':
Use 0xde as the poison value after JIT code cache reset.
Elliott Hughes [Mon, 17 Sep 2012 22:47:11 +0000 (15:47 -0700)]
Merge "Use 0xde as the poison value after JIT code cache reset."
Ben Cheng [Mon, 17 Sep 2012 19:17:59 +0000 (12:17 -0700)]
Use 0xde as the poison value after JIT code cache reset.
(cherry-pick of
60497bbcee68d98b2bdcb3fb64682b00d61b942d.)
Change-Id: I4f8c1bac2ac3bdc1d931e91f3e2e8038fe4c2b5a
Elliott Hughes [Fri, 14 Sep 2012 21:08:24 +0000 (14:08 -0700)]
am
f31a0600: Merge "Optimize those StrictMath routines that are identical to Math routines."
* commit '
f31a0600bb84e04280440c84a5966a624a89e117':
Optimize those StrictMath routines that are identical to Math routines.
Elliott Hughes [Fri, 14 Sep 2012 20:51:18 +0000 (13:51 -0700)]
Merge "Optimize those StrictMath routines that are identical to Math routines."
Elliott Hughes [Fri, 14 Sep 2012 18:54:57 +0000 (11:54 -0700)]
Optimize those StrictMath routines that are identical to Math routines.
We can just use the existing Math intinsics.
Bug:
7146208
Change-Id: I9e78d33cf65a5dcc5a7c0133e67bd9c3c1e43f23
Jesse Wilson [Sat, 1 Sep 2012 04:37:56 +0000 (00:37 -0400)]
Fix an ugly bug where try/catch offsets weren't being mapped properly. do not merge.
In dex files, there are several places where one object refers
to another object by its position in the file. The dex merger
is generally very careful to adjust these mappings when combining
dex files.
Unfortunately one of these cases was broken. Each try_item refers
to a corresponding encoded_catch_handler by its byte offset in a
list. Most of the time this byte offset is the same in the input
dex file and the output dex file. But encoded_catch_handlers are
variable-length because they use a variable-length uleb128 encoding
to address the type_idx being caught. When dex files are merged,
some exception types may go from having a small index to having
a large index, increasing the number of bytes required to encode
that index. This breaks our ability to directly copy over offsets
as we were doing previously.
Bug: http://code.google.com/p/android/issues/detail?id=36490
(cherry picked from commit
d43341a24abe339d474b0b0d92669917ae2eb9bf)
Change-Id: I4e6ab791925a918513122b46e039c02dfef62ace
Jesse Wilson [Sat, 1 Sep 2012 05:01:05 +0000 (01:01 -0400)]
Fix a bug where the max blowup of annotations was incorrect. do not merge.
I'm not sure where the 1.34 number comes from but it's incorrect.
From the spec, the encoded_annotation is made up of a single byte
plus an unlimited number of uleb128 values. Each of these values
can double in width in the worst case. I received (personal) email
from one user who'd run into a case worse than the incorrect 1.34
limit.
(cherry picked from commit
bf7dfeea94f21dd0e097cf5f786f9995722fd70d)
Change-Id: I033a0d76ea0324d434d732e7757df0c3fd925b68
Jesse Wilson [Thu, 23 Aug 2012 06:20:26 +0000 (23:20 -0700)]
Fix a bug where debugInfos' size wasn't being computed. do not merge.
Previously debugInfos' size of 0 caused a malformed dex file
because debug data was present but not mentioned in the table
of contents.
(cherry picked from commit
55ac44b64744cd5692d6495bca99dfc8181e0cfc)
Change-Id: I2084c06521ea200772c523cdaa28c8019fa76025
Ian Rogers [Wed, 5 Sep 2012 14:48:15 +0000 (07:48 -0700)]
am
cfeacbdd: Merge "Remove unnecessary compiler pragma."
* commit '
cfeacbdd0cdd71a7974ac623e6534d0221d93ed9':
Remove unnecessary compiler pragma.
Ian Rogers [Wed, 5 Sep 2012 14:41:00 +0000 (07:41 -0700)]
Merge "Remove unnecessary compiler pragma."
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:51:54 +0000 (00:51 -0700)]
am
e6516a53: Merge "Fix an ugly bug where try/catch offsets weren\'t being mapped properly."
* commit '
e6516a5395a20f2bf923753e4dd87ffd304074fb':
Fix an ugly bug where try/catch offsets weren't being mapped properly.
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:47:38 +0000 (00:47 -0700)]
Merge "Fix an ugly bug where try/catch offsets weren't being mapped properly."
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:35:15 +0000 (00:35 -0700)]
am
f3b60d2f: Merge "Fix a bug where the max blowup of annotations was incorrect."
* commit '
f3b60d2f07280dd6b0753223d4590e11e18a3985':
Fix a bug where the max blowup of annotations was incorrect.
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:30:46 +0000 (00:30 -0700)]
Merge "Fix a bug where the max blowup of annotations was incorrect."
Jesse Wilson [Sat, 1 Sep 2012 05:01:05 +0000 (01:01 -0400)]
Fix a bug where the max blowup of annotations was incorrect.
I'm not sure where the 1.34 number comes from but it's incorrect.
From the spec, the encoded_annotation is made up of a single byte
plus an unlimited number of uleb128 values. Each of these values
can double in width in the worst case. I received (personal) email
from one user who'd run into a case worse than the incorrect 1.34
limit.
Change-Id: I3b676e6d2b274aaa538ca61ce23945b3d49aff04
Jesse Wilson [Sat, 1 Sep 2012 04:37:56 +0000 (00:37 -0400)]
Fix an ugly bug where try/catch offsets weren't being mapped properly.
In dex files, there are several places where one object refers
to another object by its position in the file. The dex merger
is generally very careful to adjust these mappings when combining
dex files.
Unfortunately one of these cases was broken. Each try_item refers
to a corresponding encoded_catch_handler by its byte offset in a
list. Most of the time this byte offset is the same in the input
dex file and the output dex file. But encoded_catch_handlers are
variable-length because they use a variable-length uleb128 encoding
to address the type_idx being caught. When dex files are merged,
some exception types may go from having a small index to having
a large index, increasing the number of bytes required to encode
that index. This breaks our ability to directly copy over offsets
as we were doing previously.
Bug: http://code.google.com/p/android/issues/detail?id=36490
Change-Id: I3bdadf20899fdb5d4d074e69103b33c0404a31f8
Xavier Ducrohet [Mon, 11 Jun 2012 22:17:31 +0000 (15:17 -0700)]
Make dex merging stateless. do not merge.
This is required to run dx in Eclipse which doesn't unload the dx
library after each run.
(cherry-pick of
7aa5ce7e990dc3766eba97cd0932b62e4de21503.)
(cherry picked from commit
5e90165d5918f18aec0964bc475f4064e9143599)
Change-Id: Id5818f516539d13423b7cef4b2b1af30a9686b45
Elliott Hughes [Thu, 7 Jun 2012 23:47:38 +0000 (16:47 -0700)]
Support debug info in dexmerge. do not merge.
Bug:
4090053
Signed-off-by: Jesse Wilson <jesse@swank.ca>
(cherry picked from commit
bc23c4f3ebaefebb3f1be7732767631f91e165ea)
Change-Id: Ic59d3cc1866c2e4328e406f22cb23fc08d5c6d91
Elliott Hughes [Wed, 29 Aug 2012 23:31:07 +0000 (16:31 -0700)]
am
3e46814d: Merge "Don\'t crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup."
* commit '
3e46814d8984243612176c9b15d8d012dcca2143':
Don't crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup.
Elliott Hughes [Wed, 29 Aug 2012 23:24:47 +0000 (16:24 -0700)]
Merge "Don't crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup."
Elliott Hughes [Wed, 29 Aug 2012 22:46:18 +0000 (15:46 -0700)]
Don't crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup.
dalvikvm --help would fail here:
#0 __pthread_mutex_destroy (mutex=0x0) at pthread_mutex_destroy.c:28
#1 0xf7b36e13 in dvmDestroyMutex (pMutex=0x0) at dalvik/vm/Thread.h:465
#2 dvmQuasiAtomicsShutdown () at dalvik/vm/Atomic.cpp:188
#3 0xf7b65781 in dvmShutdown () at dalvik/vm/Init.cpp:1889
#4 0xf7b65f31 in ~ScopedShutdown (this=<synthetic pointer>, __in_chrg=<optimized out>) at dalvik/vm/Init.cpp:1317
#5 dvmStartup (argc=11, argv=0x804b360, ignoreUnrecognized=false, pEnv=0x804b398) at dalvik/vm/Init.cpp:1548
#6 0xf7b790e2 in JNI_CreateJavaVM (p_vm=0xffffc758, p_env=0xffffc75c, vm_args=0xffffc760) at dalvik/vm/Jni.cpp:3502
#7 0x08048958 in main (argc=13, argv=0xffffc8b8) at dalvik/dalvikvm/Main.cpp:212
Change-Id: I8c833ca5ea454d9b2d1714a569fb728562088659
Ian Rogers [Wed, 29 Aug 2012 21:07:21 +0000 (14:07 -0700)]
Remove unnecessary compiler pragma.
With dlmalloc 2.8.6 the compiler pragmas to suppress warnings are not
necessary.
Remove unnecessary dlmalloc dl prefix #define.
Depends upon: https://android-review.googlesource.com/42351
Change-Id: Idc45cee9342efec0aab63d5172b3308a0fca3c4f
Jean-Philippe Lesot [Tue, 28 Aug 2012 17:01:52 +0000 (10:01 -0700)]
am
a5731795: Merge "Correctly handle switches on values in a high register"
* commit '
a57317952de3fc37876f97e8655cc773b97df891':
Correctly handle switches on values in a high register
Jean-Philippe Lesot [Tue, 28 Aug 2012 16:58:20 +0000 (09:58 -0700)]
Merge "Correctly handle switches on values in a high register"
Elliott Hughes [Mon, 27 Aug 2012 22:13:56 +0000 (15:13 -0700)]
am
f6104618: Merge "Fix a bug where debugInfos\' size wasn\'t being computed."
* commit '
f610461867348df0c5a624d75f39b34071044fb2':
Fix a bug where debugInfos' size wasn't being computed.
Elliott Hughes [Mon, 27 Aug 2012 21:57:24 +0000 (14:57 -0700)]
Merge "Fix a bug where debugInfos' size wasn't being computed."
Ian Rogers [Fri, 24 Aug 2012 17:33:41 +0000 (10:33 -0700)]
am
ecda5d85: Merge "Fix for
6994917 GC is slower since JOO33B per FrameworkPerf test"
* commit '
ecda5d8585466d63f185ff09047643e9bd9cb261':
Fix for
6994917 GC is slower since JOO33B per FrameworkPerf test
Ian Rogers [Fri, 24 Aug 2012 17:15:37 +0000 (10:15 -0700)]
Merge "Fix for
6994917 GC is slower since JOO33B per FrameworkPerf test"
Brian Carlstrom [Fri, 24 Aug 2012 03:35:43 +0000 (20:35 -0700)]
am
b48569ac: Merge "Fix build warning."
* commit '
b48569acbb7b3702f1071befa5ebfeae7a46303b':
Fix build warning.
Brian Carlstrom [Fri, 24 Aug 2012 03:20:47 +0000 (20:20 -0700)]
Merge "Fix build warning."
Ying Wang [Thu, 23 Aug 2012 18:12:12 +0000 (11:12 -0700)]
Fix build warning.
Change-Id: I1f9813c9dc1dfc388f82f37584fe60256b6a8b12
Ian Rogers [Thu, 23 Aug 2012 20:48:25 +0000 (13:48 -0700)]
am
a9dd9337: Merge "Trim pre-Zygote fork, fix under-estimate of heap limit."
* commit '
a9dd9337605a610841c86fe1bd90a8fa9b8d28c9':
Trim pre-Zygote fork, fix under-estimate of heap limit.
Ian Rogers [Thu, 23 Aug 2012 20:35:23 +0000 (13:35 -0700)]
Merge "Trim pre-Zygote fork, fix under-estimate of heap limit."
Mathieu Chartier [Wed, 22 Aug 2012 01:14:19 +0000 (18:14 -0700)]
Fix for
6994917 GC is slower since JOO33B per FrameworkPerf test
Fixes the GC aspect of the regression in FrameworkTest for Gc.
Large bitmap test seems to be unaffected.
Changes are:
We now have minimum sleep of 1ms instead of 10ms in dvmSuspendAll.
Some heuristics to avoid doing extra GCs if an allocation waited for a concurrent Gc.
Change-Id: I3797c7dc813e26bd1f7bb0a9dbe55eb70dd1c9c9
Jesse Wilson [Thu, 23 Aug 2012 06:20:26 +0000 (23:20 -0700)]
Fix a bug where debugInfos' size wasn't being computed.
Previously debugInfos' size of 0 caused a malformed dex file
because debug data was present but not mentioned in the table
of contents.
Change-Id: I07171aaee12fef9f303fc505909f44ef1a714114
Ian Rogers [Thu, 23 Aug 2012 05:14:32 +0000 (22:14 -0700)]
Trim pre-Zygote fork, fix under-estimate of heap limit.
Card scanning uses dvmHeapSourceGetValue to scan from the heap base to
the total foot print of the heap. Trimming the Zygote may lower the
footprint of the heap by creating a hole in the middle. This hole is
unaccounted for in the card scanning leading to missed dirty cards.
This was a regression introduced by:
https://android-review.googlesource.com/#/c/41728/
as it didn't #define MORECORE_CANNOT_TRIM 1 that was previously defined
here:
https://android-review.googlesource.com/#/c/41731/4/libcutils/mspace.c
Introduce a notion of dvmHeapSourceGetLimit so that card scanning
doesn't rely on footprint. Trim the heap before forking the Zygote. This
change continues to enable morecore trimming of mspaces.
Change-Id: I3f0b12371097f50a1f920cac25846ca08685e7ed
Ben Gruver [Thu, 23 Aug 2012 01:45:25 +0000 (18:45 -0700)]
Correctly handle switches on values in a high register
When dx generates a switch on a value in a high register, it prepends a move
instruction, to move the value to a low register. However, this causes the
switch data pseudo-instruction to use address of the move instruction as the
base address of the switch targets, rather than the address of the switch
instruction
Change-Id: I0708d35ec3059c30221cd0a64f426244411d31ea
Brian Carlstrom [Mon, 20 Aug 2012 23:28:17 +0000 (16:28 -0700)]
am
b931f906: Merge "Upgrade to dlmalloc 2.8.5."
* commit '
b931f9065990520bf34b8c6128e069b4cca4a7ec':
Upgrade to dlmalloc 2.8.5.
Brian Carlstrom [Mon, 20 Aug 2012 23:12:37 +0000 (16:12 -0700)]
Merge "Upgrade to dlmalloc 2.8.5."
Ian Rogers [Sat, 18 Aug 2012 00:01:51 +0000 (17:01 -0700)]
Upgrade to dlmalloc 2.8.5.
Switch to using dlmalloc 2.8.5. Define mspace functionality directly
using dlmalloc rather than taking from libcutils.
Remove growth limit check in tryMalloc that only checks initial growth
limit.
Implement trimming at the end of the mspace.
Depends upon: https://android-review.googlesource.com/41717
Change-Id: Ia2c6b50bdb0b0d5aae4b18deefbd1bf50dfa49d5
Elliott Hughes [Mon, 13 Aug 2012 18:40:32 +0000 (11:40 -0700)]
am
57573862: Merge "hardening: eliminate all text relocations from lidbvm"
* commit '
57573862ca6b377c73958d5ba876a406445b4490':
hardening: eliminate all text relocations from lidbvm
Elliott Hughes [Mon, 13 Aug 2012 18:25:22 +0000 (11:25 -0700)]
Merge "hardening: eliminate all text relocations from lidbvm"
Ard Biesheuvel [Sat, 11 Aug 2012 10:45:01 +0000 (12:45 +0200)]
hardening: eliminate all text relocations from lidbvm
This patch consists of:
- changes to mterp/ that turn all literals from absolute
to PC relative, so the relocations can be resolved at
(build) link time
- changes to compiler/template/ that result in the
compiler templates to live in the non-executable
.data.rel.ro section (this code is never executed
directly, only from the jit heap, so there is no
reason to put it in the .text section)
Change-Id: I2dc97bd4720b393a74b7277a188f0c7b681fc932
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
Elliott Hughes [Tue, 7 Aug 2012 01:36:44 +0000 (18:36 -0700)]
am
21212cbd: Merge "Fix ALOGV bit rot."
* commit '
21212cbd65aa7ec7d69f0c6f5b98794045f750a5':
Fix ALOGV bit rot.
Elliott Hughes [Tue, 7 Aug 2012 01:34:10 +0000 (18:34 -0700)]
Merge "Fix ALOGV bit rot."
Elliott Hughes [Tue, 7 Aug 2012 00:40:02 +0000 (17:40 -0700)]
Fix ALOGV bit rot.
Change-Id: Ia182af8f5ca3967a21003b3d1513145f8e6e5db0
Elliott Hughes [Mon, 6 Aug 2012 17:33:05 +0000 (10:33 -0700)]
am
464388e8: Merge "Don\'t crash on invalid string/type ids."
* commit '
464388e8756d362f91d110b5741ba785ea3d44bd':
Don't crash on invalid string/type ids.
Elliott Hughes [Mon, 6 Aug 2012 17:27:35 +0000 (10:27 -0700)]
Merge "Don't crash on invalid string/type ids."
Elliott Hughes [Mon, 6 Aug 2012 16:59:50 +0000 (09:59 -0700)]
am
8fb8c4de: Merge "RETURN_VOID_BARRIER is also a return."
* commit '
8fb8c4de25c5c95019a06b37f17bb6d82b41f4ac':
RETURN_VOID_BARRIER is also a return.
Elliott Hughes [Mon, 6 Aug 2012 16:51:21 +0000 (09:51 -0700)]
Don't crash on invalid string/type ids.
Bug: http://code.google.com/p/android/issues/detail?id=35934
Change-Id: I7bf31f6c80c794beb3554ad2f60ed5ebbca0c65e
Elliott Hughes [Mon, 6 Aug 2012 16:34:31 +0000 (09:34 -0700)]
Merge "RETURN_VOID_BARRIER is also a return."
Elliott Hughes [Mon, 6 Aug 2012 16:16:08 +0000 (09:16 -0700)]
RETURN_VOID_BARRIER is also a return.
Bug: http://code.google.com/p/android/issues/detail?id=36003
Change-Id: I7fb53b0898158a3ad7b0eb4f8385674ddaeffd60
Brian Carlstrom [Fri, 3 Aug 2012 00:55:33 +0000 (17:55 -0700)]
am
0b79e282: Merge "Change dalvik script to use exec"
* commit '
0b79e2824eeb763ea82aa8ff544ef7b20ea7fdd5':
Change dalvik script to use exec
Brian Carlstrom [Fri, 3 Aug 2012 00:36:55 +0000 (17:36 -0700)]
Merge "Change dalvik script to use exec"
Brian Carlstrom [Fri, 3 Aug 2012 00:05:25 +0000 (17:05 -0700)]
Change dalvik script to use exec
Change-Id: I0a82ced8ce31ae0e6916509a1c79b738c475ae18
Elliott Hughes [Wed, 1 Aug 2012 21:47:42 +0000 (14:47 -0700)]
am
8ad6a746: Merge "Fix an array out-of-bound read in the JIT compiler."
* commit '
8ad6a74627b70166e594e15514f289a25eb8f721':
Fix an array out-of-bound read in the JIT compiler.
Elliott Hughes [Wed, 1 Aug 2012 21:33:30 +0000 (14:33 -0700)]
Merge "Fix an array out-of-bound read in the JIT compiler."
Douglas Leung [Wed, 1 Aug 2012 19:00:33 +0000 (12:00 -0700)]
Fix an array out-of-bound read in the JIT compiler.
Without the fix the compiler is still safe since the offending memory access
is a read, though the hoisted distance is non-deterministic. The easiest and
safest fix is to unconditionally hoist a load when it can reach the
scheduling barrier.
Change-Id: I021161cb2a6e011301ab65ba62bc2a74af1cb552
Signed-off-by: Douglas Leung <douglas@mips.com>
Elliott Hughes [Tue, 31 Jul 2012 21:40:49 +0000 (14:40 -0700)]
am
5b861ab5: Merge "Fix the MIPS build: 1. LOG->ALOG conversion 2. Remove Jumbo opcodes support"
* commit '
5b861ab5541e9806d6255f17769acad3c2b4029b':
Fix the MIPS build: 1. LOG->ALOG conversion 2. Remove Jumbo opcodes support
Elliott Hughes [Tue, 31 Jul 2012 21:31:32 +0000 (14:31 -0700)]
Merge "Fix the MIPS build: 1. LOG->ALOG conversion 2. Remove Jumbo opcodes support"
Raghu Gandham [Mon, 30 Jul 2012 21:46:12 +0000 (14:46 -0700)]
Fix the MIPS build:
1. LOG->ALOG conversion
2. Remove Jumbo opcodes support
Change-Id: Ifbd1eae2f5e7a1cab5828ebfbdba380ad499abfd
The Android Open Source Project [Fri, 27 Jul 2012 21:50:10 +0000 (14:50 -0700)]
Reconcile with jb-release
Change-Id: Id73f7a55edc5654069e7ce75f5545d3bff4448da
The Android Automerger [Wed, 25 Jul 2012 03:23:09 +0000 (20:23 -0700)]
merge in jb-release history after reset to jb-dev
Elliott Hughes [Tue, 24 Jul 2012 00:44:30 +0000 (17:44 -0700)]
am
37755063: Merge "Fix Method.getParameterAnnotations."
* commit '
37755063648910ee919c22c3d15cd57092026633':
Fix Method.getParameterAnnotations.
Elliott Hughes [Tue, 24 Jul 2012 00:30:21 +0000 (17:30 -0700)]
Merge "Fix Method.getParameterAnnotations."
Elliott Hughes [Mon, 23 Jul 2012 17:49:56 +0000 (10:49 -0700)]
Fix Method.getParameterAnnotations.
The dex format represents parameter annotations using an
annotation_set_ref_item for each parameter. According to the spec,
the item's annotation_offset can be "0 if there are no annotations for this
element". The Dalvik VM accepts 0 values in the verification step,
but Method#getParameterAnnotations then crashes with a segmentation fault.
Bug: http://code.google.com/p/android/issues/detail?id=35304
Change-Id: I0ac7336d369894520c8e17848ab6a91dbbd905e9
Elliott Hughes [Fri, 20 Jul 2012 19:47:25 +0000 (12:47 -0700)]
am
b498bf42: Merge "[X86] X86 trace JIT compiler support"
* commit '
b498bf420d28aeab14384fcc12db54d00ede03d3':
[X86] X86 trace JIT compiler support
Elliott Hughes [Fri, 20 Jul 2012 19:34:16 +0000 (12:34 -0700)]
Merge "[X86] X86 trace JIT compiler support"
Dong-Yuan Chen [Tue, 3 Jul 2012 20:13:07 +0000 (13:13 -0700)]
[X86] X86 trace JIT compiler support
This patch provides a fully functional x86 trace JIT compiler for Dalvik
VM. It is built on top of the existing x86 fast interpreter
with bug fixes and needed extension to support trace JIT interface. The
x86 trace JIT code generator was developed independent of the existing
template-based code generator and thus does not share exactly the same
infrastructure. Included in this patch are:
* Deprecated and removed the x86-atom fast interpreter that is no
longer functional since ICS.
* Augmented x86 fast interpreter to provide interfaces for x86 trace JIT
compiler.
* Added x86 trace JIT code generator with full JDWP debugging support.
* Method JIT and self-verification mode are not supported.
The x86 code generator uses the x86 instruction encoder/decoder library
from the Apache Harmony project. Additional wrapper extension and bug
fixes were added to support the x86 trace JIT code generator. The x86
instruction encoder/decoder is embedded inside the x86 code generator
under the libenc subdirectory.
Change-Id: I241113681963a16c13a3562390813cbaaa6eedf0
Signed-off-by: Dong-Yuan Chen <dong-yuan.chen@intel.com>
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
Signed-off-by: Johnnie Birch <johnnie.l.birch.jr@intel.com>
Signed-off-by: Udayan <udayan.banerji@intel.com>
Signed-off-by: Sushma Kyasaralli Thimmappa <sushma.kyasaralli.thimmappa@intel.com>
Signed-off-by: Bijoy Jose <bijoy.a.jose@intel.com>
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Tim Hartley <timothy.d.hartley@intel.com>
The Android Open Source Project [Thu, 19 Jul 2012 15:36:06 +0000 (08:36 -0700)]
Reconcile with jb-mr0-release
Change-Id: I3f1190900571a53d58ef0b7816490b9e9019b2f3
The Android Automerger [Thu, 19 Jul 2012 06:04:36 +0000 (23:04 -0700)]
merge in jb-release history after reset to jb-dev
The Android Automerger [Thu, 19 Jul 2012 04:44:39 +0000 (21:44 -0700)]
merge in jb-mr0-release history after reset to jb-dev