search for: ocamlgcprinter

Displaying 14 results from an estimated 14 matches for "ocamlgcprinter".

2013 Dec 18
1
[LLVMdev] GCModuleInfo and MCJIT
...thout any change (good news). I will explain what I have done to find the garbage collector metadata generated by llvm with MCJIT, I'm pretty sure that it could help someone. And it's very easy. You just have to activate a static gcprinter for the assembly. A very good example is given in OcamlGCPrinter.cpp/OCamlGC.cpp. The only problem with the hook of OcamlGCPrinter::finishAssembly() is that it changes the current section to emit the gc metadata in the data section. And it does not work with MCJIT. I don't know why, probably because somewhere, an AsmPrinter or MCJIT supposes that another sec...
2013 Feb 14
0
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
...t I reproduced this using the > builtin "ocaml" GC plugin and the attached file (actually, any simple ll > file that uses "ocaml" gc is fine). > > Note: The beginAssembly function works great. > I've tried adding two debug prints in lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp: one in beginAssembly and one in finishAssembly. It seems to me that finishAssembly is never called. Has anyone tried anything similar? Testing this should be rather straightforward. :-) Thanks! yiannis -- Yiannis Tsiouris Ph.D. student, Software Engineering Laboratory, National Technica...
2013 Feb 10
2
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Hi, After rebasing my local LLVM repo to ToT, I noticed that the finishAssembly function is not executed and, thus, the stack map is not printed at all. Is this a known issue or I 'm doing something wrong? I used a custom GCMetadataPrinter plugin but I reproduced this using the builtin "ocaml" GC plugin and the attached file (actually, any simple ll file that uses
2013 Dec 18
0
[LLVMdev] GCModuleInfo and MCJIT
Hi! I have now a more precise question, I hope that this time, someone will be able to help me :) I'm now able to find the gc meta data. To find this data, I simply register a GCMetadataPrinter (just like during an AOT compilation). A GCMetadataprinter is called at the end of the compilation of a module after having assigned the slots to the live roots. I have almost everything except that
2013 Dec 15
2
[LLVMdev] GCModuleInfo and MCJIT
Hi all, So, MCJIT is working with vmkit, that's great. However, I need to retrieve the GCModuleInfo and the MachineCodeEmitter used during the compilation process. And I don't know how I should proceed? I'm trying to understand how they are preserved with the old jit, but I have to say that I'm a little bit lost because I haven't a global view of the code... So, any help would
2013 Feb 14
2
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
...is using the >> builtin "ocaml" GC plugin and the attached file (actually, any simple ll >> file that uses "ocaml" gc is fine). >> >> Note: The beginAssembly function works great. > I've tried adding two debug prints in > lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp: one in beginAssembly and > one in finishAssembly. It seems to me that finishAssembly is never > called. I used git bisect and I think the commit that is responsible for this is: > d1abec365aa89a8497d9b615ccb4b21c72da9447 is the first bad commit > commit d1abec365aa89a8497d9b6...
2013 Feb 14
0
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
...t;>> builtin "ocaml" GC plugin and the attached file (actually, any simple ll >>> file that uses "ocaml" gc is fine). >>> >>> Note: The beginAssembly function works great. >> I've tried adding two debug prints in lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp: one in beginAssembly and one in finishAssembly. It seems to me that finishAssembly is never called. > > I used git bisect and I think the commit that is responsible for this is: > > > d1abec365aa89a8497d9b615ccb4b21c72da9447 is the first bad commit > > commit d1abec365aa...
2015 Feb 19
2
[LLVMdev] Beginner GCRoot Questions
Hello, I've spent some time with the LLVM documentation and am beginning to grasp a few things, but I sometimes need very literal statements to actually understand things. My first question is about StackMaps: Is it true that llvm_gc_root_chain is an API? I've been trying to understand how exactly one accesses this structure and no where in the documentation does it mention this is a
2013 Oct 23
0
[LLVMdev] GC StackMaps (was Stackmap and Patchpoint Intrinsic Proposal)
...t; > In code: > - GCPoint in llvm/include/llvm/CodeGen/GCMetadata.h describes a request for a location with a stack map. The SafePoints structure in GCFunctionInfo contains a list of these locations. > - The Ocaml GC is probably the best example of usage. See llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp > > Note: The summary of existing LLVM details above is based on reading the code. I haven't actually implemented anything which used this mechanism yet. As such, take it with a grain of salt. That's an excellent description of stack maps, GCStrategy, and safepoints. Now let...
2013 Oct 23
5
[LLVMdev] [RFC] Stackmap and Patchpoint Intrinsic Proposal
...oot intrinsic. In code: - GCPoint in llvm/include/llvm/CodeGen/GCMetadata.h describes a request for a location with a stack map. The SafePoints structure in GCFunctionInfo contains a list of these locations. - The Ocaml GC is probably the best example of usage. See llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp Note: The summary of existing LLVM details above is based on reading the code. I haven't actually implemented anything which used this mechanism yet. As such, take it with a grain of salt. In your change, you are adding a mechanism which is intended to enable runtime calls and inline...
2013 Oct 23
2
[LLVMdev] GC StackMaps (was Stackmap and Patchpoint Intrinsic Proposal)
...e: > - GCPoint in llvm/include/llvm/CodeGen/GCMetadata.h describes a request for > a location with a stack map. The SafePoints structure in GCFunctionInfo > contains a list of these locations. > - The Ocaml GC is probably the best example of usage. See > llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp > > Note: The summary of existing LLVM details above is based on reading the > code. I haven't actually implemented anything which used this mechanism > yet. As such, take it with a grain of salt. > > > That's an excellent description of stack maps, GCStrategy, an...
2013 Oct 22
0
[LLVMdev] [RFC] Stackmap and Patchpoint Intrinsic Proposal
On Oct 22, 2013, at 3:08 PM, Filip Pizlo <fpizlo at apple.com> wrote: > On Oct 22, 2013, at 1:48 PM, Philip R <listmail at philipreames.com> wrote: > >> On 10/22/13 10:34 AM, Filip Pizlo wrote: >>> On Oct 22, 2013, at 9:53 AM, Philip R <listmail at philipreames.com> wrote: >>> >>>> On 10/17/13 10:39 PM, Andrew Trick wrote:
2013 Oct 22
4
[LLVMdev] [RFC] Stackmap and Patchpoint Intrinsic Proposal
On Oct 22, 2013, at 1:48 PM, Philip R <listmail at philipreames.com> wrote: > On 10/22/13 10:34 AM, Filip Pizlo wrote: >> On Oct 22, 2013, at 9:53 AM, Philip R <listmail at philipreames.com> wrote: >> >>> On 10/17/13 10:39 PM, Andrew Trick wrote: >>>> This is a proposal for adding Stackmaps and Patchpoints to LLVM. The >>>> first client
2015 Jul 29
1
[LLVMdev] Error when i am using command make -j4 command in cygwin to compile safecode
...Release+Asserts build llvm[3]: Compiling InstCombineSelect.cpp for Release+Asserts build llvm[3]: Compiling ErlangGCPrinter.cpp for Release+Asserts build llvm[3]: Compiling NaryReassociate.cpp for Release+Asserts build llvm[4]: Compiling X86AsmParser.cpp for Release+Asserts build llvm[3]: Compiling OcamlGCPrinter.cpp for Release+Asserts build llvm[3]: Compiling InstCombineShifts.cpp for Release+Asserts build llvm[3]: Compiling PartiallyInlineLibCalls.cpp for Release+Asserts build llvm[3]: Compiling WinCodeViewLineTables.cpp for Release+Asserts build llvm[3]: Compiling PlaceSafepoints.cpp for Release+Asserts...