f60cb1f8de690854a3895d6190117dd0ff5f4feb |
|
28-May-2015 |
Andreas Gampe <agampe@google.com> |
ART: Add Mips o32 callee-save registers to SaveAll frame The floating point registers f20-f31 are callee-save in the Mips ABI. While the managed code does not touch them, they need to be saved when throwing an exception, so that they will be correctly restored and not smashed. Bug: 21266656 (cherry picked from commit a4e0e67611f54180694e0807d6599c1132269b6c) Change-Id: Ia96d52ce7fb41bf604da1797ce4d7a703e292415
|
735b8559d6dd26c610d4b97d72f25a092d9c8947 |
|
31-Oct-2014 |
Douglas Leung <douglas.leung@imgtec.com> |
Add JNI trampoline for mips32. This patch allows the browser to come up. Change-Id: Icad9da868be76d6a08e615807fad8678ac0a110f
|
1d8cdbc5202378a5f1a4b3a1fba610675ed4dcd5 |
|
23-Sep-2014 |
Ian Rogers <irogers@google.com> |
Refactor quick entrypoints Remove FinishCalleeSaveFrameSetup. Assembly routines write down anchor into TLS as well as placing runtime method in callee save frame. Simplify artSet64InstanceFromCode by not computing the referrer from the stack in the C++ code. Move assembly offset tests next to constant declaration and tidy arch_test. Change-Id: Iededeebc05e54a1e2bb7bb3572b8ba012cffa1c8
|
7f47b2309a509e2b88108e015b026704c3c15334 |
|
08-Oct-2014 |
Mathieu Chartier <mathieuc@google.com> |
Fix mips thread offsets Bug: 17898168 Change-Id: Ia528236458323d86c40fe7a729d2183df3547122
|
ffe18b5fb6d8bcb721f923652dce557498753616 |
|
15-Aug-2014 |
Raghu Gandham <raghu.gandham@imgtec.com> |
Fix the THREAD_ offsets for MIPS. Change-Id: Iafa5a470d3910e819f8c8cf976213d228b8805d9
|
b132ec5bba1a14d77fa11574df8dc593ae12a643 |
|
01-May-2014 |
Andreas Gampe <agampe@google.com> |
Add heap reference size to the checks in arch_test As we will potentially make heap references larger than 32b on 64b systems at some point, add a constant to the .h files that describes what the current assembly implementation assumes about the size of heap references, and check whether that agrees with sizeof. Change-Id: I75ffd7e2b59891ec36977fd831a8d5faac69c76d
|
5c1e4352614d61fed6868567e58b96682828cb4d |
|
22-Apr-2014 |
Andreas Gampe <agampe@google.com> |
Add "arch_test" gtest for assembly stub constants, add some ARM64 assembly code Add a test that (1) checks all callee-save method frame sizes for all architectures, (2) checks thread offsets for the runtime architecture and (3) checks callee-save method offsets for the runtime architecture. The "asm_support_XXX.h" files now only contain definitions that are common between all architectures. Architecture-specific definitions (i.e., special registers names) have been pushed into the corresponding .S file. This change was required to be able to undefine definitions in the test, so that multiple tests can be written in one file. Test (1) above is in a sense two-stage. The arch_test gtest compares constants (if it finds them) against the frame size as reported by the ArtMethods created by the Runtime. This works for all architectures as we can provide the instruction-set to CreateCalleeSaveMethod. The second stage of the "test" are preprocessor tests with "#error" in the case that the constants are not the expected value. Optimally I'd like to change that to an actual runtime test exercising the assembly code, which would also allow to check whether the right registers are stored. Also added missing assembly code for ARM64 for the callee-save macros. Also fix X86_64 compilation for Clang 3.5. Change-Id: I018e6433dffd3d31ba3bfcd75661653f4c7b6552
|
dd7624d2b9e599d57762d12031b10b89defc9807 |
|
15-Mar-2014 |
Ian Rogers <irogers@google.com> |
Allow mixing of thread offsets between 32 and 64bit architectures. Begin a more full implementation x86-64 REX prefixes. Doesn't implement 64bit thread offset support for the JNI compiler. Change-Id: If9af2f08a1833c21ddb4b4077f9b03add1a05147
|
a9a8254c920ce8e22210abfc16c9842ce0aea28f |
|
04-Oct-2013 |
Ian Rogers <irogers@google.com> |
Improve quick codegen for aput-object. 1) don't type check known null. 2) if we know types in verify don't check at runtime. 3) if we're runtime checking then move all the code out-of-line. Also, don't set up a callee-save frame for check-cast, do an instance-of test then throw an exception if that fails. Tidy quick entry point of Ldivmod to Lmod which it is on x86 and mips. Fix monitor-enter/exit NPE for MIPS. Fix benign bug in mirror::Class::CannotBeAssignedFromOtherTypes, a byte[] cannot be assigned to from other types. Change-Id: I9cb3859ec70cca71ed79331ec8df5bec969d6745
|
834b394ee759ed31c5371d8093d7cd8cd90014a8 |
|
31-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Merge remote-tracking branch 'goog/dalvik-dev' into merge-art-to-dalvik-dev Change-Id: I323e9e8c29c3e39d50d9aba93121b26266c52a46
|
7655f29fabc0a12765de828914a18314382e5a35 |
|
29-Jul-2013 |
Ian Rogers <irogers@google.com> |
Portable refactorings. Separate quick from portable entrypoints. Move architectural dependencies into arch. Change-Id: I9adbc0a9782e2959fdc3308215f01e3107632b7c
|