Comments (4)
Take a look at doGC
in test/driver.c
. The loop in there is walking a contiguous call stack and relocating pointers in the frame (which are assumed to be i32*
for the example).
from llvm-statepoint-utils.
i get an error using make in the test folder
llc fib.ll -o fib.s
perl -i -pe "s/__LLVM_StackMaps:/.globl __LLVM_StackMaps\n__LLVM_StackMaps:/" fib.s
gcc -c fib.s -o fib.o
fib.s: Assembler messages:
fib.s:1: Error: character following name is not '#'
fib.s:2: Error: unknown pseudo-op: `.macosx_version_min'
fib.s:93: Error: character following name is not '#'
fib.s:99: Error: character following name is not '#'
fib.s:104: Error: character following name is not '#'
fib.s:231: Error: unknown pseudo-op: `.subsections_via_symbols'
EDIT, i had to remove the target triple from the .ll file
the gc always copies the value even if it already copied it before, doesnt this give a lot of the same items on the heap if multiple roots refer to the same value
from llvm-statepoint-utils.
moving the heapPtr and heapBase to driver.c causes the program to crash.
from llvm-statepoint-utils.
Thanks for the heads up: I removed the target triple so it works on other platforms.
the gc always copies the value even if it already copied it before, doesnt this give a lot of the same items on the heap if multiple roots refer to the same value
Yes it would in this example, but it would be necessary if those heap objects are mutable. For immutable objects, a non-toy GC could implement a form of hash consing to common-up those objects, but I personally think it's not worth the cost for most programs.
from llvm-statepoint-utils.
Related Issues (4)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from llvm-statepoint-utils.