OSDN Git Service
Mingyao Yang [Wed, 1 Apr 2015 22:08:37 +0000 (22:08 +0000)]
Merge "CanThrow() of HNewArray should return true."
Mingyao Yang [Wed, 1 Apr 2015 22:07:15 +0000 (22:07 +0000)]
Merge "Clean up some RecordPcInfo in x86 slow paths."
Mingyao Yang [Tue, 31 Mar 2015 22:09:29 +0000 (15:09 -0700)]
CanThrow() of HNewArray should return true.
Change-Id: I9950f1c391dfeb26cf59cee769705d01d8e283d5
Andreas Gampe [Wed, 1 Apr 2015 21:54:08 +0000 (21:54 +0000)]
Merge "ART: Fix unstarted runtime"
Andreas Gampe [Wed, 1 Apr 2015 21:49:06 +0000 (14:49 -0700)]
ART: Fix unstarted runtime
Correctly delete local refs for dex/direct-byte-buffer.
Change-Id: Ia74dfafb959d69aa281af7316f393997e053a3b3
Andreas Gampe [Wed, 1 Apr 2015 21:29:46 +0000 (21:29 +0000)]
Merge "ART: Workaround for b/
20019689"
Andreas Gampe [Wed, 1 Apr 2015 21:28:09 +0000 (14:28 -0700)]
ART: Workaround for b/
20019689
Don't throw InternalError as wrapped for now, swallowing the
original exception.
Bug:
20019689
Change-Id: I77a56262304b09b326232bee0c7916bb73401d74
Nicolas Geoffray [Wed, 1 Apr 2015 21:27:40 +0000 (21:27 +0000)]
Merge "Opt compiler: Fix move from constant."
Andreas Gampe [Wed, 1 Apr 2015 19:50:15 +0000 (19:50 +0000)]
Merge "ART: Set default prune counter to 10"
Calin Juravle [Wed, 1 Apr 2015 19:48:39 +0000 (19:48 +0000)]
Merge "Adds host execution to dexfuzz."
Roland Levillain [Wed, 1 Apr 2015 19:06:33 +0000 (19:06 +0000)]
Merge "Fix test 421-large-frame."
Roland Levillain [Wed, 1 Apr 2015 18:54:39 +0000 (19:54 +0100)]
Fix test 421-large-frame.
- Don't force the optimizing compiler to compile a huge
method by reducing the number of local variables and
instructions in Main.$opt$LargeFrame.
- Prevent the optimizing compiler from "optimizing too much"
(through constant folding and inlining), so as to preserve
a large stack frame in Main.$opt$LargeFrame.
- Keep the original huge method (without the $opt$ marker)
as Main.HugeFrame.
Bug:
20020727
Change-Id: I49bf8f03146020bd94bd392684e605d7bb6daf1e
Dmitriy Ivanov [Wed, 1 Apr 2015 18:25:34 +0000 (18:25 +0000)]
Merge "Fix formatting"
Dmitriy Ivanov [Wed, 1 Apr 2015 18:08:45 +0000 (11:08 -0700)]
Fix formatting
Change-Id: Id64aad5de1f911ac7e747788d586bac397f34f18
David Brazdil [Wed, 1 Apr 2015 17:42:59 +0000 (17:42 +0000)]
Merge "ART: Regression test for condition materialization bug"
David Brazdil [Wed, 1 Apr 2015 17:34:33 +0000 (18:34 +0100)]
ART: Regression test for condition materialization bug
This adds a regression test previously omitted in a hotfix.
Bug:
19999189
Change-Id: I02acb935960f22028bf877cd270b04e17515068f
David Brazdil [Wed, 1 Apr 2015 16:07:58 +0000 (16:07 +0000)]
Merge "ART: Materialize constants on environment use"
David Brazdil [Wed, 1 Apr 2015 16:00:59 +0000 (17:00 +0100)]
ART: Materialize constants on environment use
The decision whether to materialize constants assumed that they cannot
be used by an environment. This changed with introduction of the
boolean simplifier and manifested itself when environment uses became
included in liveness analysis. This patch fixes the issue.
This is a quick fix to unblock the build, test will follow.
Bug:
19999189
Change-Id: Iedb1e3a32073a75b9c0d041a88b8ae640e064d13
David Brazdil [Wed, 1 Apr 2015 09:03:28 +0000 (09:03 +0000)]
Merge "ART: Same skip-compilation heuristic in both backends"
Andreas Gampe [Wed, 1 Apr 2015 07:39:15 +0000 (07:39 +0000)]
Merge "ART: Valgrind hotfix for VIXL 1.9"
Andreas Gampe [Wed, 1 Apr 2015 07:36:42 +0000 (00:36 -0700)]
ART: Valgrind hotfix for VIXL 1.9
Make sure recommended_checkpoint_ is initialized in the VIXL macro
assembler by calling EmitLiteralPool with an empty pool.
Change-Id: I08589b8fb092a33a8f4aad824e91b5c16ff761b6
Andreas Gampe [Wed, 1 Apr 2015 03:51:24 +0000 (03:51 +0000)]
Merge "ARM64: Update to VIXL 1.9."
Andreas Gampe [Tue, 31 Mar 2015 21:54:03 +0000 (14:54 -0700)]
ART: Set default prune counter to 10
By default, prune cache at boot after ten failed boots.
Bug:
19983101
Change-Id: Ib88f807e0082d71292c14c7af38e02cca5a5602c
Mingyao Yang [Wed, 1 Apr 2015 00:03:08 +0000 (17:03 -0700)]
Clean up some RecordPcInfo in x86 slow paths.
Calling codegen->RecordPcInfo() is likely to miss the third argument which
is the slow path. And can cause deopt bugs later.
The change calls the slow path's version of RecordPcInfo() in slow paths
consistently.
Change-Id: I41605f1b06ee2c6d3d7ffd5aa0c1366940b5a029
Mathieu Chartier [Tue, 31 Mar 2015 23:40:11 +0000 (23:40 +0000)]
Merge "Only GC the first time we call PreZygoteFork"
Mathieu Chartier [Tue, 31 Mar 2015 23:28:53 +0000 (16:28 -0700)]
Only GC the first time we call PreZygoteFork
PreZygoteFork is called for every app launch, it is overkill to GC
each time since it takes 20-30ms and blocks app launch for that long.
Change-Id: I647c8ccca767ceca67a006c1d80a739c7860f0d0
Mathieu Chartier [Tue, 31 Mar 2015 23:20:41 +0000 (23:20 +0000)]
Merge "Visit image roots for hprof"
Mathieu Chartier [Tue, 31 Mar 2015 19:05:24 +0000 (12:05 -0700)]
Visit image roots for hprof
Bug:
19995360
(cherry picked from commit
0cab5e68f14ee403380664146db6dc7ddfc32064)
Change-Id: I17868bff2a701dc25291d41b9732c6b86f92be08
Nicolas Geoffray [Tue, 31 Mar 2015 22:07:29 +0000 (22:07 +0000)]
Merge "Fix lint error."
Nicolas Geoffray [Tue, 31 Mar 2015 22:06:28 +0000 (23:06 +0100)]
Fix lint error.
Change-Id: I39dda83acd755b2c95453b3b0f7774bc9d18546e
Nicolas Geoffray [Tue, 31 Mar 2015 21:29:07 +0000 (21:29 +0000)]
Merge "Fix locations at environment uses."
Nicolas Geoffray [Fri, 27 Mar 2015 10:22:41 +0000 (10:22 +0000)]
Fix locations at environment uses.
We were too agressive in not recording environment uses
when the instruction was not of type object. We have to
record the use to the use list of an interval, but it should
not affect the live ranges of that interval.
Change-Id: Id16fb7cc06f14083766d408a345837793583b6ea
Vladimir Marko [Tue, 31 Mar 2015 19:00:29 +0000 (19:00 +0000)]
Merge "Cortex-A53 Erratum 843419 workaround in OatWriter."
Vladimir Marko [Tue, 31 Mar 2015 09:26:41 +0000 (10:26 +0100)]
Cortex-A53 Erratum 843419 workaround in OatWriter.
Bug:
19983916
Change-Id: I572248d035200bb04f74eb3ae065e862572628a0
Vladimir Marko [Tue, 31 Mar 2015 18:48:28 +0000 (18:48 +0000)]
Merge "Fixed layout for dex caches in boot image."
Nicolas Geoffray [Tue, 31 Mar 2015 17:57:27 +0000 (17:57 +0000)]
Merge "Fix wrong assumptions about ParallelMove."
Nicolas Geoffray [Tue, 31 Mar 2015 17:13:51 +0000 (18:13 +0100)]
Fix wrong assumptions about ParallelMove.
Registers involved in single and double operations can
drag stack locations as well, so it is possible to update
a single stack location with a slot from a double stack location.
bug:
19999189
Change-Id: Ibeec7d6f1b3126c4ae226fca56e84dccf798d367
David Srbecky [Tue, 31 Mar 2015 16:42:31 +0000 (16:42 +0000)]
Merge "Revert "Revert "Add small library for writing of DWARF data."""
Richard Uhler [Tue, 31 Mar 2015 16:31:11 +0000 (16:31 +0000)]
Merge "Host dex2oat and patchoat require libcutils."
Andreas Gampe [Tue, 31 Mar 2015 16:14:13 +0000 (16:14 +0000)]
Merge "[optimizing] trivial x86 explicit null check fix"
David Brazdil [Tue, 31 Mar 2015 10:37:18 +0000 (11:37 +0100)]
ART: Same skip-compilation heuristic in both backends
When deciding if a method should be compiled, Optimizing counts the
DEX instructions while Quick approximates this figure as the size of
the CodeItem. This patch modifies Optimizing to use the same logic
so that the two backends reject the same set of methods.
Change-Id: Icb12bf2977f948198df08d59f243532ec8c61783
Mark Mendell [Tue, 31 Mar 2015 15:34:22 +0000 (11:34 -0400)]
[optimizing] trivial x86 explicit null check fix
Change a cmp reg,0 to test reg,reg. I don't know that this code
is even invoked.
Change-Id: Ifddffcb22d8a4060b7abbea17d8e7168535e409b
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Richard Uhler [Tue, 31 Mar 2015 15:29:23 +0000 (15:29 +0000)]
Merge "Fix oat_file_assistant_test's ReserveImageSpace()."
David Srbecky [Tue, 31 Mar 2015 14:53:55 +0000 (14:53 +0000)]
Revert "Revert "Add small library for writing of DWARF data.""
Use objdump from prebuilts.
This reverts commit
1ded5beffa4bae6203e1fa03903c6ffa2766bf4c.
Change-Id: I91f61a91827406930039ccf8691359b1c2636640
Serban Constantinescu [Thu, 26 Mar 2015 16:50:57 +0000 (16:50 +0000)]
ARM64: Update to VIXL 1.9.
Update VIXL's interface to VIXL 1.9.
Change-Id: Iebae947539cbad65488b7195aaf01de284b71cbb
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Nicolas Geoffray [Tue, 31 Mar 2015 14:33:40 +0000 (14:33 +0000)]
Merge "Use variable encoding for StackMap."
Nicolas Geoffray [Mon, 30 Mar 2015 14:44:25 +0000 (15:44 +0100)]
Use variable encoding for StackMap.
dex_pc, native_pc_offset, dex_register_map_offset, inline_info_offset,
and register_mask can now be encoded in 1, 2, 3, or 4 bytes.
Change-Id: I15f93e8226ce374204d44c5a80a9fd89bda2687c
Nicolas Geoffray [Tue, 31 Mar 2015 14:20:34 +0000 (14:20 +0000)]
Merge "Revert "Add small library for writing of DWARF data.""
Nicolas Geoffray [Tue, 31 Mar 2015 14:18:47 +0000 (14:18 +0000)]
Revert "Add small library for writing of DWARF data."
objdump differences on the bots
This reverts commit
75c3d61011a06c1253e773c42e53ee6f137dbe53.
Change-Id: Ie5947a27b9fe5de9d5f0838a024b5cf646ec701e
David Brazdil [Tue, 31 Mar 2015 13:08:21 +0000 (13:08 +0000)]
Merge "ART: Inline MemoryRegion operations"
David Brazdil [Mon, 30 Mar 2015 09:08:19 +0000 (10:08 +0100)]
ART: Inline MemoryRegion operations
Functions of the MemoryRegion class method are sufficiently simple
yet do not get inlined. Since these methods are called frequently
during stack map generation, inlining them can save a non-negligible
amount of compile time. This patch inserts attributes to force this.
Change-Id: I8ab4f480103fd536f61f52b805864d91bf58428e
Roland Levillain [Tue, 31 Mar 2015 12:02:11 +0000 (12:02 +0000)]
Merge "Use unique location catalogs to encode Dex register maps."
Roland Levillain [Thu, 26 Mar 2015 15:01:03 +0000 (15:01 +0000)]
Use unique location catalogs to encode Dex register maps.
- For each CodeInfo object (i.e. for each method), compute a
variable index size location catalog of unique Dex
register locations. In Dex register maps, instead of
storing the actual location of a (live) Dex register,
store the index of the location catalog entry containing
that Dex register location.
- Adjust art::StackMapStream,
art::CheckReferenceMapVisitor::CheckOptimizedMethod,
art::StackVisitor::GetVRegFromOptimizedCode, and
art::StackVisitor::SetVRegFromOptimizedCode.
- Add LoadBits and StoreBits methods to art::MemoryRegion
to load and store a block of adjacent bits in a memory
region.
- Update compiler/optimizing/stack_map_test.cc.
- Remove the default value for parameter EmptyFn of
art::HashMap. This default value did not seem to make
sense, as it would create an "empty function" for type Key
by default, whereas art::HashMap expects an "empty
function" for type std::pair<Key, Value>.
Change-Id: Id9e49d7756c253ce41c36630cd832208d06c2e28
Roland Levillain [Tue, 31 Mar 2015 11:45:56 +0000 (11:45 +0000)]
Merge "Ensure MemoryRegion::Load & MemoryRegion::Store are word-aligned."
Roland Levillain [Tue, 31 Mar 2015 11:27:44 +0000 (12:27 +0100)]
Ensure MemoryRegion::Load & MemoryRegion::Store are word-aligned.
Change-Id: Ib19fb93abec4789a111dfd48fcac6065e2d3ec82
David Srbecky [Tue, 31 Mar 2015 10:52:34 +0000 (10:52 +0000)]
Merge "Add small library for writing of DWARF data."
Nicolas Geoffray [Tue, 31 Mar 2015 10:33:49 +0000 (10:33 +0000)]
Merge "Tests still failing on buildbot's devices."
Nicolas Geoffray [Tue, 31 Mar 2015 10:33:04 +0000 (11:33 +0100)]
Tests still failing on buildbot's devices.
Change-Id: I7085706884c64978eaef6ba9eb0900b9fe9e4112
David Srbecky [Thu, 26 Mar 2015 16:33:17 +0000 (16:33 +0000)]
Add small library for writing of DWARF data.
Change-Id: Ifa77aec7584bfcdcc05ddb049c160be9b6dda7c5
David Brazdil [Tue, 31 Mar 2015 09:39:06 +0000 (09:39 +0000)]
Merge "ART: General-case negation in boolean simplifier"
David Brazdil [Tue, 31 Mar 2015 08:59:27 +0000 (09:59 +0100)]
ART: General-case negation in boolean simplifier
Code transformations on the HGraph may optimize out the condition
instruction of an If and replace it with a boolean value. In such
case, the boolean simplifier would not know how to negate the
condition and would fail. This patch implements negation in this
general case with 'equals 0' as a substitute for the non-existing
boolean Not instruction.
Bug:
19992954
Change-Id: I152036fcc6bbecccc767d3024a5c060177597d88
Nicolas Geoffray [Tue, 31 Mar 2015 09:31:29 +0000 (09:31 +0000)]
Merge "Update clean-oat-host after latest oat location changes."
Vladimir Marko [Thu, 19 Mar 2015 10:07:02 +0000 (10:07 +0000)]
Fixed layout for dex caches in boot image.
Define a fixed layout for dex cache arrays (type, method,
string and field arrays) for dex caches in the boot image.
This gives those arrays fixed offsets from the boot image
code and allows PC-relative addressing of their elements.
Use the PC-relative load on arm64 for relevant instructions,
i.e. invoke-static, invoke-direct, const-string,
const-class, check-cast and instance-of. This reduces the
arm64 boot.oat on Nexus 9 by 1.1MiB.
This CL provides the infrastructure and shows on the arm64
the gains that we can achieve by having fixed dex cache
arrays' layout. To fully use this for the boot images, we
need to implement the PC-relative addressing for other
architectures. To achieve similar gains for apps, we need
to move the dex cache arrays to a .bss section of the oat
file. These changes will be implemented in subsequent CLs.
(Also remove some compiler_driver.h dependencies to reduce
incremental build times.)
Change-Id: Ib1859fa4452d01d983fd92ae22b611f45a85d69b
Nicolas Geoffray [Tue, 31 Mar 2015 07:45:54 +0000 (07:45 +0000)]
Merge "Workaround for network issues: use 127.0.0.1."
Nicolas Geoffray [Mon, 30 Mar 2015 22:01:28 +0000 (23:01 +0100)]
Workaround for network issues: use 127.0.0.1.
Change-Id: I3c0ed810165bc8945c1dfaa028eb9a7bed674281
Andreas Gampe [Tue, 31 Mar 2015 03:34:07 +0000 (03:34 +0000)]
Merge "Fix 099-vmdebug and 802-deoptimization art tests for Mips."
Douglas Leung [Fri, 27 Mar 2015 22:38:30 +0000 (15:38 -0700)]
Fix 099-vmdebug and 802-deoptimization art tests for Mips.
There are 2 bugs that are causing these 2 tests to fail the same way.
The first one is we should be using $t9 for function calls so $gp can
be calculated correctly. The second bug is there can't be a gap between
the quick frame and the callee save frame, otherwise the WalkStack()
function will get confused and crash.
Bug:
19003184
Change-Id: I3c545ce18268deb73150fca2a7d7a798540f1cf2
Andreas Gampe [Tue, 31 Mar 2015 00:25:45 +0000 (00:25 +0000)]
Merge "ART: Don't fail on unsupported conditions in boolean simplifier"
Andreas Gampe [Tue, 31 Mar 2015 00:22:24 +0000 (17:22 -0700)]
ART: Don't fail on unsupported conditions in boolean simplifier
Skip simplification instead of FATALing when an unsupported condition
is found.
Bug:
19992954
Change-Id: Ie2845bead72da63018734e6dd91ce65824658b39
Richard Uhler [Mon, 30 Mar 2015 23:18:03 +0000 (16:18 -0700)]
Fix oat_file_assistant_test's ReserveImageSpace().
Bug:
19963714
Change-Id: I9a2db293943cc81592defa8ddc7221bcd36cfdfb
Nicolas Geoffray [Mon, 30 Mar 2015 18:15:00 +0000 (18:15 +0000)]
Merge "Disable host testing for now."
Nicolas Geoffray [Mon, 30 Mar 2015 18:14:09 +0000 (19:14 +0100)]
Disable host testing for now.
Buildbot machines hare not happy with gethostbyname.
Change-Id: I9dd878b442686a3d1dbcad54dbca7aabc4adbdf3
Nicolas Geoffray [Mon, 30 Mar 2015 17:15:26 +0000 (17:15 +0000)]
Merge "On host, say the debuggee needs to be run through bash."
Nicolas Geoffray [Mon, 30 Mar 2015 15:34:16 +0000 (16:34 +0100)]
On host, say the debuggee needs to be run through bash.
Change-Id: I2cf7d3123e9d184f40cbaf49f8ac69e1481cc7a4
Nicolas Geoffray [Mon, 30 Mar 2015 15:24:45 +0000 (15:24 +0000)]
Merge "[optimizing] Do not inline intrinsics"
Andreas Gampe [Mon, 30 Mar 2015 15:02:04 +0000 (15:02 +0000)]
Merge "ART: Arm32 optimizing compiler backend should honor sdiv"
Andreas Gampe [Mon, 30 Mar 2015 00:32:48 +0000 (17:32 -0700)]
ART: Arm32 optimizing compiler backend should honor sdiv
We still support architectures that do not have sdiv.
Issue: https://code.google.com/p/android/issues/detail?id=162257
Change-Id: I6d43620b7599f70a630668791a796a1703b62912
Nicolas Geoffray [Mon, 30 Mar 2015 14:53:42 +0000 (14:53 +0000)]
Merge "Implement a proper solution for temps."
Nicolas Geoffray [Mon, 30 Mar 2015 14:40:26 +0000 (14:40 +0000)]
Merge "Please vogar by not giving a vm-command on host."
Andreas Gampe [Mon, 30 Mar 2015 14:39:32 +0000 (14:39 +0000)]
Merge "ART: Refactor callbacks_ in common_runtime_test"
Nicolas Geoffray [Mon, 30 Mar 2015 14:30:26 +0000 (15:30 +0100)]
Please vogar by not giving a vm-command on host.
If the host is configured with shell (and not bash or mksh), the 'art'
script cannot be run by vogar.
Change-Id: Ib88cea2e45de1ff54477ae8ec3a8e831155d86df
Nicolas Geoffray [Mon, 30 Mar 2015 14:17:10 +0000 (14:17 +0000)]
Merge "[optimizing] Only print full stats in VLOG(compiler)"
Nicolas Geoffray [Mon, 30 Mar 2015 12:29:08 +0000 (13:29 +0100)]
[optimizing] Only print full stats in VLOG(compiler)
Also add a kCompiledQuick stat.
bug:
19956318
Change-Id: I0c6c0ac256362824eb9f1418216ab7e2c289a17b
Nicolas Geoffray [Mon, 30 Mar 2015 13:35:53 +0000 (13:35 +0000)]
Merge "Fix user-build on fugu."
Nicolas Geoffray [Fri, 27 Mar 2015 10:27:22 +0000 (10:27 +0000)]
Fix user-build on fugu.
Calling Delete on an array shifts the elements, so when iterating
over inactives and removing entries we need to decrement for
the found interval, but also its potential other half. The code
used to not decrement for the other half
Change-Id: Idcb1533643c11a37ed4f459fe88aaef208a4bfd6
Zheng Xu [Mon, 30 Mar 2015 11:35:50 +0000 (19:35 +0800)]
Opt compiler: Fix move from constant.
Change-Id: Ifadb190569d349560ae9a2c49b7cabcffac362c8
Nicolas Geoffray [Mon, 30 Mar 2015 11:32:18 +0000 (11:32 +0000)]
Merge "Tweak test script while investigating failures."
Nicolas Geoffray [Mon, 30 Mar 2015 11:28:26 +0000 (12:28 +0100)]
Tweak test script while investigating failures.
- Disable runs on devices failing,
- Add verbose for host failures.
Change-Id: I4efecfbc40f6666e62fd0835257d5b6c3cdcc798
Sebastien Hertz [Mon, 30 Mar 2015 07:44:45 +0000 (07:44 +0000)]
Merge "JDWP: more checking for StackFrame commands"
Andreas Gampe [Sun, 29 Mar 2015 20:56:36 +0000 (13:56 -0700)]
ART: Refactor callbacks_ in common_runtime_test
The callback is now important for some runtime checks, and just
resetting callbacks_ is not correct anymore.
Change-Id: I2cb806f1916fd5ea190911a833ce460be557a428
Mathieu Chartier [Mon, 30 Mar 2015 01:57:02 +0000 (01:57 +0000)]
Merge "Fix some reflection errors"
Mathieu Chartier [Mon, 30 Mar 2015 01:27:50 +0000 (18:27 -0700)]
Fix some reflection errors
Fixed incorrectly using 2nd frame instead of 1st in VerifyAccess.
Added regression test to ART. Fixed broken setShort,
getDeclaredFieldInternal.
Change-Id: I4b21d52d998cb768fe9503b8bccec506b7b972e5
Andreas Gampe [Mon, 30 Mar 2015 01:04:12 +0000 (01:04 +0000)]
Merge "ART: Use enums in Trace"
Mathieu Chartier [Sun, 29 Mar 2015 22:30:55 +0000 (22:30 +0000)]
Merge "Add AccessibleObject and Field to mirror"
Andreas Gampe [Sun, 29 Mar 2015 22:26:23 +0000 (15:26 -0700)]
ART: Use enums in Trace
Move away from booleans. Will make introduction of streaming mode
a bit easier / obvious.
Change-Id: Id7ae92f6b97f627e848510d473931537d7db0db8
Mathieu Chartier [Tue, 24 Mar 2015 20:30:28 +0000 (13:30 -0700)]
Add AccessibleObject and Field to mirror
Main motivation is to remove all the functionality / field access on
java side to ArtField. Also comes with some reflection speedups /
slowdowns.
Summary results:
getDeclaredField/getField are slower mostly due to JNI overhead.
However, there is a large speedup in getInt, setInt,
GetInstanceField, and GetStaticField.
Before timings (N5 --compiler-filter=everything):
benchmark ns linear runtime
Class_getDeclaredField 782.86 ===
Class_getField 832.77 ===
Field_getInt 160.17 =
Field_setInt 195.88 =
GetInstanceField 3214.38 ==============
GetStaticField 6809.49 ==============================
After:
Class_getDeclaredField 1068.15 ============
Class_getField 1180.00 ==============
Field_getInt 121.85 =
Field_setInt 139.98 =
GetInstanceField 1986.15 =======================
GetStaticField 2523.63 ==============================
Bug:
19264997
Change-Id: Ic0d0fc1b56b95cd6d60f8e76f19caeaa23045c77
Andreas Gampe [Sun, 29 Mar 2015 20:52:57 +0000 (20:52 +0000)]
Merge "ART: Some runtime cleanup"
Nicolas Geoffray [Sat, 28 Mar 2015 14:04:56 +0000 (14:04 +0000)]
Merge "Fix typos spotted by Andreas."
Andreas Gampe [Sat, 28 Mar 2015 06:45:15 +0000 (23:45 -0700)]
ART: Some runtime cleanup
Use an enum for the compiler-callback mode.
Refactor and remove some unnecessary includes in runtime.h.
Change-Id: If2245fa470171311b8e05b677cf6bb28f209585a
Andreas Gampe [Sat, 28 Mar 2015 06:20:07 +0000 (06:20 +0000)]
Merge "ART: Use instrumented Alloc in Class-Linker"