Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@casperisfine
Copy link

@casperisfine casperisfine commented Mar 6, 2023

Ref: #991

Write barrier protected objects are allowed to be promoted to the old generation,
which means they only get marked on major GC.

The downside is that the RB_BJ_WRITE macro MUST be used to set references,
otherwise the referenced object may be garbaged collected.

This commit also implement a dsize function so that these instance report
a more relevant size in various memory profilers. It's not counting everything
because some types are opaque right now, so a larger refactoring would be needed.

Ref: ffi#991

Write barrier protected objects are allowed to be promoted to the old generation,
which means they only get marked on major GC.

The downside is that the RB_BJ_WRITE macro MUST be used to set references,
otherwise the referenced object may be garbaged collected.

This commit also implement a `dsize` function so that these instance report
a more relevant size in various memory profilers. It's not counting everything
because some types are opaque right now, so a larger refactoring would be needed.
@casperisfine casperisfine force-pushed the function-write-barrier-2 branch from 7852317 to fd75ecc Compare March 6, 2023 13:42
@casperisfine
Copy link
Author

Rebased.

@larskanis larskanis merged commit de390b7 into ffi:master Mar 6, 2023
@casperisfine casperisfine mentioned this pull request Apr 3, 2023
40 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants