cf283daf579e9eda586f312c3fc89444601e2525 |
|
20-Jan-2016 |
Chris Larsen <chris.larsen@imgtec.com> |
MIPS32: java.lang.Thread, and java.lang.String intrinsics: - Thread java.lang.Thread.currentThread() - int java.lang.String.compareTo(String anotherString) - int java.lang.String.indexOf(int ch) - int java.lang.String.indexOf(int ch, int fromIndex) - java.lang.StringFactory.newStringFromBytes(byte[] data, int high, int offset, int byteCount) - java.lang.StringFactory.newStringFromChars(int offset, int charCount, char[] data) - java.lang.StringFactory.newStringFromString(String toCopy) Change-Id: I96a06ff81e1e3bf18d45760282356854efaf4945
|
bfa5eb6e8d15ea73a36f8df449630f285a91e995 |
|
30-May-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
Add heap poisoning support to the entrypoints. In preparation for full compiler/managed-code support. Enable stub_test with heap poisoning. Bug: 12687968 Change-Id: I79fc54ce6386c0a1eb9621759bb4cc23bc393a75
|
e34652f15f32666323052a6718a63248244f1e66 |
|
04-Nov-2014 |
Duane Sand <duane.sand@imgtec.com> |
[MIPSR6] Adjust assembly routines for MIPS R6 isa Change-Id: I771b58b9e8054bb99cd01a7f713ff8e29a9ae5d3
|
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
|
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
|
c6651298ef631d787a17c4f6f751bffe9e748a28 |
|
12-Mar-2014 |
Ian Rogers <irogers@google.com> |
Always reset CFI state. .cfi_startproc simple may do even less than .cfi_startproc, so don't rely on it. Instead, use regular .cfi_startporc and always set up the expected entry state. Change-Id: I6d3e8b8e4a07621bc99c062359a109eb76f85184
|
ee043fc5b2459d221ff020e2b096e2d492311d11 |
|
11-Mar-2014 |
Ian Rogers <irogers@google.com> |
Ensure functions start with clean CFA state. .cfi_startproc doesn't reset CFA state and so delivering exceptions and the like can leave the CFA with an incorrect offset. Reset the state in the DEFINE_FUNCTION macro. Also fix using test/run-test with --gdb for the target. Change-Id: I4c03768e118ef1e06d34fedce856919e6ecba0c4
|
468532ea115657709bc32ee498e701a4c71762d4 |
|
05-Aug-2013 |
Ian Rogers <irogers@google.com> |
Entry point clean up. Create set of entry points needed for image methods to avoid fix-up at load time: - interpreter - bridge to interpreter, bridge to compiled code - jni - dlsym lookup - quick - resolution and bridge to interpreter - portable - resolution and bridge to interpreter Fix JNI work around to use JNI work around argument rewriting code that'd been accidentally disabled. Remove abstact method error stub, use interpreter bridge instead. Consolidate trampoline (previously stub) generation in generic helper. Simplify trampolines to jump directly into assembly code, keeps stack crawlable. Dex: replace use of int with ThreadOffset for values that are thread offsets. Tidy entry point routines between interpreter, jni, quick and portable. Change-Id: I52a7c2bbb1b7e0ff8a3c3100b774212309d0828e (cherry picked from commit 848871b4d8481229c32e0d048a9856e5a9a17ef9)
|
848871b4d8481229c32e0d048a9856e5a9a17ef9 |
|
05-Aug-2013 |
Ian Rogers <irogers@google.com> |
Entry point clean up. Create set of entry points needed for image methods to avoid fix-up at load time: - interpreter - bridge to interpreter, bridge to compiled code - jni - dlsym lookup - quick - resolution and bridge to interpreter - portable - resolution and bridge to interpreter Fix JNI work around to use JNI work around argument rewriting code that'd been accidentally disabled. Remove abstact method error stub, use interpreter bridge instead. Consolidate trampoline (previously stub) generation in generic helper. Simplify trampolines to jump directly into assembly code, keeps stack crawlable. Dex: replace use of int with ThreadOffset for values that are thread offsets. Tidy entry point routines between interpreter, jni, quick and portable. Change-Id: I52a7c2bbb1b7e0ff8a3c3100b774212309d0828e
|
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
|