OSDN Git Service
Vladimir Marko [Tue, 27 Jan 2015 15:15:17 +0000 (15:15 +0000)]
am
2f24afbb: Merge "Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)""
* commit '
2f24afbb408b298fd0836f10dd1fc07579443a67':
Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)"
Vladimir Marko [Tue, 27 Jan 2015 15:10:10 +0000 (15:10 +0000)]
Merge "Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)""
Vladimir Marko [Tue, 27 Jan 2015 10:48:44 +0000 (10:48 +0000)]
Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)"
And the 3 Mac build fixes. Fix conflicts in context_x86.* .
This reverts commits
3d2c8e74c27efee58e24ec31441124f3f21384b9 ,
34eda1dd66b92a361797c63d57fa19e83c08a1b4 ,
f601d1954348b71186fa160a0ae6a1f4f1c5aee6 ,
bc503348a1da573488503cc2819c9e30807bea31 .
Bug:
19150481
Change-Id: I6650ee30a7d261159380fe2119e14379e4dc9970
Sebastien Hertz [Tue, 27 Jan 2015 07:43:29 +0000 (07:43 +0000)]
am
aeb47bb1: Merge "Refactor register access from StackVisitor"
* commit '
aeb47bb12420e65b4b5f61164e6396ea93734a0a':
Refactor register access from StackVisitor
Sebastien Hertz [Tue, 27 Jan 2015 07:37:52 +0000 (07:37 +0000)]
am
aa854aff: Merge "JDWP: allocate single step control only when active"
* commit '
aa854aff139d01cb70ab977131334d0c6bfb0be0':
JDWP: allocate single step control only when active
Sebastien Hertz [Tue, 27 Jan 2015 07:37:38 +0000 (07:37 +0000)]
Merge "Refactor register access from StackVisitor"
Sebastien Hertz [Tue, 27 Jan 2015 07:32:23 +0000 (07:32 +0000)]
Merge "JDWP: allocate single step control only when active"
Andreas Gampe [Tue, 27 Jan 2015 01:21:34 +0000 (01:21 +0000)]
am
94fc0e7b: Merge "ART: Fix inlining of Mir2Lir"
* commit '
94fc0e7be35ab1dd42c6336071ea53dfc565faee':
ART: Fix inlining of Mir2Lir
Hiroshi Yamauchi [Tue, 27 Jan 2015 01:21:33 +0000 (01:21 +0000)]
am
413f99a8: Merge "Fix 114-ParallelGC."
* commit '
413f99a82808162dcce1de26a81a4fb9fd43f048':
Fix 114-ParallelGC.
Andreas Gampe [Tue, 27 Jan 2015 00:41:53 +0000 (00:41 +0000)]
Merge "ART: Fix inlining of Mir2Lir"
Andreas Gampe [Tue, 27 Jan 2015 00:39:37 +0000 (16:39 -0800)]
ART: Fix inlining of Mir2Lir
Missed -inl includes.
Change-Id: I39e6d603c7f5d36693aca3816653594488bff63f
Hiroshi Yamauchi [Tue, 27 Jan 2015 00:27:04 +0000 (00:27 +0000)]
Merge "Fix 114-ParallelGC."
Hiroshi Yamauchi [Tue, 27 Jan 2015 00:05:11 +0000 (16:05 -0800)]
Fix 114-ParallelGC.
In main(), the outer ArrayList may still be reachable after the
try-catch under the interpreter or a compiler without a liveness
analysis and the last ArrayList allocation may fail due to an OOME.
This fixes 114-ParallelGC under the CC and the GSS collectors.
Bug:
12687968
Change-Id: Ie1082d38b2a677ec70fdc23b0187ae8ce0612808
Andreas Gampe [Mon, 26 Jan 2015 23:52:59 +0000 (23:52 +0000)]
am
8c1a3a22: Merge "ART: Some Quick cleanup"
* commit '
8c1a3a22542bbe6f42649f1af7c579ddbb8134b2':
ART: Some Quick cleanup
Andreas Gampe [Mon, 26 Jan 2015 23:46:42 +0000 (23:46 +0000)]
Merge "ART: Some Quick cleanup"
Andreas Gampe [Fri, 23 Jan 2015 04:39:27 +0000 (20:39 -0800)]
ART: Some Quick cleanup
Make several fields const in CompilationUnit. May benefit some Mir2Lir
code that repeats tests, and in general immutability is good.
Remove compiler_internals.h and refactor some other headers to reduce
overly broad imports (and thus forced recompiles on changes).
Change-Id: I898405907c68923581373b5981d8a85d2e5d185a
Mathieu Chartier [Mon, 26 Jan 2015 21:49:34 +0000 (21:49 +0000)]
am
ad3c0597: Merge "Add missing EndTiming in CompileMethod"
* commit '
ad3c05971fc4603d9151cc61d2c8289a3e3e4ae0':
Add missing EndTiming in CompileMethod
Mathieu Chartier [Mon, 26 Jan 2015 21:38:05 +0000 (21:38 +0000)]
Merge "Add missing EndTiming in CompileMethod"
Mathieu Chartier [Mon, 26 Jan 2015 21:29:31 +0000 (13:29 -0800)]
Add missing EndTiming in CompileMethod
DCHECK failure when running tests with JIT.
Bug:
17950037
Change-Id: I4f886758b2a9322c2d7a8e8449e84c9a1709c813
Andreas Gampe [Mon, 26 Jan 2015 20:36:34 +0000 (20:36 +0000)]
am
b80c3154: Merge "ART: Take apart stream output"
* commit '
b80c3154d3b6359d8ad4ce50d3a6a68224400cdd':
ART: Take apart stream output
Andreas Gampe [Mon, 26 Jan 2015 20:28:47 +0000 (20:28 +0000)]
Merge "ART: Take apart stream output"
Mathieu Chartier [Mon, 26 Jan 2015 19:25:42 +0000 (19:25 +0000)]
am
2ca19c23: Merge "Change AtomicStack to use StackReference"
* commit '
2ca19c23b9bc64c743a4cdbe9282ad4d995b398d':
Change AtomicStack to use StackReference
Mathieu Chartier [Mon, 26 Jan 2015 19:19:26 +0000 (19:19 +0000)]
Merge "Change AtomicStack to use StackReference"
Sebastien Hertz [Mon, 26 Jan 2015 16:37:14 +0000 (17:37 +0100)]
JDWP: allocate single step control only when active
Only allocates SingleStepControl when a single step is requested in
a thread.
Bug:
19142632
Change-Id: I830b7eaea86b516d3fac80ce14d41c66b4bd5415
Vladimir Marko [Mon, 26 Jan 2015 18:39:14 +0000 (18:39 +0000)]
am
cfc56e06: Merge "ART: Fix assembler labels\' usage in macros for Mac."
* commit '
cfc56e066d20a1ec31ce95be621c1aaf5565c954':
ART: Fix assembler labels' usage in macros for Mac.
Andreas Gampe [Mon, 26 Jan 2015 18:38:34 +0000 (10:38 -0800)]
ART: Take apart stream output
To investigate bug.
Bug:
19028453
Change-Id: Ib109caf2747f9adeef15dfc0f4708498e395dacf
Vladimir Marko [Mon, 26 Jan 2015 18:33:45 +0000 (18:33 +0000)]
Merge "ART: Fix assembler labels' usage in macros for Mac."
Vladimir Marko [Mon, 26 Jan 2015 18:07:14 +0000 (18:07 +0000)]
ART: Fix assembler labels' usage in macros for Mac.
Change-Id: I99552528329a7f2cd5656eef0210c831cfc5fe09
David Brazdil [Mon, 26 Jan 2015 16:36:43 +0000 (16:36 +0000)]
am
ac99db27: Merge "Optimizing: Speed up HEnvironment use removal"
* commit '
ac99db2751f1ac432a84739e7a4e011579296caf':
Optimizing: Speed up HEnvironment use removal
David Brazdil [Mon, 26 Jan 2015 16:33:48 +0000 (16:33 +0000)]
Merge "Optimizing: Speed up HEnvironment use removal"
David Brazdil [Fri, 23 Jan 2015 10:39:45 +0000 (10:39 +0000)]
Optimizing: Speed up HEnvironment use removal
Removal of use records from HEnvironment vregs involved iterating over
potentially large linked lists which made compilation of huge methods
very slow. This patch turns use lists into doubly-linked lists, stores
pointers to the relevant nodes inside HEnvironment and subsequently
turns the removals into constant-time operations.
Change-Id: I0e1d4d782fd624e7b8075af75d4adf0a0634a1ee
Nicolas Geoffray [Mon, 26 Jan 2015 16:13:03 +0000 (16:13 +0000)]
am
a5f982d7: Merge "Move code around and address growable_array comment."
* commit '
a5f982d7e08ed984e64a8418730ce406b08e2c41':
Move code around and address growable_array comment.
Vladimir Marko [Mon, 26 Jan 2015 16:13:02 +0000 (16:13 +0000)]
am
bbacb3db: Merge "Quick: Fix range check for intrinsic String.charAt() on x86."
* commit '
bbacb3db1f453a51453efc17779bf421883d4dba':
Quick: Fix range check for intrinsic String.charAt() on x86.
Nicolas Geoffray [Mon, 26 Jan 2015 16:11:04 +0000 (16:11 +0000)]
Merge "Move code around and address growable_array comment."
Vladimir Marko [Mon, 26 Jan 2015 16:08:22 +0000 (16:08 +0000)]
Merge "Quick: Fix range check for intrinsic String.charAt() on x86."
Nicolas Geoffray [Mon, 26 Jan 2015 15:18:36 +0000 (15:18 +0000)]
Move code around and address growable_array comment.
- Move SideEffectsAnalysis to its own file.
- Move most of gvn.h to gvn.cc.
- Don't call Resize in GrowableArray constructor, but just set num_used
directly.
Change-Id: I1f1291207945d678d3c99cc0ec1ec155bcae82f6
Vladimir Marko [Mon, 26 Jan 2015 15:52:34 +0000 (15:52 +0000)]
am
60430803: Merge "Fix Mac build."
* commit '
60430803a7964b68269e42f04acadb070b25c58c':
Fix Mac build.
Vladimir Marko [Mon, 26 Jan 2015 15:46:40 +0000 (15:46 +0000)]
Merge "Fix Mac build."
Sebastien Hertz [Thu, 22 Jan 2015 17:57:14 +0000 (18:57 +0100)]
Refactor register access from StackVisitor
Moves register access checking up to StackVisitor by adding methods
IsAccessibleGPR and IsAccessibleFPR in Context class. It allows to
simplify GetGPR/FPR and SetGPR/FPR methods in the Context class (and
its subclasses).
Also simplifies code in StackVisitor by adding IsAccessibleRegister,
GetRegister and SetRegister methods which then call either GPR or FPR
specific methods in Context depending on the nature of the accessed
register.
Bug:
18547544
Bug:
19106446
Change-Id: I6e707608d935a71571d0e975a6e766053de3763a
Vladimir Marko [Mon, 26 Jan 2015 15:33:03 +0000 (15:33 +0000)]
Fix Mac build.
Change-Id: I88c0b3c7b799df8dd0aab86b6801c37093045129
Nicolas Geoffray [Mon, 26 Jan 2015 15:22:36 +0000 (15:22 +0000)]
am
f90eec00: Merge "Fix build breakage after GVN change."
* commit '
f90eec005997f98c1a9f874fbbf68414e5f9c766':
Fix build breakage after GVN change.
Nicolas Geoffray [Mon, 26 Jan 2015 15:17:44 +0000 (15:17 +0000)]
Merge "Fix build breakage after GVN change."
Nicolas Geoffray [Mon, 26 Jan 2015 15:13:47 +0000 (15:13 +0000)]
Fix build breakage after GVN change.
Change-Id: I120717f8cae452cad9967559c466c1605a3e7b14
Vladimir Marko [Mon, 26 Jan 2015 14:49:35 +0000 (14:49 +0000)]
am
3c40d38e: Merge "ART: Fix asm literals for Mac builds."
* commit '
3c40d38eadeb5ea7c0733f6a40816061db8c86f8':
ART: Fix asm literals for Mac builds.
Nicolas Geoffray [Mon, 26 Jan 2015 14:49:34 +0000 (14:49 +0000)]
am
76d032ba: Merge "Introduce a SideEffectsAnalysis class."
* commit '
76d032bacd65e396609631bb6aca3a90a80116f7':
Introduce a SideEffectsAnalysis class.
Vladimir Marko [Mon, 26 Jan 2015 14:46:12 +0000 (14:46 +0000)]
Merge "ART: Fix asm literals for Mac builds."
Nicolas Geoffray [Mon, 26 Jan 2015 14:45:59 +0000 (14:45 +0000)]
Merge "Introduce a SideEffectsAnalysis class."
Nicolas Geoffray [Mon, 26 Jan 2015 12:54:33 +0000 (12:54 +0000)]
Introduce a SideEffectsAnalysis class.
LICM also needs the side effects information of loops, so move
the GVN::ComputeSideEffects method into its own analysis class.
Change-Id: I810c8230a0eb6b9b536e8f808e17a3a4ad72f7db
Vladimir Marko [Mon, 26 Jan 2015 14:30:46 +0000 (14:30 +0000)]
ART: Fix asm literals for Mac builds.
Change-Id: Ief922e1e06811b8ec25771b9854376fae3e07929
Vladimir Marko [Mon, 26 Jan 2015 14:06:46 +0000 (14:06 +0000)]
Quick: Fix range check for intrinsic String.charAt() on x86.
Bug:
19125146
Change-Id: I274190a7a60cd2e29a854738ed1ec99a9e611969
Nicolas Geoffray [Mon, 26 Jan 2015 14:32:09 +0000 (14:32 +0000)]
am
c2c25a93: Merge "Fix a bug in the liveness analysis."
* commit '
c2c25a939a8bc98365c282f76f8f33f9549034b8':
Fix a bug in the liveness analysis.
Nicolas Geoffray [Mon, 26 Jan 2015 14:26:44 +0000 (14:26 +0000)]
Merge "Fix a bug in the liveness analysis."
Nicolas Geoffray [Fri, 23 Jan 2015 18:01:51 +0000 (18:01 +0000)]
Fix a bug in the liveness analysis.
A range after a loop might also be after a lifetime hole.
In this situation we must preserve the hole, and not merge
it with the loop start.
Change-Id: I82eddef059592102a25362cdaa4273200574c2ae
Nicolas Geoffray [Mon, 26 Jan 2015 14:02:07 +0000 (14:02 +0000)]
am
081d2781: Merge "Fix lint error and typo."
* commit '
081d27817608c2ea035f2473c4ea1062a79bccef':
Fix lint error and typo.
Nicolas Geoffray [Mon, 26 Jan 2015 13:58:04 +0000 (13:58 +0000)]
Merge "Fix lint error and typo."
Nicolas Geoffray [Mon, 26 Jan 2015 13:57:30 +0000 (13:57 +0000)]
Fix lint error and typo.
Change-Id: Ie2787a4da5b2d76975664e64f443c081127b7cd9
Nicolas Geoffray [Mon, 26 Jan 2015 13:38:18 +0000 (13:38 +0000)]
am
0da7a26e: Merge "Fix codegen_test."
* commit '
0da7a26e1ae2a701529c5c15c280f3efae0ccec0':
Fix codegen_test.
Nicolas Geoffray [Mon, 26 Jan 2015 13:33:33 +0000 (13:33 +0000)]
Merge "Fix codegen_test."
Nicolas Geoffray [Mon, 26 Jan 2015 12:49:35 +0000 (12:49 +0000)]
Fix codegen_test.
Native and ART do not have the same calling convention for ART,
so we need to adjust blocked and allocated registers.
Change-Id: I606b2620c0e5a54bd60d6100a137c06616ad40b4
Vladimir Marko [Mon, 26 Jan 2015 12:49:47 +0000 (12:49 +0000)]
am
ebb3cbc5: Merge "ART: Implement X86 hard float (Quick/JNI/Baseline)"
* commit '
ebb3cbc5869f78170f08ffdb1e782b3b3371e638':
ART: Implement X86 hard float (Quick/JNI/Baseline)
Vladimir Marko [Mon, 26 Jan 2015 12:44:44 +0000 (12:44 +0000)]
Merge "ART: Implement X86 hard float (Quick/JNI/Baseline)"
Nicolas Geoffray [Mon, 26 Jan 2015 10:16:38 +0000 (10:16 +0000)]
am
2dadc9df: Merge "Support callee-save registers on ARM."
* commit '
2dadc9df0ffb822870a150f81257792b83241c77':
Support callee-save registers on ARM.
Nicolas Geoffray [Mon, 26 Jan 2015 10:10:46 +0000 (10:10 +0000)]
Merge "Support callee-save registers on ARM."
Mathieu Chartier [Fri, 23 Jan 2015 21:50:03 +0000 (13:50 -0800)]
Change AtomicStack to use StackReference
Previously used Object*, using StackReference saves memory on 64 bit
devices.
Bug:
12935052
Bug:
17643507
Change-Id: I035878690054eeeb24d655a900b8f26c837703ff
Nicolas Geoffray [Fri, 23 Jan 2015 18:23:14 +0000 (18:23 +0000)]
Support callee-save registers on ARM.
Change-Id: I7c519b7a828c9891b1141a8e51e12d6a8bc84118
Andreas Gampe [Sat, 24 Jan 2015 05:23:30 +0000 (05:23 +0000)]
am
336247fa: Merge "ART: Fix new[] / delete mismatch"
* commit '
336247fa6deba2948f5ede1df806f48cf67c790a':
ART: Fix new[] / delete mismatch
Andreas Gampe [Sat, 24 Jan 2015 05:18:25 +0000 (05:18 +0000)]
Merge "ART: Fix new[] / delete mismatch"
Andreas Gampe [Sat, 24 Jan 2015 03:51:15 +0000 (19:51 -0800)]
ART: Fix new[] / delete mismatch
The type of the unique_ptr in MarkQueue should be an array type,
as it is holding an array, actually.
Change-Id: If1d05a1d52cd58a373f240f7156fc69b70324298
Hiroshi Yamauchi [Sat, 24 Jan 2015 01:32:07 +0000 (01:32 +0000)]
am
d664b16a: Merge "Make it possible to enable read barriers at build time."
* commit '
d664b16a65962601e2fee5d35656ef59f6471788':
Make it possible to enable read barriers at build time.
Hiroshi Yamauchi [Sat, 24 Jan 2015 01:26:52 +0000 (01:26 +0000)]
Merge "Make it possible to enable read barriers at build time."
Hiroshi Yamauchi [Sat, 24 Jan 2015 01:23:42 +0000 (17:23 -0800)]
Make it possible to enable read barriers at build time.
Bug:
12687968
Change-Id: I26ec55063c2d5ff0181e628c1002bfa609815b29
Andreas Gampe [Fri, 23 Jan 2015 23:21:17 +0000 (23:21 +0000)]
am
d7fa69ca: Merge "ART: On shutdown, only warn on mutex contention"
* commit '
d7fa69ca6527abce692da848eb49f6262213c14d':
ART: On shutdown, only warn on mutex contention
Hiroshi Yamauchi [Fri, 23 Jan 2015 23:17:42 +0000 (23:17 +0000)]
am
61e620d4: Merge "More of the concurrent copying collector."
* commit '
61e620d4771e09143471e38fe7531678a36ce3f8':
More of the concurrent copying collector.
Andreas Gampe [Fri, 23 Jan 2015 23:17:16 +0000 (23:17 +0000)]
Merge "ART: On shutdown, only warn on mutex contention"
Andreas Gampe [Fri, 23 Jan 2015 03:48:51 +0000 (19:48 -0800)]
ART: On shutdown, only warn on mutex contention
Do not abort, as daemon threads may still be active.
Bug:
17894429
(cherry picked from commit
c0440f69ebf051ff2ffdc00de51005a040014462)
Change-Id: I7c1d50ff8d4a5e150279e703a69c8f2f1d423e6b
Hiroshi Yamauchi [Fri, 23 Jan 2015 23:13:11 +0000 (23:13 +0000)]
Merge "More of the concurrent copying collector."
Hiroshi Yamauchi [Fri, 9 Jan 2015 22:03:35 +0000 (14:03 -0800)]
More of the concurrent copying collector.
Bug:
12687968
Change-Id: I62f70274d47df6d6cab714df95c518b750ce3105
Nicolas Geoffray [Fri, 23 Jan 2015 22:05:35 +0000 (22:05 +0000)]
am
604e2828: Merge "Fix valgrind error."
* commit '
604e2828896fbb8663897d1e75112da7305ead4c':
Fix valgrind error.
Nicolas Geoffray [Fri, 23 Jan 2015 22:01:13 +0000 (22:01 +0000)]
Merge "Fix valgrind error."
Nicolas Geoffray [Fri, 23 Jan 2015 21:51:55 +0000 (21:51 +0000)]
Fix valgrind error.
Also introduce kLastCpuRegister to define kFakeReturnRegister.
Change-Id: I58cef6186c0452d45b5d2dcba9298cbe07f3552d
Mathieu Chartier [Fri, 23 Jan 2015 19:15:25 +0000 (19:15 +0000)]
am
c08e6453: Merge "Fix compaction bugs related to IdentityHashCode"
* commit '
c08e6453878da2e064729e01d562973280948ce1':
Fix compaction bugs related to IdentityHashCode
Mathieu Chartier [Fri, 23 Jan 2015 19:10:41 +0000 (19:10 +0000)]
Merge "Fix compaction bugs related to IdentityHashCode"
Mathieu Chartier [Fri, 23 Jan 2015 01:02:27 +0000 (17:02 -0800)]
Fix compaction bugs related to IdentityHashCode
IdentityHashCode is a suspend point if monitor inflation occurs.
Change-Id: I114021aed8b3f3437109ef622298de05e13b4e34
Mark Mendell [Tue, 13 Jan 2015 22:32:55 +0000 (17:32 -0500)]
ART: Implement X86 hard float (Quick/JNI/Baseline)
Use XMM0-XMM3 as parameter registers for float/double on X86. X86_64
already uses XMM0-XMM7 for parameters.
Change the 'hidden' argument register from XMM0 to XMM7 to avoid a
conflict.
Add support for FPR save/restore in runtime/arch/x86.
Minimal support for Optimizing baseline compiler.
Bump the version in runtime/oat.h because this is an ABI change.
Change-Id: Ia6fe150e8488b9e582b0178c0dda65fc81d5a8ba
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Nicolas Geoffray [Fri, 23 Jan 2015 17:52:00 +0000 (17:52 +0000)]
am
e6a05bf1: Merge "Fix makefile error."
* commit '
e6a05bf1bc935aabcf50585d337743d83fadf26b':
Fix makefile error.
Nicolas Geoffray [Fri, 23 Jan 2015 17:48:57 +0000 (17:48 +0000)]
Merge "Fix makefile error."
Nicolas Geoffray [Fri, 23 Jan 2015 17:48:28 +0000 (17:48 +0000)]
Fix makefile error.
Change-Id: I797de0bed7b9c51cd7889de5144b8dbfd641335d
Nicolas Geoffray [Fri, 23 Jan 2015 17:37:39 +0000 (17:37 +0000)]
am
a5f74e15: Merge "Mark test as failing for optimizing."
* commit '
a5f74e15c14b8d2caa49a350ca6b5aa9183e2f7e':
Mark test as failing for optimizing.
Nicolas Geoffray [Fri, 23 Jan 2015 17:31:36 +0000 (17:31 +0000)]
Merge "Mark test as failing for optimizing."
Nicolas Geoffray [Fri, 23 Jan 2015 17:30:54 +0000 (17:30 +0000)]
Mark test as failing for optimizing.
Change-Id: I928ff56d232a647e8227f2b97a8f4a51791a5f95
Sebastien Hertz [Fri, 23 Jan 2015 16:55:17 +0000 (16:55 +0000)]
am
294f9860: Merge "Fix exception handling during deoptimization"
* commit '
294f98602c448a49fe2192387b4065cc640e0de7':
Fix exception handling during deoptimization
Sebastien Hertz [Fri, 23 Jan 2015 16:51:17 +0000 (16:51 +0000)]
Merge "Fix exception handling during deoptimization"
Sebastien Hertz [Fri, 16 Jan 2015 18:49:09 +0000 (19:49 +0100)]
Fix exception handling during deoptimization
When interpreting a deoptimized shadow frame, we may start with a
pending exception thrown by a previous deoptimized shadow frame (from
a previous invoke). Therefore, we need to handle it before executing
any instruction, otherwise we execute incorrect code.
Because we need the DEX pc of the throwing instruction to find a
matching catch handler, we initialize deoptimized shadow frames with
the current DEX pc at the time the stack is deoptimized.
When we are about to interpret a deoptimized shadow frame, we need to
update the shadow frame with the DEX pc of the next instruction to
interpret. There are three cases:
- if there is no pending exception, this is the instruction following
the current one.
- if there is a pending exception and we found a matching catch
handler, this is the first instruction of this handler.
- if there is a pending exception but there is no matching catch
handler, we do not execute the deoptimized shadow frame and continue
to its caller.
The verifier now fails when a method starts with a move-exception
instruction. Indeed we cannot start executing a method with a pending
exception.
Bug:
19057915
Bug:
19041195
Bug:
18607595
Change-Id: I355ac81e6ac098edc7e3cc8c13dbfa24a2969ab2
Vladimir Marko [Fri, 23 Jan 2015 11:53:51 +0000 (11:53 +0000)]
am
d834380c: Merge "Fix BitVector::IndexIterator::operator*() to return uint32_t."
* commit '
d834380c94af85b498560f3b5feae21ef7fab1ed':
Fix BitVector::IndexIterator::operator*() to return uint32_t.
Vladimir Marko [Fri, 23 Jan 2015 11:49:09 +0000 (11:49 +0000)]
Merge "Fix BitVector::IndexIterator::operator*() to return uint32_t."
Vladimir Marko [Fri, 2 Jan 2015 17:00:44 +0000 (17:00 +0000)]
Fix BitVector::IndexIterator::operator*() to return uint32_t.
Change-Id: I3cfc028b1c3744ec85ea00eadcbccfdde6fd51d3
Nicolas Geoffray [Fri, 23 Jan 2015 10:13:56 +0000 (10:13 +0000)]
am
1ab15020: Merge "Implicit stack overflow checks and null checks are the norm now."
* commit '
1ab1502093940ecc03b1be5d5e7e50b69df42165':
Implicit stack overflow checks and null checks are the norm now.
Nicolas Geoffray [Fri, 23 Jan 2015 10:13:55 +0000 (10:13 +0000)]
am
360daa6f: Merge "Support callee save floating point registers on x64."
* commit '
360daa6feb2b73be8cc61bf370eef7200a210d98':
Support callee save floating point registers on x64.
Nicolas Geoffray [Fri, 23 Jan 2015 09:38:05 +0000 (09:38 +0000)]
Merge "Implicit stack overflow checks and null checks are the norm now."
Nicolas Geoffray [Fri, 23 Jan 2015 09:36:52 +0000 (09:36 +0000)]
Implicit stack overflow checks and null checks are the norm now.
Make the default to true so that unit tests don't need to
use the full CompilerOptions constructor.
Change-Id: Ieb52235af73dce2fa03f12932e22ebe2294c805b