-
-
Notifications
You must be signed in to change notification settings - Fork 608
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
use ENTER instruction only for 16-bit codegen #5073
Conversation
|
This is not true for 16 bit code generation, which is still supported by the code generator. In addition, ENTER is shorter, and so is appropriate when being optimized for space, also supported by the code generator. It can't be removed wholesale. I'm not sure which CPU made ENTER slower, but the code generator supports quite a number of CPU specific optimizations from the 8088 (!) to the present. |
|
If ENTER appears in speed optimized code, then fix that and reopen this. |
|
D doesn't support 16 bit code anyway... can you at least like #ifdef it if this code is shared with dmc? (BTW I still kinda like dmc's 16 bit support, but dmd doesn't need it) |
|
16 bit in 2015? Are you joking? |
|
IIRC valgrind doesn't support ENTER/LEAVE, and its use was supposed to be removed (atleast on IA-32 & amd64) |
But dmc does, and the code generator is shared, and the dmc test suite does a lot of code gen checking that the dmd suite does not.
I've been trying to remove all the #ifdef's because I'd eventually like to convert the source code to D. Besides, I cannot identify any detriment to having a test for I16 here and there. |
One wonders why valgrind doesn't support the complete instruction set. |
dmc is the only compiler supporting DOS that is still maintained. There are users of it I support. |
22ee06e
to
7c5ade0
Compare
|
Updated to only use ENTER for 16-bit codegen. |
|
There's no reason to not use ENTER/LEAVE for 32/64 bit code when optimizing for space on Windows. Valgrind doesn't run on Windows, so Valgrind's bugs are irrelevant. |
No description provided.