OSDN Git Service
Nicolas Geoffray [Mon, 19 Jan 2015 08:39:36 +0000 (08:39 +0000)]
Merge "Do not use register pair in a parallel move."
Andreas Gampe [Sat, 17 Jan 2015 00:52:39 +0000 (00:52 +0000)]
Merge "Adds the dexfuzz fuzzing tool to ART."
Mathieu Chartier [Fri, 16 Jan 2015 21:37:15 +0000 (21:37 +0000)]
Merge "Fix infinite loop in GenerateIdentityHashCode"
tony.ys_liu [Fri, 16 Jan 2015 11:16:45 +0000 (19:16 +0800)]
Fix infinite loop in GenerateIdentityHashCode
Root Cause:
If no one changes the seed, it will become infinite loop due to below condition
(expected_value & LockWord::kHashMask) == 0
Solution:
Changes the seed before entering the next loop
Added test.
Bug:
19046417
Change-Id: I7d1c377dd1bda780681514b24d61ebc776bc80ab
Andreas Gampe [Fri, 16 Jan 2015 20:09:14 +0000 (20:09 +0000)]
Merge "Fix refs_and_args callee save order for Mips32."
Richard Uhler [Fri, 16 Jan 2015 15:59:48 +0000 (15:59 +0000)]
Merge "Fix comment referring to nonexistent ElementDeleter"
Calin Juravle [Fri, 16 Jan 2015 12:14:05 +0000 (12:14 +0000)]
Merge "Add --no-clean to checker (keeps the generated files around)"
Calin Juravle [Fri, 16 Jan 2015 11:58:49 +0000 (11:58 +0000)]
Add --no-clean to checker (keeps the generated files around)
Change-Id: Iefef18f3456f79684077912e1f8b614d56e13ca6
Nicolas Geoffray [Fri, 16 Jan 2015 09:14:18 +0000 (09:14 +0000)]
Do not use register pair in a parallel move.
The ParallelMoveResolver does not work with pairs. Instead,
decompose the pair into two individual moves.
Change-Id: Ie9d3f0b078cef8dc20640c98b20bb20cc4971a7f
Nicolas Geoffray [Fri, 16 Jan 2015 09:11:53 +0000 (09:11 +0000)]
Merge "Remove test that is now invalid."
Nicolas Geoffray [Fri, 16 Jan 2015 09:04:49 +0000 (09:04 +0000)]
Remove test that is now invalid.
It does not make sense to have moves to the same destination
within a single parallel move. There is now an explicit
DCHECK to prevent these situations.
Change-Id: I3a33e748579ecb53b95476e77a37164d2f145f5a
Nicolas Geoffray [Fri, 16 Jan 2015 08:41:30 +0000 (08:41 +0000)]
Merge "Fix a bug in the register allocator."
Nicolas Geoffray [Thu, 15 Jan 2015 15:37:37 +0000 (15:37 +0000)]
Fix a bug in the register allocator.
When allocating a register blocked by existing intervals,
we need to split inactive intervals at the end of their
lifetime hole, and not at the next intersection. Otherwise,
the allocation for following intervals will not see
that a register is being used by the split interval.
Change-Id: I40cc79dde541c07392a7cf4c6f0b291dd1ce1819
Andreas Gampe [Fri, 16 Jan 2015 04:14:49 +0000 (04:14 +0000)]
Merge "ART: Mips64 runtime support"
Andreas Gampe [Thu, 15 Jan 2015 20:10:47 +0000 (12:10 -0800)]
ART: Mips64 runtime support
Interpret-only Mips64 runtime support.
Change-Id: Iee22d0c8c77105d9b2f03a67dc4e09957fe0ab0a
Mathieu Chartier [Fri, 16 Jan 2015 02:10:06 +0000 (02:10 +0000)]
Merge "Increase default timeout"
Mathieu Chartier [Fri, 16 Jan 2015 01:23:16 +0000 (17:23 -0800)]
Increase default timeout
Bug:
19027813
Change-Id: I13af576dc3e980dc82e466435f41b322e2cd873e
Mathieu Chartier [Thu, 15 Jan 2015 20:27:09 +0000 (20:27 +0000)]
Merge "Print more info in MarkSweep::VerifyRoot"
Mathieu Chartier [Wed, 14 Jan 2015 22:55:47 +0000 (14:55 -0800)]
Print more info in MarkSweep::VerifyRoot
Refactored old root callback to use a new class called RootInfo.
RootInfo contains all the relevant info related to the root
associated with the callback. The MarkSweep::VerifyRoot function
now uses this info to print the StackVisitor's described location
if the GC root is of the type kRootJavaFrame.
Some other cleanup.
Example output:
E/art (12167): Tried to mark 0x123 not contained by any spaces
E/art (12167): Attempting see if it's a bad root
E/art (12167): Found invalid root: 0x123 with type RootJavaFrame
E/art (12167): Location=Visiting method
'void java.lang.Runtime.gc()' at dex PC 0xffffffff (native PC 0x0)
vreg=0
(cherry picked from commit
12f7423a2bb4bfab76700d84eb6d4338d211983a)
Bug:
18588862
Change-Id: Ic5a2781f704e931265ffb3621c2eab4b2e25f60f
David Brazdil [Thu, 15 Jan 2015 19:35:38 +0000 (19:35 +0000)]
Merge "ART: Remove compiler invocation from Checker"
Andreas Gampe [Thu, 15 Jan 2015 19:34:25 +0000 (19:34 +0000)]
Merge "ART: Allow to compile interpret-only mips64 files"
Andreas Gampe [Wed, 14 Jan 2015 23:45:59 +0000 (15:45 -0800)]
ART: Allow to compile interpret-only mips64 files
Include enough infrastructure to allow cross-compiling for mips64,
interpret-only. This includes the instruction-set-features, frame
size info and utils assembler.
Also add a disassembler for oatdump, and support in patchoat.
Note: the runtime cannot run mips64, yet.
Change-Id: Id106581fa76b478984741c62a8a03be0f370d992
Andreas Gampe [Thu, 15 Jan 2015 19:31:46 +0000 (19:31 +0000)]
Merge "ART: Optimizing compiler intrinsics"
Andreas Gampe [Thu, 15 Jan 2015 18:42:15 +0000 (18:42 +0000)]
Merge "ART: Only run addr2line in abort thread dumps"
David Brazdil [Thu, 15 Jan 2015 01:32:23 +0000 (01:32 +0000)]
ART: Remove compiler invocation from Checker
In anticipation of running Checker from run-test, this patch removes
code which compiles Java files as this will be handled by run-test.
It simultaneously adds support for verifying an entire directory of
annotated test files.
Change-Id: Id91c19c83fddade076c77789316d59f00893e63b
Andreas Gampe [Thu, 15 Jan 2015 18:38:19 +0000 (10:38 -0800)]
ART: Only run addr2line in abort thread dumps
Avoid addr2line overhead for SIGQUIT and other thread dumps.
Bug:
18933933
Change-Id: I81bb291ede870d1d14b30bb0afdc47830ed14e8b
Mathieu Chartier [Thu, 15 Jan 2015 18:32:47 +0000 (18:32 +0000)]
Merge "Fix false alarm on thread suspend timeout"
Richard Uhler [Thu, 15 Jan 2015 18:27:22 +0000 (10:27 -0800)]
Fix comment referring to nonexistent ElementDeleter
Bug:
18809837
Change-Id: I40ad727907be505b7cb63f3c4bba7f395aaec727
Andreas Gampe [Tue, 30 Dec 2014 01:43:08 +0000 (17:43 -0800)]
ART: Optimizing compiler intrinsics
Add intrinsics infrastructure to the optimizing compiler.
Add almost all intrinsics supported by Quick to the x86-64 backend.
Further intrinsics require more assembler support.
Change-Id: I48de9b44c82886bb298d16e74e12a9506b8e8807
David Brazdil [Thu, 15 Jan 2015 17:21:56 +0000 (17:21 +0000)]
Merge "ART: Logging levels for Checker"
Nicolas Geoffray [Thu, 15 Jan 2015 16:58:14 +0000 (16:58 +0000)]
Merge "[optimizing compiler] Compute live spill size"
Andreas Gampe [Thu, 15 Jan 2015 16:36:55 +0000 (16:36 +0000)]
Merge "ART: Increase run-test 114 Java-level timeout"
Mark Mendell [Tue, 13 Jan 2015 14:20:58 +0000 (09:20 -0500)]
[optimizing compiler] Compute live spill size
The current stack frame calculation assumes that each live register to
be saved/restored has the word size of the machine. This fails for X86,
where a double in an XMM register takes up 8 bytes. Change the
calculation to keep track of the number of core registers and number of
fp registers to handle this distinction.
This is slightly pessimal, as the registers may not be active at the
same time, but the only way to handle this would be to allocate both
classes of registers simultaneously, or remember all the active
intervals, matching them up and compute the size of each safepoint
interval.
Change-Id: If7860aa319b625c214775347728cdf49a56946eb
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Andreas Gampe [Thu, 15 Jan 2015 16:02:22 +0000 (08:02 -0800)]
ART: Increase run-test 114 Java-level timeout
Increase the timeout to be larger than the run-test timeout. That
way ART will dump all threads when running the test on the host.
Change-Id: I842b056bba650e5c7c3293376a48d48b7468e73d
Andreas Gampe [Thu, 15 Jan 2015 15:53:01 +0000 (15:53 +0000)]
Merge "ART: Allow scoped adjustments to log verbosity"
Andreas Gampe [Thu, 15 Jan 2015 03:53:31 +0000 (19:53 -0800)]
ART: Allow scoped adjustments to log verbosity
Add ScopedLogSeverity to adjust the logging level.
Suppress warnings by default in gtests. Suppress errors in instances
where errors are expected.
Change-Id: If3ef865813e9505ab60bc90baed63ff11d90afbb
Nicolas Geoffray [Thu, 15 Jan 2015 08:44:56 +0000 (08:44 +0000)]
Merge "Disable test for NDEBUG, it uses libarttest.so."
Nicolas Geoffray [Thu, 15 Jan 2015 08:42:47 +0000 (08:42 +0000)]
Disable test for NDEBUG, it uses libarttest.so.
Change-Id: Ie275583aec421f3a40663ff44388a73e890ff894
Andreas Gampe [Thu, 15 Jan 2015 04:10:37 +0000 (04:10 +0000)]
Merge "ART: Mac build fix for unused constant"
Andreas Gampe [Thu, 15 Jan 2015 04:09:14 +0000 (20:09 -0800)]
ART: Mac build fix for unused constant
Change-Id: I77e70c877e8a3608555f128e0edf8784db178e86
Andreas Gampe [Thu, 15 Jan 2015 02:39:45 +0000 (02:39 +0000)]
Merge "ART: Host timeout Mac build fix."
Andreas Gampe [Thu, 15 Jan 2015 02:35:01 +0000 (18:35 -0800)]
ART: Host timeout Mac build fix.
Mac fix for unsupported SIGRTMIN introduced in commit
038bb2252ed1d7132f45006507e389b7ba1617ce.
Bug:
18933933
Change-Id: I502cda51802d67f089c09240d89f71166ed56c6d
Andreas Gampe [Thu, 15 Jan 2015 00:47:45 +0000 (00:47 +0000)]
Merge "ART: Simple structural class check"
David Brazdil [Thu, 15 Jan 2015 00:40:56 +0000 (00:40 +0000)]
ART: Logging levels for Checker
Small patch which enables Checker to print errors but not info
messages as opposed to the current all or nothing. This is useful for
running Checker with run-test.
Change-Id: I500ded0db4f83ed9bbdef9c1f7b1eb18a90d7f0e
Andreas Gampe [Fri, 7 Nov 2014 00:52:58 +0000 (16:52 -0800)]
ART: Simple structural class check
Adds a simple check to class-loading when the embedded dex file in
an oat file and the dex file on the class path where we found the
class do not match.
We require that the number of methods and fields do not change, as
that will almost certainly mean that quickened and other compiled
offsets are wrong now. This is a reasonably lightweight change, but
we should investigate a full comparison including name and type of
members.
Bug:
17937814
Bug:
18708951
(cherry picked from commit
15a33b3f88546bce85dcb9d28caf200da51154d7)
Change-Id: Icb9638bebd369ab23822817f4a97c8dd8625fea5
David Brazdil [Thu, 15 Jan 2015 00:02:31 +0000 (00:02 +0000)]
Merge "ART: dex2oat flag for HGraphVisualizer dump file"
Andreas Gampe [Wed, 14 Jan 2015 23:27:23 +0000 (23:27 +0000)]
Merge "ART: Clean assembler_test disassemblies"
Andreas Gampe [Wed, 14 Jan 2015 23:27:04 +0000 (23:27 +0000)]
Merge "ART: Dump all threads on test timeout"
Andreas Gampe [Wed, 14 Jan 2015 03:48:14 +0000 (19:48 -0800)]
ART: Dump all threads on test timeout
Use SIGRTMIN+2 as a special signal to dump all threads similar to
SIGQUIT. Use nested timeouts to enforce a test timeout and dump
the threads in a deadlock.
Bug:
18933933
Change-Id: I4209047eeca07ff360d7c19922d5b5da64fd69a5
Andreas Gampe [Wed, 14 Jan 2015 20:19:09 +0000 (20:19 +0000)]
Merge "ART: Fix indentation in Mips backend"
Andreas Gampe [Wed, 14 Jan 2015 20:09:25 +0000 (12:09 -0800)]
ART: Fix indentation in Mips backend
Fix the indentation to be standard.
Change-Id: I39a16716be3429dfef6df0a585e24423b46363a2
Andreas Gampe [Wed, 14 Jan 2015 20:03:36 +0000 (12:03 -0800)]
ART: Clean assembler_test disassemblies
Add a flag. Enable commented-out code.
Change-Id: Ife17b72f2b93c128992d757e58b0e51431a3edf8
Andreas Gampe [Wed, 14 Jan 2015 17:17:53 +0000 (17:17 +0000)]
Merge "ART: Change ternary location for timeout"
Andreas Gampe [Wed, 14 Jan 2015 17:06:32 +0000 (09:06 -0800)]
ART: Change ternary location for timeout
Make the decision for timeout length in the constant, not at the
use site.
Bug:
18964791
Change-Id: I73e6ef5e1c23fd515eaa61ba68236698d3e5c81a
Richard Uhler [Wed, 14 Jan 2015 16:00:55 +0000 (16:00 +0000)]
Merge "Use unique_ptr to track ownership of dex files."
Nicolas Geoffray [Wed, 14 Jan 2015 14:49:38 +0000 (14:49 +0000)]
Merge "Remove constant moves after emitting them in parallel resolver."
Nicolas Geoffray [Wed, 14 Jan 2015 10:45:05 +0000 (10:45 +0000)]
Remove constant moves after emitting them in parallel resolver.
This fixes the case where a constant move requires a scratch
register. Note that there is no backend that needs this for now,
but X86 might with the move to hard float.
Change-Id: I37f6b8961b48f2cf6fbc0cd281e70d58466d018e
Vladimir Marko [Wed, 14 Jan 2015 10:56:30 +0000 (10:56 +0000)]
Merge "Fix wide volatile IGET/IPUT on ARM without atomic ldrd/strd."
Nicolas Geoffray [Wed, 14 Jan 2015 10:31:28 +0000 (10:31 +0000)]
Merge "Implement ParallelMoveResolver::Swap for doubles on arm."
Nicolas Geoffray [Tue, 13 Jan 2015 18:04:41 +0000 (18:04 +0000)]
Implement ParallelMoveResolver::Swap for doubles on arm.
Currently reserve a global register DTMP for these operations.
Change-Id: Ie88b4696af51834492fd062082335bc2e1137be2
tony.ys_liu [Wed, 14 Jan 2015 10:28:03 +0000 (18:28 +0800)]
Fix false alarm on thread suspend timeout
Root cause:
CLOCK_REALTIME will jump backward/forward when system time-of-day clock is changed.
It implies now_abs_ts will jump a lot across end_abs_ts.
Then, it makes a false alarm (process crash) on thread suspend timeout when doing ComputeRelativeTimeSpec.
if (ComputeRelativeTimeSpec(&rel_ts, end_abs_ts, now_abs_ts)) {
return false; // Timed out.
}
Solution:
Use CLOCK_MONOTONIC instead
Change-Id: I768af52b05ee1548bb291f7d5e2f389ec85e0e71
Vladimir Marko [Tue, 13 Jan 2015 17:34:28 +0000 (17:34 +0000)]
Fix wide volatile IGET/IPUT on ARM without atomic ldrd/strd.
If ldrd/strd isn't atomic, IPUT_WIDE uses ldrexd+strexd and
we need to record the safepoint for the ldrexd rather than
strexd. IGET_WIDE was simply missing the memory barrier.
Bug:
18993519
Change-Id: I4e9270b994f413c1a047c1c4bb9cce5f29e42cb4
Nicolas Geoffray [Wed, 14 Jan 2015 09:41:29 +0000 (09:41 +0000)]
Merge "Remove whitespace."
Nicolas Geoffray [Wed, 14 Jan 2015 09:40:32 +0000 (09:40 +0000)]
Remove whitespace.
Change-Id: I82f51cff87765a3aeeb861d2ae64978f2e762c73
Nicolas Geoffray [Wed, 14 Jan 2015 09:27:13 +0000 (09:27 +0000)]
Merge "Skip r1 on arm if first parameter is a long."
Sebastien Hertz [Wed, 14 Jan 2015 08:37:47 +0000 (08:37 +0000)]
Merge "JDWP: fix deadlock with GC"
Sebastien Hertz [Wed, 14 Jan 2015 08:37:37 +0000 (08:37 +0000)]
Merge "Fix bootclasspath string initialization"
Andreas Gampe [Wed, 14 Jan 2015 06:17:41 +0000 (06:17 +0000)]
Merge "ART: Fix mips typo"
Andreas Gampe [Wed, 14 Jan 2015 06:16:40 +0000 (22:16 -0800)]
ART: Fix mips typo
Use the supplied memcmp16 assembly implementation.
Change-Id: I5a7d0b4d8c39cfbbc99720e151fd99d79cdbe0c4
Andreas Gampe [Wed, 14 Jan 2015 06:07:54 +0000 (06:07 +0000)]
Merge "ART: Only give Clang warning when Clang is active"
Andreas Gampe [Wed, 14 Jan 2015 05:47:25 +0000 (05:47 +0000)]
Merge "ART: Introduce Mips32 R6"
Andreas Gampe [Wed, 14 Jan 2015 00:41:53 +0000 (16:41 -0800)]
ART: Introduce Mips32 R6
Add an instruction-set feature for Mips R6. Currently restricted
to the interpreter.
Change-Id: Ic6d888e135bc87340229a0543dd94d0c1e863edd
Andreas Gampe [Wed, 14 Jan 2015 02:12:36 +0000 (18:12 -0800)]
ART: Only give Clang warning when Clang is active
Do not pollute output with Clang warning if we were supposed to
compile with Clang.
Change-Id: I1ee764dcfe0581e09a350cb01fdf0ba06dd18b56
Andreas Gampe [Wed, 14 Jan 2015 01:39:53 +0000 (01:39 +0000)]
Merge "ART: Hprof cleanup"
Richard Uhler [Tue, 23 Dec 2014 17:48:51 +0000 (09:48 -0800)]
Use unique_ptr to track ownership of dex files.
Bug:
18809837
Change-Id: Ie571eae8fc19ee9207390cff5c7e2a38071b126a
Andreas Gampe [Wed, 14 Jan 2015 00:26:20 +0000 (00:26 +0000)]
Merge "ART: Use jalr instead of jr for Mips"
Sebastien Hertz [Tue, 13 Jan 2015 21:48:34 +0000 (22:48 +0100)]
JDWP: fix deadlock with GC
This CL fixes a deadlock where JDWP thread and running GC thread are
waiting for each other. Here is the sequence of the deadlock:
1. GC thread disables access to weak global references, then releases
mutator lock.
2. JDWP thread takes mutator lock exclusively after suspending all
threads.
3. GC thread waits for shared mutator lock which is held by JDWP
thread.
4. JDWP thread clears weak global references but need to wait for GC
thread to re-enable access to them.
To avoid that situation, we ensure the JDWP thread does not attempt
to delete weak global references while holding the mutator
exclusively so GC thread is not blocked.
Bug:
18995321
Change-Id: Ia7e82f463c27ffdcfd730c3117337a6a33d111e7
David Brazdil [Tue, 13 Jan 2015 21:21:31 +0000 (21:21 +0000)]
ART: dex2oat flag for HGraphVisualizer dump file
This patch adds a new '--dump-cfg=<file>' flag to dex2oat which
specifies the file that HGraphVisualizer will store its output into.
Until now the graph was dumped to 'art.cfg' in the current working
directory. To make Checker work with run-test, the output directory
needs to be customizable.
Change-Id: I4a940f7708b88deea5a0e51d13aed13e52199349
Sebastien Hertz [Tue, 13 Jan 2015 09:10:40 +0000 (10:10 +0100)]
Fix bootclasspath string initialization
When running the runtime with an image without explicitly specifying
the bootclasspath (with the -Xbootclasspath option), we construct it
from the location of DEX files loaded from the image.
This allows to fix the JDWP test ClassPathsTest#testClassPaths001 on
the host where the bootclasspath is not explicitly specified on the
command line.
Bug:
18812378
Change-Id: I726eafd8b9e59dc9513beeb7082cf086fe89c4b1
Andreas Gampe [Tue, 13 Jan 2015 19:32:32 +0000 (11:32 -0800)]
ART: Use jalr instead of jr for Mips
Use the jalr instruction instead of jr in stubs and compiled code.
Change-Id: Idacc5167a5bb0113dc2e7716e4767e5ed07b5e0b
Hiroshi Yamauchi [Tue, 13 Jan 2015 19:21:10 +0000 (19:21 +0000)]
Merge "Follow up on CL 122665."
Hiroshi Yamauchi [Mon, 12 Jan 2015 20:11:05 +0000 (12:11 -0800)]
Follow up on CL 122665.
We now do the two-step memory protection strategy (first protect the
from space with PROT_READ and later protect it with PROT_NONE) only if
the from space is a rosalloc space (excluding the more common bump
pointer space case). This strengthens the GC verification for the bump
pointer space case as we avoid the case where mutators run while the
from space is PROT_READ rather than PROT_NONE.
Add a command line flag to override the minimum interval for the
hspace compaction for OOM and set it to zero in the gcstress/gcverify
run-tests to run the hspace compaction more frequently in tests.
Fix some comments.
Bug:
18960494
Change-Id: I518b011e026f578e53c4ec269cfb82865b0fae68
Andreas Gampe [Tue, 13 Jan 2015 19:11:25 +0000 (19:11 +0000)]
Merge "Revert "ART: dex2oat flag for HGraphVisualizer dump file""
Andreas Gampe [Tue, 13 Jan 2015 19:11:14 +0000 (19:11 +0000)]
Revert "ART: dex2oat flag for HGraphVisualizer dump file"
Breaks compilation of tests.
This reverts commit
54953dfdcb3bb8896d8af2d20adef84fb740ce77.
Change-Id: I868b876c3130be61f1169c5fccdffc0368bee11e
David Brazdil [Tue, 13 Jan 2015 18:31:51 +0000 (18:31 +0000)]
Merge "ART: dex2oat flag for HGraphVisualizer dump file"
Nicolas Geoffray [Tue, 13 Jan 2015 11:42:13 +0000 (11:42 +0000)]
Skip r1 on arm if first parameter is a long.
Change-Id: I16d927ee0a0b55031ade4c92c0095fd74e18ed5b
David Brazdil [Tue, 13 Jan 2015 18:07:00 +0000 (18:07 +0000)]
ART: dex2oat flag for HGraphVisualizer dump file
This patch adds a new flag to dex2oat which allows to specify the
name of the file that HGraphVisualizer will store its output into.
Until now the graph was dumped to "art.cfg" in the current working
directory. To make Checker work with run-test, the output directory
needs to be customizable.
Change-Id: I395c518b987e594e89e5e80f202a96befa41ac20
Andreas Gampe [Sat, 10 Jan 2015 08:26:17 +0000 (00:26 -0800)]
ART: Hprof cleanup
Refactor things a bit to make it easier to stream.
Add a simple test that dumps the heap and runs hprov-conf on it.
Change-Id: I79a9ad37d4cf41fa8d63d039586aa80394d96005
Douglas Leung [Thu, 11 Dec 2014 00:15:17 +0000 (16:15 -0800)]
Fix refs_and_args callee save order for Mips32.
This patch fixes an ART crash while using the soft keyboard.
Change-Id: Ib2d651c460ce2707356986cd733bed23b0cabb21
Mathieu Chartier [Mon, 12 Jan 2015 22:26:25 +0000 (22:26 +0000)]
Merge "Fix error in JobjectComparator"
Mathieu Chartier [Mon, 12 Jan 2015 22:24:14 +0000 (14:24 -0800)]
Fix error in JobjectComparator
Was comparing class hash code vs object hash code.
Change-Id: I6427809876462100249809b6f9c5e996c0741cf1
Vladimir Marko [Mon, 12 Jan 2015 18:21:37 +0000 (18:21 +0000)]
Merge "Revert "ART: Implement hard float for X86""
Vladimir Marko [Mon, 12 Jan 2015 18:21:07 +0000 (18:21 +0000)]
Revert "ART: Implement hard float for X86"
This reverts commit
59b9cf7ec0ccc13df91be0bd5c723b8c52410739.
Change-Id: I08333b528032480def474286dc368d916a07e17f
Vladimir Marko [Mon, 12 Jan 2015 18:19:45 +0000 (18:19 +0000)]
Merge "ART: Implement hard float for X86"
Mark Mendell [Fri, 9 Jan 2015 19:44:36 +0000 (14:44 -0500)]
ART: Implement hard float for X86
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.
This change was requested to simplify the Optimizing compiler
implementation.
Change-Id: I89ba8ade99b9a8a5b1ad1ee5f5cbfd33d656bfaa
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Nicolas Geoffray [Mon, 12 Jan 2015 14:10:24 +0000 (14:10 +0000)]
Merge "Fix handling of long argument spanning register/memory."
Nicolas Geoffray [Thu, 8 Jan 2015 14:52:29 +0000 (14:52 +0000)]
Fix handling of long argument spanning register/memory.
Comment in arm_lir.h says:
* If a 64-bit argument would span the register/memory argument
* boundary, it will instead be fully passed in the frame.
This change implements such logic for all platforms. We still need
to pass the low part in register as well because I haven't ported
the jni compilers (x86 and mips) to it.
Once the jni compilers are updated, we can remove the register
assignment.
Note that this greatly simplifies optimizing's register allocator
by not having to understand a long spanning register and memory.
Change-Id: I59706ca5d47269fc46e5489ac99bd6576e87e7f3
Nicolas Geoffray [Mon, 12 Jan 2015 10:46:18 +0000 (10:46 +0000)]
Merge "Move code around in OptimizingCompiler::Compile to reduce stack space."
Nicolas Geoffray [Fri, 9 Jan 2015 14:53:50 +0000 (14:53 +0000)]
Move code around in OptimizingCompiler::Compile to reduce stack space.
Also fix an (intentional) memory leak, by allocating the CodeGenerator
on the heap instead of the arena: they construct an Assembler object
that requires destruction.
BUG:
18787334
Change-Id: I8cf0667cb70ce5b14d4ac334bd4487a562635f1b
Sebastien Hertz [Mon, 12 Jan 2015 08:14:54 +0000 (08:14 +0000)]
Merge "JDWP: allow VirtualMachine.Resume on partial suspension"