0b95bf17e077b9d6c52514fec5ed122017111edb |
|
24-Jun-2015 |
Mathieu Chartier <mathieuc@google.com> |
Fix imt conflict trampoline for mips64 Changed lwu to ld Bug: 21815962 Change-Id: I137e871d9c00f83cd5efc9d3a87fa05e84dc5d23
|
9ad40fda952e854c4b571df36e46c834e209cd4c |
|
13-Jun-2015 |
Mathieu Chartier <mathieuc@google.com> |
Change mips64 lwu to ld for loading caller ArtMethod* Bug: 21815962 Change-Id: Id589f4a49349d817d3dc9128109048292fe0ed33
|
618fdff93cec53c0ed234898f2d42f38a25e3b66 |
|
10-Jun-2015 |
Lazar Trsic <Lazar.Trsic@imgtec.com> |
[MIPS] Fix method tracing for mips64 Reg $v0 is being clobbered on using SETUP_REFS_ONLY_CALLEE_SAVE_FRAME inside instrumentation_exit() trampoline, when falling through from instrumentation_entry(). To fix, use $t1 for ArtMethod* fetching inside SETUP_ macros. Also fix some unrelated comment errors. Bug: 21555893 (cherry picked from commit 84bc06e30ba12c3ff07e577c52b63b9df162af7e) Change-Id: I4ab169f75988c4f0d924416a30196f21c1a043a3
|
3d21bdf8894e780d349c481e5c9e29fe1556051c |
|
22-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Move mirror::ArtMethod to native Optimizing + quick tests are passing, devices boot. TODO: Test and fix bugs in mips64. Saves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS. Some of the savings are from removal of virtual methods and direct methods object arrays. Bug: 19264997 (cherry picked from commit e401d146407d61eeb99f8d6176b2ac13c4df1e33) Change-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d Fix some ArtMethod related bugs Added root visiting for runtime methods, not currently required since the GcRoots in these methods are null. Added missing GetInterfaceMethodIfProxy in GetMethodLine, fixes --trace run-tests 005, 044. Fixed optimizing compiler bug where we used a normal stack location instead of double on ARM64, this fixes the debuggable tests. TODO: Fix JDWP tests. Bug: 19264997 Change-Id: I7c55f69c61d1b45351fd0dc7185ffe5efad82bd3 ART: Fix casts for 64-bit pointers on 32-bit compiler. Bug: 19264997 Change-Id: Ief45cdd4bae5a43fc8bfdfa7cf744e2c57529457 Fix JDWP tests after ArtMethod change Fixes Throwable::GetStackDepth for exception event detection after internal stack trace representation change. Adds missing ArtMethod::GetInterfaceMethodIfProxy call in case of proxy method. Bug: 19264997 Change-Id: I363e293796848c3ec491c963813f62d868da44d2 Fix accidental IMT and root marking regression Was always using the conflict trampoline. Also included fix for regression in GC time caused by extra roots. Most of the regression was IMT. Fixed bug in DumpGcPerformanceInfo where we would get SIGABRT due to detached thread. EvaluateAndApplyChanges: From ~2500 -> ~1980 GC time: 8.2s -> 7.2s due to 1s less of MarkConcurrentRoots Bug: 19264997 Change-Id: I4333e80a8268c2ed1284f87f25b9f113d4f2c7e0 Fix bogus image test assert Previously we were comparing the size of the non moving space to size of the image file. Now we properly compare the size of the image space against the size of the image file. Bug: 19264997 Change-Id: I7359f1f73ae3df60c5147245935a24431c04808a [MIPS64] Fix art_quick_invoke_stub argument offsets. ArtMethod reference's size got bigger, so we need to move other args and leave enough space for ArtMethod* and 'this' pointer. This fixes mips64 boot. Bug: 19264997 Change-Id: I47198d5f39a4caab30b3b77479d5eedaad5006ab
|
04568815cbfa18f0fa8b8d751fb83a1089909660 |
|
23-Apr-2015 |
Goran Jakovljevic <Goran.Jakovljevic@imgtec.com> |
Fix stub_test for Mips64 Force ENTRY macro to load GP. Instead .cpload (used for o32 abi, not working for n64) use .cpsetup to set up GP and save previous GP value. Fix expectations in GetSet32Static. Change-Id: Ie97e32fa2fee7a6e8bae6bc36e78976b8be62b79
|
8223b809a527c15b68f7c5c462d4c55c1335c7a7 |
|
29-Apr-2015 |
Douglas Leung <douglas.leung@imgtec.com> |
Fix mips64 bugs. There are 2 bugs here. First is Method* is computed twice. The second is the wrong runtime callee save frame offset is being used in computing Method*. Change-Id: Ica23585a08be480a54d0cdd17eeca8027061b3f3
|
e85e123a2dff7d4b20266183a0583f9364a8b824 |
|
28-Apr-2015 |
Vladimir Marko <vmarko@google.com> |
ART: Add FOUR_ARG_DOWNCALL macro for MIPS64 entry points. Missing from https://android-review.googlesource.com/79174 Change-Id: If182b73824edfd4639f645612b2f7b67c1f31bef
|
5ea536aa4a6414db01beaf6f8bd8cb9adc5cfc92 |
|
20-Apr-2015 |
Vladimir Marko <vmarko@google.com> |
Remove ArtMethod* parameter from dex cache entry points. Load the ArtMethod* using an optimized stack walk instead. This reduces the size of the generated code. Three of the entry points are called only from a slow-path and the fourth (InitializeTypeAndVerifyAccess) is rare and already slow enough that the one or two extra loads (depending on whether we already have the ArtMethod* in a register) are insignificant. And as we're starting to use PC-relative addressing of the dex cache arrays (already done by Quick for the boot image), having the ArtMethod* in a register becomes less likely anyway. Change-Id: Ib19b9d204e355e13bf386662a8b158178bf8ad28
|
2cebb24bfc3247d3e9be138a3350106737455918 |
|
22-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Replace NULL with nullptr Also fixed some lines that were too long, and a few other minor details. Change-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb
|
bb87e0f1a52de656bc77cb01cb887e51a0e5198b |
|
03-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Refactor and improve GC root handling Changed GcRoot to use compressed references. Changed root visiting to use virtual functions instead of function pointers. Changed root visting interface to be an array of roots instead of a single root at a time. Added buffered root marking helper to avoid dispatch overhead. Root marking seems a bit faster on EvaluateAndApplyChanges due to batch marking. Pause times unaffected. Mips64 is untested but might work, maybe. Before: MarkConcurrentRoots: Sum: 67.678ms 99% C.I. 2us-664.999us Avg: 161.138us Max: 671us After: MarkConcurrentRoots: Sum: 54.806ms 99% C.I. 2us-499.986us Avg: 136.333us Max: 602us Bug: 19264997 Change-Id: I0a71ebb5928f205b9b3f7945b25db6489d5657ca
|
f96e8bdf47cfcbecd8ad8ebceb765e5a257ca143 |
|
27-Mar-2015 |
Douglas Leung <douglas.leung@imgtec.com> |
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
|
6ea651f0f4c7de4580beb2e887d86802c1ae0738 |
|
24-Feb-2015 |
Maja Gagic <maja.gagic@imgtec.com> |
Initial support for quick compiler on MIPS64r6. Change-Id: I6f43027b84e4a98ea320cddb972d9cf39bf7c4f8
|
126d65952a03b3e44d5021208673c01920a982a4 |
|
03-Mar-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix generic JNI stubs to not discard the Java native frame. Change-Id: Ic856b442fdde5ce91673fc5856eb0dfc84c75d28
|
6461d19fe1132ec25b92d008c1a7b57f5ecc134b |
|
31-Jan-2015 |
Douglas Leung <douglas.leung@imgtec.com> |
Add Mips64 art_quick_proxy_invoke_handler assembly. This fixes a crash during boot. Change-Id: Ia69f3a38757355d1c33095ab59ce659a9b4ef737
|
cc7c39d747f5802282adcc51ffe44405f116f84b |
|
31-Jan-2015 |
Andreas Gampe <agampe@google.com> |
ART: Add Mips64 resolution trampoline assembly Add the resolution trampoline assembly. Change-Id: I45306f5913c6f57f46b97cb87fa321ae16642292
|
1a5c40672783fac98aca5a04ac798a0a0014de65 |
|
15-Jan-2015 |
Andreas Gampe <agampe@google.com> |
ART: Mips64 runtime support Interpret-only Mips64 runtime support. Change-Id: Iee22d0c8c77105d9b2f03a67dc4e09957fe0ab0a
|