similar to: [LLVMdev] Android JIT patch

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Android JIT patch"

2013 Nov 15
3
[LLVMdev] Android JIT patch
Here's an updated version with more comments. James On 14/11/13 23:06, Kaylor, Andrew wrote: > Oh, I see now. It turns out that even knowing what the end goal was I misunderstood part of what the macros were doing. > > If you could add some comments explaining what the macros are doing then I guess I can live with the patch in this form. I definitely agree that it's better not
2013 Nov 11
2
[LLVMdev] Android JIT patch
On 11/11/13 17:42, Kaylor, Andrew wrote: > I've got a number of problems with this patch. > > First, we have plans to pry apart the remaining strands connecting JIT with MCJIT, so I don't want to do anything that reconnects them. That is, I'm against moving things from RTDyldMemoryManager into ExecutionEngine. The direction of LLVM is not something I'm in a position to
2013 Nov 14
3
[LLVMdev] Android JIT patch
Well, is the attached version better? I've extended the RTDyldMemoryManager hooks instead to pick up the ARM math functions statically, and left JITMemoryManager alone except for changing the conditional so that it will build with non-glibc libraries. I've also split the original patch up into two parts, to separate the math function fixes from setLastModificationAndAccessTime. The
2013 Nov 14
2
[LLVMdev] Android JIT patch
Well, the reason I did it that way was that the list of functions is fairly long and has to be written out twice; once to declare the functions and once to do the if(Name==#fn) bit, and I thought nested macros was simpler than having two copies of the list. On 14/11/13 22:07, Kaylor, Andrew wrote: > Thanks for splitting up the patch. I'm not the right person to comment on the
2013 Nov 11
0
[LLVMdev] Android JIT patch
The various ExecutionEngine pieces may be the only places within LLVM that are using the DynamicLibrary stuff, but there's no telling what various LLVM consumers may be using it for. The "stat" symbols shouldn't be exposed the way they are in the old JIT memory manager location. It's not clear to me why that didn't happen inside getPointerToNamedFunction there. Is
2013 Nov 14
0
[LLVMdev] Android JIT patch
Thanks for splitting up the patch. I'm not the right person to comment on the modification and access time changes (though it looks alright to me). You might want to re-submit that part on its own as it's likely to be ignored by people who aren't interested in JIT stuff otherwise. Regarding the memory manager changes, functionally this looks good. I'm not a big fan of macros,
2013 Nov 15
0
[LLVMdev] Android JIT patch
Committed as r194832. -----Original Message----- From: James Lyon [mailto:jameslyon0 at gmail.com] Sent: Thursday, November 14, 2013 4:58 PM To: Kaylor, Andrew; LLVM Dev Subject: Re: [LLVMdev] Android JIT patch Here's an updated version with more comments. James On 14/11/13 23:06, Kaylor, Andrew wrote: > Oh, I see now. It turns out that even knowing what the end goal was I
2013 Nov 14
0
[LLVMdev] Android JIT patch
Oh, I see now. It turns out that even knowing what the end goal was I misunderstood part of what the macros were doing. If you could add some comments explaining what the macros are doing then I guess I can live with the patch in this form. I definitely agree that it's better not to have two copies of the list. Thanks, Andy -----Original Message----- From: James Lyon [mailto:jameslyon0
2013 Nov 11
0
[LLVMdev] Android JIT patch
I've got a number of problems with this patch. First, we have plans to pry apart the remaining strands connecting JIT with MCJIT, so I don't want to do anything that reconnects them. That is, I'm against moving things from RTDyldMemoryManager into ExecutionEngine. Second, unless I'm reading it wrong, this relies on static constructors. That causes headaches and is against the
2013 Nov 11
0
[LLVMdev] Android JIT patch
On 11 November 2013 01:45, James Lyon <jameslyon0 at gmail.com> wrote: > I've attached a patch which has got JIT compilation working (for me at > least!) on Android. It turns out that the problem was a bunch of intrinsic > __aeabi* functions which reside in libgcc.a rather than libc.so so are not > available unless explicitly linked in, so it's rather similar to the >
2013 Nov 11
1
[LLVMdev] Android JIT patch
I think __aeabi is ARM EABI not Android EABI, e.g. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0043d/index.html. The problem is not that the __aeabi functions are missing on Android, they're defined in libgcc.a, the problem is that they don't get linked in unless they're referenced. I don't know how this problem is avoided on ARM/Linux/glibc normally, but
2013 Nov 01
2
[LLVMdev] [Proposal] Adding callback mechanism to Execution Engines
Hi Andrew, I used the latest code from trunk. GlobalSymbolTable is being used in MCJIT. I guess it wasn't clear from the proposal that the user program will be modified to indicate that the callback should happen at that point in the code. The objective is to call some of the functions which belong to lli or the ExecutionEngine. Thanks, Sumeeth On Fri, Nov 1, 2013 at 5:40 PM, Kaylor,
2013 Nov 01
0
[LLVMdev] [Proposal] Adding callback mechanism to Execution Engines
Unless I'm missing something, indeed addGlobalMapping should not work with MCJIT. MCJIT does not consult EEState.getGlobalAddressMap when resolving symbols. Instead it uses RTDyldMemoryManager::getSymbolAddress which checks with DynamicLibrary::SearchForAddressOfSymbol, so Andy's suggestion of DynamicLibrary::addSymbol is better as it should work with both JIT and MCJIT. Another options
2013 Nov 25
2
[LLVMdev] Android, llvm-ar and setLastModificationAndAccessTime
On 25/11/2013 18:27, Stephen Hines wrote: > futimens() is available in Android KitKat. We work extensively with > LLVM and this allowed us to remove our ugly workaround for not having > this functionality. Hi Steve, Is your work on a branch somewhere? James is putting a lot of time into this, and the LLVM community has been making best efforts to help review his patches which can be
2013 Nov 25
2
[LLVMdev] Android, llvm-ar and setLastModificationAndAccessTime
Hmmm.... following up on your point I've noticed something strange. futimens is missing from the NDK (r9b; it's not in any headers and the libc.so files are the same all the way back to android-9), which is why I thought it's missing from Android generally. The NDK is by far the easiest way to cross-compile since it provides a standalone cross-compilation toolchain. It is however
2013 Oct 31
4
[LLVMdev] Android build patch
I've been trying to get LLVM JIT compilation working on Android for the last few days. The patch I needed to get it to build is attached (nothing major - CMake configuration header typo and avoiding open64 which is missing on Android). Sadly even though it builds I can't get generated code to work - it appears at the moment that the generated code doesn't have execute permissions
2013 Nov 26
0
[LLVMdev] Android, llvm-ar and setLastModificationAndAccessTime
This is only available for apps that target API level 19 and up. On 18 and lower, the futimens() function won't be available via libc.so. You will need to target API 19 (KitKat) in order to actually use it. If I do an "nm -D prebuilts/ndk/9/platforms/android-19/arch-arm/usr/lib/libc.so", I can see futimens() is present. On the others, it is definitely missing. Steve On Mon, Nov
2013 Nov 25
0
[LLVMdev] Android, llvm-ar and setLastModificationAndAccessTime
On Mon, Nov 25, 2013 at 12:36 PM, Alp Toker <alp at nuanti.com> wrote: > > On 25/11/2013 18:27, Stephen Hines wrote: > >> futimens() is available in Android KitKat. We work extensively with LLVM >> and this allowed us to remove our ugly workaround for not having this >> functionality. >> > > Hi Steve, > > Is your work on a branch somewhere? >
2013 Nov 25
3
[LLVMdev] Android, llvm-ar and setLastModificationAndAccessTime
Hi, I've been trying to get LLVM working as a JIT compiler on Android for a while. It works now, except that the setLastModificationAndAccessTime function won't build because the Bionic C library lacks both futimes and futimens. There doesn't appear to be any "nice" workaround for this problem: the only ways I can think of to make setLastModificationAndAccessTime work
2013 Nov 25
0
[LLVMdev] Android, llvm-ar and setLastModificationAndAccessTime
futimens() is available in Android KitKat. We work extensively with LLVM and this allowed us to remove our ugly workaround for not having this functionality. Steve On Mon, Nov 25, 2013 at 8:30 AM, James Lyon <jameslyon0 at gmail.com> wrote: > Hi, > > I've been trying to get LLVM working as a JIT compiler on Android for a > while. It works now, except that the