Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Parsing (and compiling) on demand."
2010 Apr 17
0
[LLVMdev] Parsing (and compiling) on demand.
lost wrote:
> Hi!
>
> I'm trying to develop JIT compiler using LLVM as its backend. I know
> LLVM itself supports JIT-compiling, but I need to generate IR first.
> I don't want to generate IR before function is actually needed. How
> can I achieve this?
> If it matters, I have prototypes for all functions I'm going to use.
See
2010 Apr 17
2
[LLVMdev] Parsing (and compiling) on demand.
Ok than, but how to insert a call to an undefined function?
> See ExecutionEngine::InstallLazyFunctionCreator().
> http://llvm.org/doxygen/classllvm_1_1ExecutionEngine.html#6a126d6cd1fa07a4331179597de0c46a
>
> Nick
>
2012 Mar 02
2
[LLVMdev] Access Violation using ExecutionEngine on 64-bit Windows 8 Consumer Preview
Hi Rotem,
Thank to you, and especially to Marina! The problem gone. I'm a bit
interested, what is the reason it worked in Win7, and not in Win8.
I've recently used Process Explorer to discover, that the call was to
ntdll.dll, which in Win8 is loaded to the totally different address.
Best regards,
Victor Milovanov
Moscow State University graduate student
2012/3/3 Rotem, Nadav
2010 Apr 17
0
[LLVMdev] Parsing (and compiling) on demand.
lost wrote:
> Ok than, but how to insert a call to an undefined function?
You need to have the function declaration and insert a call to that.
Once your LazyFunctionCreator is called, you fill in the body and call
JIT->getPointerToFunction() on it and return that result.
I haven't actually tried this, but it seems to be the only way to use
this API, so I presume someone else has.
2010 Jul 19
2
[LLVMdev] JIT crash takes down host-application
Ok, thank you for your explanation. Is it possible for forked processes to
share data? Especially for the child process to send some data to the
parent?
-Frank
2010/7/18 Nick Lewycky <nicholas at mxc.ca>
> Frank Fuchs wrote:
>
>> Hi,
>>
>> I'm doing some tests concerning the embedding of LLVM and clan in my
>> application.
>> Now I stumbled across
2010 Jul 18
3
[LLVMdev] JIT crash takes down host-application
Hi,
I'm doing some tests concerning the embedding of LLVM and clan in my application.
Now I stumbled across the following ... which disturbs me. If the jitted program crashes,
like e.g. if it contains an assert(0==1) or calls an external function which cannot be resolved,
the hosting app goes down as well. There seems no error catch.
Can this anyhow be circumvented?
-Frank
2012 Mar 03
0
[LLVMdev] Access Violation using ExecutionEngine on 64-bit Windows 8 Consumer Preview
On Windows, the LLVM JIT runner looks for the '_chkstk' symbol by enumerating all of the loaded DLLs. On Win8, NTDLL.DLL (where _chkstk is defined) is found in a location that is more than 32bits bytes away from the jitted code. Marina's patch changes the code that generates a call to '_chkstk' from PCREL32 (which uses a 32bit offset) to an indirect call (which uses a 64bit
2012 Mar 02
0
[LLVMdev] Access Violation using ExecutionEngine on 64-bit Windows 8 Consumer Preview
Hi Victor,
Try this fix by Marina Yatsina:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120220/137532.html
Nadav
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of lost
Sent: Friday, March 02, 2012 22:53
To: NAKAMURA Takumi; LLVM
Subject: Re: [LLVMdev] Access Violation using ExecutionEngine on 64-bit Windows 8
2012 Mar 02
2
[LLVMdev] Access Violation using ExecutionEngine on 64-bit Windows 8 Consumer Preview
Hi, Takumi!
I tried your patch, and it did not help. Moreover, I tried to compile
under Windows 7 and copy files to Windows 8, and received the same
exception. So the problem seems to be in Windows 8 itself or some
non-portable code inside LLVM.
Could anyone tell me what LLVM code in ExecutionEngine is responsible
for allocating and protecting memory for generated native functions?
Best
2010 Jul 18
0
[LLVMdev] JIT crash takes down host-application
Frank Fuchs wrote:
> Hi,
>
> I'm doing some tests concerning the embedding of LLVM and clan in my application.
> Now I stumbled across the following ... which disturbs me. If the jitted program crashes,
> like e.g. if it contains an assert(0==1) or calls an external function which cannot be resolved,
> the hosting app goes down as well. There seems no error catch.
>
>
2010 Sep 17
0
[LLVMdev] Accurate garbage collection
Hi Victor,
You can write your own GC or use other's GC with LLVM. What LLVM provides is
a framework to generate a representation of objects locations in a method's
frames. Right now, LLVM can emit the shadow stack (which dynamically updates
the locations), or the ocaml format. If you have implemented a GC, you can
parse the ocaml format to locate the objects.
I think the web page needs
2010 Jul 19
0
[LLVMdev] JIT crash takes down host-application
You could use shared memory or the equivalent of UNIX domain sockets. On a UNIX system, you will also probably want to catch
SIGCHLD along with implementing "nowait" handling behavior in the parent. This is of course a low level approach. Higher level
libraries that you may be using, or other OSs may provide their own wrappers.
Garrison
On Jul 19, 2010, at 4:05, Frank Fuchs wrote:
2008 Aug 19
7
[LLVMdev] Please help with LLVM C++ integration
Hi Gordon,
I wrote a small example, but while running I get an error("Tied to
execute an unknown external function"), where I am wrong?
Thanks in advance.
Kirill.
int some_test_func( int ){
std::cout << "!!!!" << std::endl;
return 8848;
}
int _tmain(int argc, _TCHAR* argv[]){
Module *M = new Module("test");
ExistingModuleProvider* MP = new
2010 Jul 19
1
[LLVMdev] JIT crash takes down host-application
Is there a way to intercept the calls to abort() or exit(), specifically ?
Disabling all external symbol resolution seems not really feasable since I
need some std libs.
-Frank
2010/7/19 Garrison Venn <gvenn.cfe.dev at gmail.com>
> You could use shared memory or the equivalent of UNIX domain sockets. On a
> UNIX system, you will also probably want to catch
> SIGCHLD along with
2010 Apr 17
2
[LLVMdev] Parsing (and compiling) on demand.
On Sat, Apr 17, 2010 at 2:15 PM, Nick Lewycky <nicholas at mxc.ca> wrote:
> lost wrote:
>> Ok than, but how to insert a call to an undefined function?
>
> You need to have the function declaration and insert a call to that.
> Once your LazyFunctionCreator is called, you fill in the body and call
> JIT->getPointerToFunction() on it and return that result.
>
> I
2012 Mar 02
3
[LLVMdev] Access Violation using ExecutionEngine on 64-bit Windows 8 Consumer Preview
Hi everyone!
I've faced a strange problem after updating to Windows 8 Consumer
Preview recently. It seems that LLVM inserts 4 calls to the same
function at the start of generated code. The function's disassembly
(taken from nearby computer with Windows 7) is:
00000000773A0DD0 sub rsp,10h
00000000773A0DD4 mov qword ptr [rsp],r10
00000000773A0DD8 mov qword ptr
2008 Aug 19
5
[LLVMdev] Please help with LLVM C++ integration
Hello,
I got very interested in LLVM project, and I decided to start writing
my own scripting language based on it. By studying the documentation,
I could not find how to call external function, written in C. That is,
I have a set of functions written in C/C++, I generate code, using
LLVM C++ interface, how can I call(or register in machine in run-time)
my external functions? Maybe I just missed
2010 Sep 16
4
[LLVMdev] Accurate garbage collection
Hello!
I'm looking at "Overview of available features" here:
http://llvm.org/docs/GarbageCollection.html#collector-algos and can't
understand something.
First, does table header mean that there are already some GC's
implemented besides "shadow stack"? E.g. can I just use them?
Second, does row "JIT", "NO" mean that GC is not compatible with
2007 Aug 11
1
[LLVMdev] Spelling correction
http://llvm.org/doxygen/classllvm_1_1ExecutionEngine.html
"Constant*" misspelled as "Constnat*" at:
GenericValue ExecutionEngine::getConstantValue ( const Constant * C
) [protected]
Sandro
2010 Apr 17
0
[LLVMdev] Parsing (and compiling) on demand.
So you mean that is not the way. But what is InstallLazyFunctionCreator for?
2010/4/17 Kenneth Uildriks <kennethuil at gmail.com>:
> On Sat, Apr 17, 2010 at 2:15 PM, Nick Lewycky <nicholas at mxc.ca> wrote:
>> lost wrote:
>>> Ok than, but how to insert a call to an undefined function?
>>
>> You need to have the function declaration and insert a call to