599 |
|
|
600 |
3. Assembly |
3. Assembly |
601 |
|
|
602 |
When generating assemby, resolve the value of client defined constants, |
When generating assembly, resolve the value of client defined constants, |
603 |
instead of generating symbolic values. This is controlled by the |
instead of generating symbolic values. This is controlled by the |
604 |
new flag "asm-resolve-constants", which is default to true. |
new flag "asm-resolve-constants", which is default to true. |
605 |
|
|
622 |
|
|
623 |
To this end, I arranged that instead of "structure Core" as "structure |
To this end, I arranged that instead of "structure Core" as "structure |
624 |
_Core" is bound in the pervasive environment. Core access is done via |
_Core" is bound in the pervasive environment. Core access is done via |
625 |
_Core (which can never be accidentially rebound because _Core is not a |
_Core (which can never be accidentally rebound because _Core is not a |
626 |
legal surface-syntax symbol). |
legal surface-syntax symbol). |
627 |
|
|
628 |
The current solution is much cleaner because the core environment is |
The current solution is much cleaner because the core environment is |
632 |
with dynamic and symbolic parts of the core environment. |
with dynamic and symbolic parts of the core environment. |
633 |
|
|
634 |
Remaining hackery (to bind the "magic" symbol _Core) is localized in the |
Remaining hackery (to bind the "magic" symbol _Core) is localized in the |
635 |
compilation mananger's bootstrap compiler (actually: in the "init group" |
compilation manager's bootstrap compiler (actually: in the "init group" |
636 |
handling). See the comments in src/system/smlnj/init/init.cmi for |
handling). See the comments in src/system/smlnj/init/init.cmi for |
637 |
more details. |
more details. |
638 |
|
|
747 |
(specified in the .cm file at each instance where the tool's class is |
(specified in the .cm file at each instance where the tool's class is |
748 |
used). |
used). |
749 |
|
|
750 |
This was done to accomodate the new "make" and "shell" tools which |
This was done to accommodate the new "make" and "shell" tools which |
751 |
facilitate fairly seemless hookup to portions of code managed using |
facilitate fairly seamless hookup to portions of code managed using |
752 |
Makefiles or Shell scripts. |
Makefiles or Shell scripts. |
753 |
|
|
754 |
There are no classes "shared" or "private" anymore. Instead, the |
There are no classes "shared" or "private" anymore. Instead, the |
760 |
|
|
761 |
All existing tools are described in the CM manual. |
All existing tools are described in the CM manual. |
762 |
|
|
763 |
- Slightly better error handling. (CM now surpresses many followup |
- Slightly better error handling. (CM now suppresses many followup |
764 |
error messages that tended to be more annoying than helpful.) |
error messages that tended to be more annoying than helpful.) |
765 |
|
|
766 |
2. Major changes to the compiler's static environment data structures. |
2. Major changes to the compiler's static environment data structures. |
894 |
|
|
895 |
I've changed andl to testl in the floating point test sequence |
I've changed andl to testl in the floating point test sequence |
896 |
whenever appropriate. The Intel optimization guide states that |
whenever appropriate. The Intel optimization guide states that |
897 |
testl is perferable to andl. |
testl is preferable to andl. |
898 |
|
|
899 |
7. RA (x86 only) |
7. RA (x86 only) |
900 |
|
|
1076 |
|
|
1077 |
1. Tools.registerStdShellCmdTool (from smlnj/cm/tool.cm) takes an |
1. Tools.registerStdShellCmdTool (from smlnj/cm/tool.cm) takes an |
1078 |
additional argument called "template" which is an optional string that |
additional argument called "template" which is an optional string that |
1079 |
specifiel the layout of the tool command line. See the CM manual for |
specifies the layout of the tool command line. See the CM manual for |
1080 |
explanation. |
explanation. |
1081 |
|
|
1082 |
2. A special-purpose tool can be "regisitered" by simply dropping the |
2. A special-purpose tool can be "registered" by simply dropping the |
1083 |
corresponding <...>-tool.cm (and/or <...>-ext.cm) into the same |
corresponding <...>-tool.cm (and/or <...>-ext.cm) into the same |
1084 |
directory where the .cm file lives that uses this tool. (The |
directory where the .cm file lives that uses this tool. (The |
1085 |
behavior/misfeature until now was to look for the tool description |
behavior/misfeature until now was to look for the tool description |
1123 |
rebuild. Having sets of the form <base><k>.{bin,boot}.<arch>-unix for |
rebuild. Having sets of the form <base><k>.{bin,boot}.<arch>-unix for |
1124 |
<k>=1,2,... is normally not a good idea when invoking fixpt. However, |
<k>=1,2,... is normally not a good idea when invoking fixpt. However, |
1125 |
they might be the result of an earlier partial run of fixpt (which |
they might be the result of an earlier partial run of fixpt (which |
1126 |
perhaps got accidentially killed). In this case, fixpt will quickly |
perhaps got accidentally killed). In this case, fixpt will quickly |
1127 |
move through what exists before continuing where it left off earlier, |
move through what exists before continuing where it left off earlier, |
1128 |
and, thus, saves a lot of time. |
and, thus, saves a lot of time. |
1129 |
|
|
1173 |
it from that remote directory. |
it from that remote directory. |
1174 |
This should simplify installation further: For machines that have |
This should simplify installation further: For machines that have |
1175 |
access to the internet, just fetch <version>-config.tgz, unpack it, |
access to the internet, just fetch <version>-config.tgz, unpack it, |
1176 |
edit config/targets, and go (run config/install.sh). The scipt will |
edit config/targets, and go (run config/install.sh). The script will |
1177 |
fetch everything else that it might need all by itself. |
fetch everything else that it might need all by itself. |
1178 |
|
|
1179 |
For CVS users, this mechanism is not relevant for source archives, but |
For CVS users, this mechanism is not relevant for source archives, but |