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...