Comments (3)
Thanks for the link, I hadn't seen that paper. Hardware acceleration for GC is an exciting topic. If we can do anything to support a revival of this idea (anyone remembers Lisp machines?) then we should.
Fortunately, I believe that the GC proposal is abstract enough to be almost entirely agnostic towards the use of hardware acceleration -- that would remain an implementation detail of an engine. If you spot something in the MVP that would be in the way of that then we should discuss it.
That being said, the paper you link makes one rather problematic assumption that is not quite compatible with post-MVP features and the needs of some languages. Specifically, it requires every object to be strictly split into a reference and a non-reference part. This may work for OO and single inheritance, which, unfortunately, is all the paper considers, but not for less simplistic forms of type composition. For example, if you need to support something like array (struct {i32, anyref})
(as, e.g., Go or other languages) then the aforementioned splitting is not possible, or at least highly undesirable, because reordering/transposing the array would destroy locality and composable access (especially at higher array dimensions). Not sure if there is an obvious solution to avoiding expressive enough type descriptors in such cases.
from gc.
Closing this because the initial suggestion has been addressed and this does not appear to be further actionable. If you have more to add, please reopen this or file a new issue.
from gc.
Thanks everyone!
from gc.
Related Issues (20)
- Type matching with recursive types HOT 8
- In the latest standard, ref.extern is gone, but its use still exists in test. HOT 3
- Type equivalence in modifiend spec HOT 1
- [spec] array.init_elem: bounds check correct? HOT 1
- Request for clarification: is this Wasm valid or not? HOT 2
- validation rule of `ref.is_null`, `ref.as_non_null` and `ref.cast` HOT 7
- Dynamically initializing a non mutable array HOT 4
- Does the combo of subtyping and unreachable code require actual type inference? HOT 41
- Question about the sub-typing rules HOT 15
- [js-api] Throw LinkError consistently
- How to reinterpret `(array f32)` to `(array u8)`? HOT 1
- [Question] About GC heap area and linear memory HOT 1
- Working with wit component HOT 4
- Inconsistency in validating global HOT 2
- Array copy specification potential incorrect mutable assertion HOT 4
- Bounds check is possible wrong on array.copy/array.fill HOT 1
- Type of active element segments HOT 10
- Effects of optimized out instructions HOT 5
- Portability hazards of i31ref with non-native engines HOT 1
- Questions about multiple inheritance HOT 2
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 gc.