Displaying 20 results from an estimated 5000 matches similar to: "[LLVMdev] Interfacing llvm with a precise, relocating GC"
2013 Oct 28
1
[LLVMdev] Interfacing llvm with a precise, relocating GC
On 10/26/13 7:40 AM, Filip Pizlo wrote:
> You can implement a copying GC (what the kids these days call
> relocating) without accurate roots.
I use "relocating" to brush over the distinction between "copying" and
"compacting" collectors. For the purposes of our discussions, the two
are interchangeable though.
> Why aren't you just using the well-known
2013 Oct 26
0
[LLVMdev] Interfacing llvm with a precise, relocating GC
> On Oct 26, 2013, at 12:37 AM, Michael Lewis <don.apoch at gmail.com> wrote:
>
> I'm also highly interested in relocating-GC support from LLVM. Up until now my GC implementation has been non-relocating which is obviously kind of a bummer given that it inhibits certain classes of memory allocation/deallocation tricks.
You can implement a copying GC (what the kids these days
2013 Oct 24
0
[LLVMdev] Interfacing llvm with a precise, relocating GC
On 24 October 2013 17:32, Sanjoy Das <sanjoy at azulsystems.com> wrote:
> Hello llvm-dev!
>
> My colleages and I are currently evaluating llvm's suitability as a
> JIT compiler interfacing with a precise, relocating garbage collector.
> While we couldn't find code or writeups that deal with the issues
> specific to this design goal, it is entirely possible that we
2013 Oct 25
1
[LLVMdev] Interfacing llvm with a precise, relocating GC
On 10/24/13 2:50 PM, Rafael EspĂndola wrote:
> On 24 October 2013 17:32, Sanjoy Das <sanjoy at azulsystems.com> wrote:
>> Hello llvm-dev!
>>
>> My colleages and I are currently evaluating llvm's suitability as a
>> JIT compiler interfacing with a precise, relocating garbage collector.
>> While we couldn't find code or writeups that deal with the
2013 Oct 24
3
[LLVMdev] Interfacing llvm with a precise, relocating GC
On Oct 24, 2013, at 2:50 PM, Rafael EspĂndola <rafael.espindola at gmail.com> wrote:
> On 24 October 2013 17:32, Sanjoy Das <sanjoy at azulsystems.com> wrote:
>> Hello llvm-dev!
>>
>> My colleages and I are currently evaluating llvm's suitability as a
>> JIT compiler interfacing with a precise, relocating garbage collector.
>> While we
2013 Oct 24
5
[LLVMdev] Interfacing llvm with a precise, relocating GC
Hello llvm-dev!
My colleages and I are currently evaluating llvm's suitability as a
JIT compiler interfacing with a precise, relocating garbage collector.
While we couldn't find code or writeups that deal with the issues
specific to this design goal, it is entirely possible that we may have
missed something; we would appreciate references to relevant code or
writeups that people on this
2013 Oct 26
3
[LLVMdev] Interfacing llvm with a precise, relocating GC
I'm also highly interested in relocating-GC support from LLVM. Up until now
my GC implementation has been non-relocating which is obviously kind of a
bummer given that it inhibits certain classes of memory
allocation/deallocation tricks.
I wrote up a bunch of my findings on the implementation of my GC here:
https://code.google.com/p/epoch-language/wiki/GarbageCollectionScheme
Frankly I
2013 Oct 29
1
[LLVMdev] Interfacing llvm with a precise, relocating GC
Hi Talin,
Thank you for your response!
Since you mention that you don't implement derived pointers, I'm a
little confused about how your approach solves the issue I brought up.
It seems to me that unless you plan on pinning some objects, support
for derived pointers isn't optional. I'm not talking about derived
pointers that the front-end introduces (which can be tracked) but
2013 Oct 26
1
[LLVMdev] Interfacing llvm with a precise, relocating GC
On Fri, Oct 25, 2013 at 8:35 PM, Philip Reames <listmail at philipreames.com>wrote:
> On 10/25/13 1:10 PM, Ben Karel wrote:
>
>
>
>
> On Thu, Oct 24, 2013 at 6:42 PM, Sanjoy Das <sanjoy at azulsystems.com>wrote:
>
>> Hi Rafael, Andrew,
>>
>> Thank you for the prompt reply.
>>
>> One approach we've been considering involves
2013 Oct 26
0
[LLVMdev] Interfacing llvm with a precise, relocating GC
On 10/25/13 1:10 PM, Ben Karel wrote:
>
>
>
> On Thu, Oct 24, 2013 at 6:42 PM, Sanjoy Das <sanjoy at azulsystems.com
> <mailto:sanjoy at azulsystems.com>> wrote:
>
> Hi Rafael, Andrew,
>
> Thank you for the prompt reply.
>
> One approach we've been considering involves representing the
> constraint "pointers to heap objects
2013 Oct 29
0
[LLVMdev] Interfacing llvm with a precise, relocating GC
Sanjoy: This document which I wrote several years ago may be of some use to
you:
Building a Stack Crawler in
LLVM<https://docs.google.com/document/d/1-ws0KYo47S0CgqpwkjfWDBJ8wFhW_0UYKxPIJ0TyKrQ/edit?usp=sharing&authkey=COD8_LcL>
I have successfully implemented a copying collector using LLVM. I did not
implement support for interior pointers, however I have a number of ideas
on how to
2013 Oct 24
0
[LLVMdev] Interfacing llvm with a precise, relocating GC
Hi Rafael, Andrew,
Thank you for the prompt reply.
One approach we've been considering involves representing the
constraint "pointers to heap objects are invalidated at every
safepoint" somehow in the IR itself. So, if %a and %b are values the
GC is interested in, the safepoint at the back-edge of a loop might
look like:
; <label>: body
%a = phi i32 [ %a.relocated,
2013 Oct 25
3
[LLVMdev] Interfacing llvm with a precise, relocating GC
On Thu, Oct 24, 2013 at 6:42 PM, Sanjoy Das <sanjoy at azulsystems.com> wrote:
> Hi Rafael, Andrew,
>
> Thank you for the prompt reply.
>
> One approach we've been considering involves representing the
> constraint "pointers to heap objects are invalidated at every
> safepoint" somehow in the IR itself. So, if %a and %b are values the
> GC is
2017 Dec 08
4
Non-relocating GC with liveness tracking
Hi Team,
I'm working on a new pure functional language and I'm trying to add GC
support for that.
Because all vars are immutable, the IR that my frontend generates are all
register based, i.e. no alloca, and no readmem, writemem unless
accessing/constructing structs.
If I use the traditional GC with gcroot intrinsic, it will need to emit
more code for liveness tracking, storing the IR
2018 Nov 19
2
Non-relocating GC with liveness tracking
Thanks for reviving this.
I completely forgot the details but I resolved this problem. Looking though
the code, seems I forked RewriteStatepointsForGC pass, and change it to
adding 'gc-livevars' bundle to the call/invoke inst after finding the
livevars, instead of changing it to StatepointCall intrinsic.
On Wed, Nov 14, 2018 at 11:48 AM Philip Reames <listmail at philipreames.com>
2006 Apr 18
1
Embedding, core dumps, etc.
Well, nothing has changed in the issues that I brought up earlier,
except that I can confirm core dumps in non-threaded lisps as well
(CLISP), using svn version 37840 (this morning, Seattle time) for
R-2-3-patches. I've not tried Thomas' suggested fixes, as I'm
hesistant to go down the road of fixing R in such a way that would
require constant patching.
(so for those counting,
2015 Dec 31
2
[GC / Statepoints] Collector supports only base pointers as stack roots
Hi,
My collector supports only base pointers as stack roots. This wasn't a
problem until I tried to run some optimizations before RS4GC, which
introduced (interior) derived pointers. The statepoint documentation
mentions that these collectors exist, but doesn't mention whether and
how this is currently supported. What could I do to make it work?
-Manuel
2019 Jul 21
2
Altering the return address , for a function with multiple return paths
Yes, indeed!
The SBCL lisp compiler (not llvm based) used to emit functions which would
return either via ret to the usual instruction after the call, or else load
the return-address from the stack, then jump 2 bytes later (which would
skip over either a nop or a short jmp at original target location). Which
one it used depended upon whether the function was doing a multi-valued
return (in which
2013 Jul 31
0
[LLVMdev] Interpreting stack maps for purposes of precise GC
Hi all,
I've been using the llvm.gcroot intrinsic combined with the generated
machine stack maps to attempt to do precise GC without the use of a shadow
stack. (This is all research work on a novel language so I have no existing
system to compare against, for the record.)
Most of my test suite is working and tracing stack roots correctly.
However, there seem to be some scenarios where the
2006 Jan 17
0
xlispstat and R
> From: Wensui Liu <liuwensui at gmail.com>
> Just curious how xlispstat is used in the industry and what's it strengthen
> compared with other computing languages such as R or matlab?
Almost not at all, though there are a few holdouts.
On a related note, I've been doing some interesting things with a
branch of LispStat for CommonLisp. It'll be more interesting when