[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Sat Feb 27 20:54:08 CET 2010
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 10/02/27 20:54:08
Modified files:
cm3/m3-sys/m3back/src/: Codex86.m3 M3x86.m3 M3x86Rep.i3
Stackx86.m3
Log message:
IsInt => TypeIsSigned
IsWord => TypeIsUnsigned
Is64 => TypeIs64
TIntN.T{n := NUMBER(Target.Int), x := ...} => TIntN.T{x := ...}
n's default is NUMBER(Target.Int)
uint_type.size => typeBitSize (new local)
Modula-3 hides pointers vs. values from me, which normally
I think is syntacic inconvenience in C, "." vs. "->", I should
just be able to always say ".", but maybe there is a pointer after all
adjust comments to be less scary when they are about efficiency and
not correctness e.g. a few 64bit operations involving constants
generate function calls when they could/should be implemented inline
interesting point from a code size point of view though, is
that we could inline "everything", and a caller who doesn't like
the bloat could generally wrap up the operations in a function,
if they notice, though we have some obligation to be
efficient for people that don't bother looking
(specifically, we don't inline some things that Visual C++ does, e.g. rotate64,
and we do outline some things same as Visual C++ that processor manual
suggests inlining e.g. 64bit shifts)
GetOperandSize => OperandGetSize
I know the first one reads more like an English sentence, but
the second "scales" better I think, more mechanical
and higher odds of success to always say TypeOperation than
to find a nice English sentence
More information about the M3commit
mailing list