New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fpcast removal #1677
Fpcast removal #1677
Conversation
CI seemed to fail on lots of things here, despite working fine on my build machine. Lots of timeouts... |
Well at least it passed on Firefox (the One recent problem I hit is that chrome is more delicate about pointer alignment than firefox. The following code crashes chrome consistently (though it is also noticeably slow on firefox): EM_JS(void, my_func, (), {
let addr = _malloc(8);
let byte_ptr = ptr1 + 3;
let ptr_ptr = addr + 4;
HEAP8[byte_ptr] = 7;
HEAPU32[ptr_ptr/4] = byte_ptr;
_print_byte_ptrptr(ptr_ptr);
});
void print_byte_ptrptr(char **p){
printf("byte is %x\n", **p);
} |
Oops didn't mean to push here, sorry. |
I synced with main after patches were merged in #1708. There were still a few failures even with the latest CI setup that look genuine to me though. |
Well one problem is that libffi needs to be updated. I think we can just remove one of the compile flags from libffi since my port uses #ifdef to handle different fpcast options. |
…comes with argument counts
@rth Also, is there a way to manually flush all ccaches when merging this? I changed the compiler, so all caches need to be invalidated, but I think the cache invalidation mechanism only looks for changes in the source, not for changes in the compiler. |
Oh I think the problem might be that it uses up too much ram loading the AST for |
Another option would be to use a compiled language to parse the ast or something. Sounds annoying though. |
|
Normally it hashes Makefile.env for the cache key, so you should be OK. Otherwise you can bump the date in Line 47 in d2c6eca
Any way to process it with a generator without loading it all in memory? |
Ironically processing the human-readable AST made this a lot easier. But the best approach is probably to use |
… a trailing comma in argspec:
I think this is working now, but am having trouble with build timeouts. |
Closed in favor of #2019. |
This is a first attempt at removing fpcast from the build. Quite a lot of tests pass now, including numpy, scipy.
Closes #1577