OSDN Git Service
Roland Levillain [Fri, 24 Oct 2014 10:45:47 +0000 (10:45 +0000)]
Merge "Use test's `-d' option when checking for a directory."
Nicolas Geoffray [Fri, 24 Oct 2014 10:44:50 +0000 (10:44 +0000)]
Merge "Fix wrong unsigned to signed conversions."
Sebastien Hertz [Fri, 24 Oct 2014 07:49:38 +0000 (07:49 +0000)]
Merge "Fix JDWP Virtualmachine.Resume command"
Sebastien Hertz [Fri, 24 Oct 2014 07:49:17 +0000 (07:49 +0000)]
Merge "More use of WellKnownClasses for debugger"
Andreas Gampe [Fri, 24 Oct 2014 01:09:58 +0000 (01:09 +0000)]
Merge "ART: Remove old LOG(INFO)"
Mathieu Chartier [Fri, 24 Oct 2014 01:03:32 +0000 (01:03 +0000)]
Merge "Use the passed-in 'name' param to create a MemMap."
Andreas Gampe [Fri, 24 Oct 2014 00:59:19 +0000 (17:59 -0700)]
ART: Remove old LOG(INFO)
Clean up output, it's annoying.
Change-Id: Ifc1972dd3e988f36f781dc989d23cdb93e6f828e
Ian Rogers [Fri, 24 Oct 2014 00:55:27 +0000 (00:55 +0000)]
Merge "Make out-of-line mutex contention dependent on ART_USE_FUTEXES."
Ian Rogers [Fri, 24 Oct 2014 00:48:20 +0000 (17:48 -0700)]
Make out-of-line mutex contention dependent on ART_USE_FUTEXES.
Fix Mac build. Also fix Linux compilation if ART_USE_FUTEXES is disabled.
Change-Id: I51cb1d70b5548ea6121ff7567b9546bad0894e01
Andreas Gampe [Thu, 23 Oct 2014 18:32:06 +0000 (18:32 +0000)]
Merge "ART: Use static_assert in down_cast"
Andreas Gampe [Thu, 23 Oct 2014 18:24:08 +0000 (11:24 -0700)]
ART: Use static_assert in down_cast
Use C++11 to write an actual compile-time assert.
Change-Id: I36bd94adbf6c732e103720308e1e6bf11065f474
Chih-Hung Hsieh [Thu, 23 Oct 2014 18:21:02 +0000 (18:21 +0000)]
Merge "Add missing SHARED_LOCKS_REQUIRED attibute."
Chih-Hung Hsieh [Thu, 23 Oct 2014 18:07:52 +0000 (11:07 -0700)]
Add missing SHARED_LOCKS_REQUIRED attibute.
BUG:
18093707
Change-Id: I66e5c7650c67bb308472ff0da7faed6dff4ead53
Nicolas Geoffray [Thu, 23 Oct 2014 17:32:13 +0000 (18:32 +0100)]
Fix wrong unsigned to signed conversions.
The HIntConstant node takes an int32_t, so we have to keep things signed.
Change-Id: Ib3fa50e87f99118d320cbb381f619d5be9287530
Nicolas Geoffray [Thu, 23 Oct 2014 17:28:50 +0000 (17:28 +0000)]
Merge "ART: Add basic tests for materialized conditions."
Mathieu Chartier [Thu, 23 Oct 2014 17:11:44 +0000 (17:11 +0000)]
Merge "Fix concurrent start bytes race"
Roland Levillain [Thu, 23 Oct 2014 17:11:21 +0000 (17:11 +0000)]
Merge "Revert "Implement long negate instruction in the optimizing compiler.""
Roland Levillain [Thu, 23 Oct 2014 17:07:44 +0000 (18:07 +0100)]
Revert "Implement long negate instruction in the optimizing compiler."
This reverts commit
66ce173a40eff4392e9949ede169ccf3108be2db.
Mathieu Chartier [Thu, 23 Oct 2014 00:18:34 +0000 (17:18 -0700)]
Fix concurrent start bytes race
Previously, we set concurrent start bytes to max int when we
requested a concurrent GC, but there was a race if another thread
was doing another GC and had already completed GrowForUtilization
but had not yet finished the GC. This meant that the thread doing
the GC would update the concurrent start bytes properly, but the
allocating thread would re-update it to max int. Then when the
concurrent GC thread woke up, it would call WaitForGcToComplete
and see that there was a collector running and avoid doing the
concurrent GC, leaving the concurrent start bytes set to max int.
This meant that there would be no more concurrent GC until either
the next explicit GC or the next GC for alloc.
The fix is to only set concurrent start bytes to max int inside of
the CollectGarbageInternal code such that there isn't any way for
two threads to race.
Bug:
17942071
(cherry picked from commit
0133ec454d8dd3fa5ffe35649b5704aa18f15a49)
Change-Id: Ibc23dd2f937a2b5fda51ed064634c034dbb6e668
Alexandre Rames [Wed, 1 Oct 2014 11:55:56 +0000 (12:55 +0100)]
ART: Add basic tests for materialized conditions.
Change-Id: I4acef30cc6a48b5fe07d55db6b9cf0d093b326ee
Roland Levillain [Thu, 23 Oct 2014 16:14:56 +0000 (16:14 +0000)]
Merge "Implement long negate instruction in the optimizing compiler."
Roland Levillain [Thu, 23 Oct 2014 15:38:33 +0000 (16:38 +0100)]
Implement long negate instruction in the optimizing compiler.
- Add support for the neg-long (long integer two's
complement negate) instruction in the optimizing compiler.
- Add a 64-bit NEG instruction (negq) to the x86-64
assembler.
- Generate ARM, x86 and x86-64 code for integer HNeg nodes.
- Put neg-related tests into test/415-optimizing-arith-neg.
Change-Id: I1fbe9611e134408a6b8745d1df20ab6ffa5e50f2
Calin Juravle [Thu, 23 Oct 2014 16:04:25 +0000 (16:04 +0000)]
Merge "[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes"
Calin Juravle [Thu, 23 Oct 2014 16:01:13 +0000 (17:01 +0100)]
[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes
Also add 414-optimizing-arith-sub to
TEST_ART_BROKEN_OPTIMIZING_ARM64_RUN_TESTS.
Change-Id: Ia1b7ff7857bc0e488b9b8ed8a36efb1a3a9bad36
Roland Levillain [Thu, 23 Oct 2014 15:40:59 +0000 (16:40 +0100)]
Use test's `-d' option when checking for a directory.
Change-Id: I2d46ba01ec13daa7aa0b78e447eccbc4f1527a19
Nicolas Geoffray [Thu, 23 Oct 2014 15:34:12 +0000 (15:34 +0000)]
Merge "Use the shared smali test infrastructure for 800-smali."
Calin Juravle [Thu, 23 Oct 2014 15:25:59 +0000 (15:25 +0000)]
Merge "[optimizing compiler] Add float/double subtraction"
Calin Juravle [Thu, 23 Oct 2014 14:38:15 +0000 (15:38 +0100)]
[optimizing compiler] Add float/double subtraction
- for arm, x86, x86_64
- add tests
- a bit of clean up
Change-Id: I3761b0d908aca3e3c5d60da481fafb423ff7c9b9
Nicolas Geoffray [Thu, 23 Oct 2014 12:48:02 +0000 (12:48 +0000)]
Merge "ART: optimizing compiler: initial support for ARM64."
Alexandre Rames [Thu, 23 Oct 2014 09:03:10 +0000 (10:03 +0100)]
ART: optimizing compiler: initial support for ARM64.
The ARM64 port uses VIXL for code generation, to which it defers work
like label binding and branch resolving, register type coherency
checking, and immediate values handling.
Change-Id: I0a44508c0c991f472a63e67b3469cdd878fe1a68
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Signed-off-by: Alexandre Rames <alexandre.rames@arm.com>
Calin Juravle [Thu, 23 Oct 2014 11:48:28 +0000 (11:48 +0000)]
Merge "Remove obsolete TODOs from codegen tests"
Calin Juravle [Thu, 23 Oct 2014 11:32:11 +0000 (12:32 +0100)]
Remove obsolete TODOs from codegen tests
The features are already exercised by the art test 411-optimizing-arith.
Change-Id: Id008931e0ed8206ced11ecc85a80a7e4aef3e68e
Calin Juravle [Thu, 23 Oct 2014 10:58:45 +0000 (10:58 +0000)]
Merge "[native bridge] Make sure we always unload the native bridge"
Calin Juravle [Wed, 22 Oct 2014 20:02:23 +0000 (21:02 +0100)]
[native bridge] Make sure we always unload the native bridge
libnativebridge may allocate some resources during loading and
intialization and de-allocate them when unloading. This makes sure that
we don't leak anything.
Bug:
18097480
Change-Id: I901f2d3c2ab1efb2875388f99e8c5c111ce82d5a
Sebastien Hertz [Mon, 13 Oct 2014 09:27:13 +0000 (11:27 +0200)]
More use of WellKnownClasses for debugger
Uses WellKnownClasses cached fields for ThreadGroupReference-related
JDWP commands.
Adds fields of java.lang.ThreadGroup and java.util.ArrayList used by
the debugger.
Change-Id: I54f7ef7e44cb61bec95657a69177bba1fbb7dc75
Nicolas Geoffray [Thu, 23 Oct 2014 09:29:33 +0000 (10:29 +0100)]
Use the shared smali test infrastructure for 800-smali.
No need for a special build file now.
Change-Id: I7f6813553548b48fb5f54640506d1a361d9db3c1
Roland Levillain [Thu, 23 Oct 2014 09:17:41 +0000 (09:17 +0000)]
Merge "Implement int bit-wise not operation in the optimizing compiler."
Roland Levillain [Wed, 22 Oct 2014 17:06:21 +0000 (18:06 +0100)]
Implement int bit-wise not operation in the optimizing compiler.
- Add support for the not-int (integer one's complement
negate) instruction in the optimizing compiler.
- Extend the HNot control-flow graph node type and make it
inherit from HUnaryOperation.
- Generate ARM, x86 and x86-64 code for integer HNeg nodes.
- Exercise these additions in the codegen_test gtest, as there
is not direct way to assess the support of not-int from a
Java source. Indeed, compiling a Java expression such as
`~a' using javac and then dx generates an xor-int/lit8 Dex
instruction instead of the expected not-int Dex instruction.
This is probably because the Java bytecode has an `ixor'
instruction, but there's not instruction directly
corresponding to a bit-wise not operation.
Change-Id: I223aed75c4dac5785e04d99da0d22e8d699aee2b
Ian Rogers [Thu, 23 Oct 2014 06:06:55 +0000 (06:06 +0000)]
Merge "C++11 related clean-up of DISALLOW_.."
Ian Rogers [Thu, 23 Oct 2014 05:06:39 +0000 (22:06 -0700)]
C++11 related clean-up of DISALLOW_..
Move DISALLOW_COPY_AND_ASSIGN to delete functions. By no having declarations
with no definitions this prompts better warning messages so deal with these
by correcting the code.
Add a DISALLOW_ALLOCATION and use for ValueObject and mirror::Object.
Make X86 assembly operand types ValueObjects to fix compilation errors.
Tidy the use of iostream and ostream.
Avoid making cutils a dependency via mutex-inl.h for tests that link against
libart. Push tracing dependencies into appropriate files and mutex.cc.
x86 32-bit host symbols size is increased for libarttest, avoid copying this
in run-test 115 by using symlinks and remove this test's higher than normal
ulimit.
Fix the RunningOnValgrind test in RosAllocSpace to not use GetHeap as it
returns NULL when the heap is under construction by Runtime.
Change-Id: Ia246f7ac0c11f73072b30d70566a196e9b78472b
Ian Rogers [Thu, 23 Oct 2014 05:03:25 +0000 (05:03 +0000)]
Merge "Fix arm64 bug introduced by refactoring."
Kyungmin Lee [Thu, 23 Oct 2014 00:32:05 +0000 (09:32 +0900)]
Use the passed-in 'name' param to create a MemMap.
Change-Id: I15c33b23751f4c32cb40c9514b602845feb47f9f
Signed-off-by: Kyungmin Lee <snailee@gmail.com>
Ian Rogers [Wed, 22 Oct 2014 19:10:23 +0000 (19:10 +0000)]
Merge "Tidy up logging."
Ian Rogers [Wed, 22 Oct 2014 06:31:19 +0000 (23:31 -0700)]
Tidy up logging.
Move gVerboseMethods to CompilerOptions. Now "--verbose-methods=" option to
dex2oat rather than runtime argument "-verbose-methods:".
Move ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc
except for a forward declaration.
Remove ConstDumpable as Dump methods are all const (and make this so if not
currently true).
Make LogSeverity an enum and improve compile time assertions and type checking.
Remove log_severity.h that's only used in logging.h.
With system headers gone from logging.h, go add to .cc files missing system
header includes.
Also, make operator new in ValueObject private for compile time instantiation
checking.
Change-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641
Vladimir Marko [Wed, 22 Oct 2014 15:22:43 +0000 (15:22 +0000)]
Merge "X86 Long Min/Max: Avoid calling SRegToVReg with -1"
Calin Juravle [Wed, 22 Oct 2014 15:00:43 +0000 (15:00 +0000)]
Merge "Fix make file comment"
Calin Juravle [Wed, 22 Oct 2014 14:54:34 +0000 (15:54 +0100)]
Fix make file comment
Change-Id: I2b2261aea00b934411979dbca1e00d5a75030407
Calin Juravle [Wed, 22 Oct 2014 14:57:06 +0000 (14:57 +0000)]
Merge "Minor fix in codegen tests."
Calin Juravle [Wed, 22 Oct 2014 14:54:12 +0000 (15:54 +0100)]
Minor fix in codegen tests.
Change-Id: I9b843536353d4f820b969895d5f75ee9b679aff0
Stephen Kyle [Wed, 22 Oct 2014 14:23:46 +0000 (15:23 +0100)]
Fix arm64 bug introduced by refactoring.
- Commit
1d8cdbc5202378 made changes to the parameters for
artSet64InstanceFromCode, but did not change THREE_ARG_DOWNCALL
to THREE_ARG_REF_DOWNCALL for arm64.
Change-Id: If256b0bd32dbd1c95f61e0afcb35975bb09a8b97
Signed-off-by: Stephen Kyle <stephen.kyle@arm.com>
Calin Juravle [Wed, 22 Oct 2014 14:21:21 +0000 (14:21 +0000)]
Merge "Add multiplication for floats/doubles in optimizing compiler"
Calin Juravle [Tue, 21 Oct 2014 17:02:24 +0000 (18:02 +0100)]
Add multiplication for floats/doubles in optimizing compiler
Change-Id: I61de8ce1d9e37e30db62e776979b3f22dc643894
Nicolas Geoffray [Wed, 22 Oct 2014 14:12:42 +0000 (14:12 +0000)]
Merge "Fix typo in Makefile."
Nicolas Geoffray [Wed, 22 Oct 2014 14:08:03 +0000 (15:08 +0100)]
Fix typo in Makefile.
Change-Id: I9133804eff8ce8e785f8551488daee1f19036952
Nicolas Geoffray [Wed, 22 Oct 2014 13:50:22 +0000 (13:50 +0000)]
Merge "Implement array creation related DEX instructions."
Nicolas Geoffray [Mon, 20 Oct 2014 16:41:32 +0000 (17:41 +0100)]
Implement array creation related DEX instructions.
Implement new-array, filled-new-array, and fill-array-data.
Change-Id: I405560d66777a57d881e384265322617ac5d3ce3
Mark Mendell [Tue, 21 Oct 2014 21:44:32 +0000 (17:44 -0400)]
X86 Long Min/Max: Avoid calling SRegToVReg with -1
It is possible that the result of a call to min/max can't be combined
with the following move. In that case, the destination will use the
default long return value (EAX/EDX), with a s_reg_low value of -1.
A debug compiler will assert fail in that case.
Fix: A result with no s_reg_low must be unused. Just return with no
code generated, like X86 GenInlinedAbsFloat().
Seen compiling GmsCore.apk on the host with a debug backend.
Change-Id: I8006e822e8dcb2112d86e4047bb2e3037ba6fece
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Sebastien Hertz [Wed, 22 Oct 2014 12:59:46 +0000 (12:59 +0000)]
Merge "Fixed debugger for threads attached from JNI"
Nicolas Geoffray [Wed, 22 Oct 2014 09:33:12 +0000 (09:33 +0000)]
Merge "Fix bug in UnionIfNotIn."
Nicolas Geoffray [Wed, 22 Oct 2014 09:25:24 +0000 (10:25 +0100)]
Fix bug in UnionIfNotIn.
Bug:
18066207
Change-Id: Ib9b24802546403b3d5a4da19996034eb45601f53
Roland Levillain [Wed, 22 Oct 2014 09:16:53 +0000 (09:16 +0000)]
Merge "Various fixes related to integer negate operations."
Roland Levillain [Wed, 22 Oct 2014 09:11:06 +0000 (10:11 +0100)]
Various fixes related to integer negate operations.
- Emit an RSB instruction for HNeg nodes in the ARM code
generator instead of RSBS, as we do not need to update the
condition code flags in this case.
- Simply punt when trying to statically evaluate a long
unary operation, instead of aborting.
- Move a test case to the right place.
Change-Id: I35eb8dea58ed35258d4d8df77181159c3ab07b6f
Andreas Gampe [Wed, 22 Oct 2014 08:02:44 +0000 (08:02 +0000)]
Merge "ART: Print args in case of run-test build failure"
Andreas Gampe [Wed, 22 Oct 2014 07:44:35 +0000 (00:44 -0700)]
ART: Print args in case of run-test build failure
Bug:
17959926
Change-Id: If1a6bf0341248818bef6c2a11e0677803c07ad3f
Andreas Gampe [Wed, 22 Oct 2014 05:43:58 +0000 (05:43 +0000)]
Merge "ART: Fix common_build CFLAGS"
Andreas Gampe [Wed, 22 Oct 2014 04:07:28 +0000 (21:07 -0700)]
ART: Fix common_build CFLAGS
Actually use the additional art_clang_cflags.
Change-Id: I2b5c5dacfdbffaa9b9c1e7a6fdb8ad79d8536fe8
Ian Rogers [Wed, 22 Oct 2014 03:44:26 +0000 (03:44 +0000)]
Merge "Fix Mac build."
Ian Rogers [Wed, 22 Oct 2014 03:42:39 +0000 (20:42 -0700)]
Fix Mac build.
Why can't Apple implement named macro arguments!
Change-Id: I5e09e04449c3a5d9f6430b587c004d6b16000f09
Hiroshi Yamauchi [Tue, 21 Oct 2014 23:23:16 +0000 (23:23 +0000)]
Merge "Fix a DCHECK failure IsResolved() || IsErroneous()."
Hiroshi Yamauchi [Mon, 20 Oct 2014 23:56:58 +0000 (16:56 -0700)]
Fix a DCHECK failure IsResolved() || IsErroneous().
Bug:
17914035
Change-Id: I90877d31fdce3d3bf7b5f22f7759f9536ab14d03
Ian Rogers [Tue, 21 Oct 2014 22:54:50 +0000 (22:54 +0000)]
Merge "Avoid strict-aliasing problems with Handles."
Ian Rogers [Tue, 21 Oct 2014 22:05:36 +0000 (15:05 -0700)]
Avoid strict-aliasing problems with Handles.
Replace use of reinterpret_cast with down_cast.
Bug:
18074773
Change-Id: Id42d462f2798f69a2210e5912f441c868b8b5812
Ian Rogers [Tue, 21 Oct 2014 22:05:16 +0000 (22:05 +0000)]
Merge "Const-ify functions/variables in trampoline entrypoints."
Ian Rogers [Tue, 21 Oct 2014 22:02:15 +0000 (15:02 -0700)]
Const-ify functions/variables in trampoline entrypoints.
Change-Id: I777600c7362ab3c1dd65a695e36a4633b43033fe
Andreas Gampe [Tue, 21 Oct 2014 17:23:32 +0000 (17:23 +0000)]
Merge "ART: Fix test 089 to ignore debug lines"
Andreas Gampe [Tue, 21 Oct 2014 17:22:11 +0000 (10:22 -0700)]
ART: Fix test 089 to ignore debug lines
Bug:
17959926
Change-Id: Icc9d0fc5233937255b172b3ba4754c4e8d64a103
Sebastien Hertz [Tue, 14 Oct 2014 15:27:15 +0000 (17:27 +0200)]
Fix JDWP Virtualmachine.Resume command
We used to call ThreadList::UndoDebuggerSuspensions but this is not
correct. Indeed Virtualmachine.Resume command should be performed
as many times as all threads have been suspended (either by the
Virtualmachine.Suspend command or the application of suspend policy
ALL for event).
This CL fixes this issue by adding ThreadList::ResumeAllForDebugger.
It decrements suspend count and debug suspend count by 1 (globally
and for each thread).
It also handles the case where Virtualmachine.Resume is called while
threads have not been suspended (global debug suspend count is 0). In
this case we just print a warning and do nothing.
Bug:
17974047
Change-Id: I25af22b1936760292d2a8c286e0867f2ae864108
Andreas Gampe [Tue, 21 Oct 2014 17:02:25 +0000 (17:02 +0000)]
Merge "ART: Fix run-test script"
Andreas Gampe [Tue, 21 Oct 2014 16:33:08 +0000 (09:33 -0700)]
ART: Fix run-test script
Correctly pipe error information to the output file.
Bug:
17959926
Change-Id: Ifccf2a2a22517b2523228718be6d2a57250847c2
Nicolas Geoffray [Tue, 21 Oct 2014 16:14:40 +0000 (16:14 +0000)]
Merge "Fix register_allocator_test after reg alloc changes."
Nicolas Geoffray [Tue, 21 Oct 2014 16:14:05 +0000 (17:14 +0100)]
Fix register_allocator_test after reg alloc changes.
Change-Id: Ieaf5daf35efaff6685720a93a442cd7a152f1567
Nicolas Geoffray [Tue, 21 Oct 2014 15:56:36 +0000 (15:56 +0000)]
Merge "Fix off by one errors in linear scan register allocator."
Nicolas Geoffray [Tue, 21 Oct 2014 15:06:20 +0000 (16:06 +0100)]
Fix off by one errors in linear scan register allocator.
Change-Id: I65eea3cc125e12106a7160d30cb91c5d173bd405
Nicolas Geoffray [Tue, 21 Oct 2014 15:36:47 +0000 (15:36 +0000)]
Merge "Fix m test-art-host-run-test-001-HelloWorld."
Nicolas Geoffray [Tue, 21 Oct 2014 15:33:27 +0000 (16:33 +0100)]
Fix m test-art-host-run-test-001-HelloWorld.
Noticed by Calin, bug spotted by Andreas.
Change-Id: Id10004597a7d9605bd80d68c998add611f242510
Nicolas Geoffray [Tue, 21 Oct 2014 15:05:44 +0000 (15:05 +0000)]
Merge "Implement register allocator for floating point registers."
Nicolas Geoffray [Wed, 15 Oct 2014 17:31:05 +0000 (18:31 +0100)]
Implement register allocator for floating point registers.
Also:
- Fix misuses of emitting the rex prefix in the x86_64 assembler.
- Fix movaps code generation in the x86_64 assembler.
Change-Id: Ib6dcf6e7c4a9c43368cfc46b02ba50f69ae69cbe
Ian Rogers [Tue, 21 Oct 2014 14:57:14 +0000 (14:57 +0000)]
Merge "Enable generic JNI for x86 and ARM when interpret-only."
Ian Rogers [Tue, 21 Oct 2014 01:10:34 +0000 (18:10 -0700)]
Enable generic JNI for x86 and ARM when interpret-only.
Change-Id: I006ce1ce74acd0f0d53d380e28e409d24d772ea3
Elliott Hughes [Tue, 21 Oct 2014 14:44:51 +0000 (14:44 +0000)]
Merge "Clarify a confusing error message."
Elliott Hughes [Tue, 21 Oct 2014 14:36:19 +0000 (07:36 -0700)]
Clarify a confusing error message.
We didn't run out of stack; we ran out of heap so there's no stack
trace in the pre-allocated exception we're throwing.
Bug:
17975886
Change-Id: I406f84d7580a28451b232eba323f9c9978e678e6
Roland Levillain [Tue, 21 Oct 2014 13:34:59 +0000 (13:34 +0000)]
Merge "Constant folding on unary operations in the optimizing compiler."
Roland Levillain [Tue, 21 Oct 2014 13:28:20 +0000 (13:28 +0000)]
Merge "Implement int negate instruction in the optimizing compiler."
Roland Levillain [Mon, 20 Oct 2014 15:47:04 +0000 (16:47 +0100)]
Constant folding on unary operations in the optimizing compiler.
Change-Id: I4b77afa2a89f5ad2eedd4d6c0c6c382585419349
Roland Levillain [Mon, 20 Oct 2014 15:36:47 +0000 (16:36 +0100)]
Implement int negate instruction in the optimizing compiler.
- Add support for the neg-int (integer two's complement
negate) instruction in the optimizing compiler.
- Add a HNeg node type for control-flow graphs and an
intermediate HUnaryOperation base class.
- Generate ARM, x86 and x86-64 code for integer HNeg nodes.
Change-Id: I72fd3e1e5311a75c38a8cb665a9211a20325a42e
Nicolas Geoffray [Tue, 21 Oct 2014 10:48:42 +0000 (10:48 +0000)]
Merge "Remove the notion of dies at entry."
Nicolas Geoffray [Fri, 17 Oct 2014 10:06:38 +0000 (11:06 +0100)]
Remove the notion of dies at entry.
- Instead, explicitly say that the output does not overlap.
- Inputs that must be in a fixed register do die at entry,
as we know they have a location that others can not take.
- There is also no need to differentiate between an input move
and a connecting sibling move - those can be put in the
same parallel move instruction.
Change-Id: I1b2b2827906601f822b59fb9d6a21d48e43bae27
Vladimir Marko [Tue, 21 Oct 2014 09:18:53 +0000 (09:18 +0000)]
Merge "Shut down FaultManager after shutting down threads."
Nicolas Geoffray [Tue, 21 Oct 2014 09:03:00 +0000 (09:03 +0000)]
Merge "Support running run-test in ndebug mode through make."
Nicolas Geoffray [Thu, 16 Oct 2014 17:04:12 +0000 (18:04 +0100)]
Support running run-test in ndebug mode through make.
Change-Id: I514f44f356ecd0bf64d3f5b1295a99ff52a5d7b3