ChezScheme icon indicating copy to clipboard operation
ChezScheme copied to clipboard

Separate code allocation segments

Open jltaylor-us opened this issue 4 years ago • 2 comments

Backport from Racket - distinguish code vs. non-code allocation segments. This will be required to port to architectures that enforce W^X semantics (e.g., Apple Silicon). At least I'm pretty sure it's required. We can always wait until we have the rest of arm64osx implemented to see if it really is required before merging this in.

Requires through review. All bullyx mats pass, but I'm not entirely sure that the code in gcwrapper.c does the right thing (since one of the comments says space_code is not supported in whatever that section of code is doing). The Racket GC appears to have been largely rewritten, so comparing to that was not helpful.

jltaylor-us avatar May 17 '21 02:05 jltaylor-us

I should mention that the GitHub diff does a particularly poor job identifying the actual changes in gcwrapper.c. You may want to do the diff yourself with the "ignore whitespace changes" option (-b).

jltaylor-us avatar May 17 '21 13:05 jltaylor-us

I should mention that the GitHub diff does a particularly poor job identifying the actual changes in gcwrapper.c. You may want to do the diff yourself with the "ignore whitespace changes" option (-b).

In case you weren't aware, you can ignore whitespace in GitHub diffs:

  • https://github.blog/2018-05-01-ignore-white-space-in-code-review/

Look under the gear icon in the Files Changed view for the setting.

And, as noted in the post, you can also manually add "w=1" to the URL parameters; in fact, that's exactly what the setting does.

michaellenaghan avatar May 17 '21 14:05 michaellenaghan

Included in v9.9.9 merge 47daa9b34016de84fd111801d9d589d15a523abe.

mflatt avatar Oct 17 '23 18:10 mflatt