Re: [Scheme-reports] fresh empty strings Alaric Snell-Pym (23 Jan 2012 13:28 UTC)
Re: [Scheme-reports] fresh empty strings Andy Wingo (23 Jan 2012 15:23 UTC)
Re: [Scheme-reports] fresh empty strings Alaric Snell-Pym (23 Jan 2012 15:34 UTC)
Re: [Scheme-reports] fresh empty strings Ray Dillinger (23 Jan 2012 20:17 UTC)
Re: [Scheme-reports] fresh empty strings Andy Wingo (23 Jan 2012 20:52 UTC)
Re: [Scheme-reports] fresh empty strings John Cowan (23 Jan 2012 23:05 UTC)
Re: [Scheme-reports] fresh empty strings Vincent Manis (24 Jan 2012 01:02 UTC)
Re: [Scheme-reports] fresh empty strings John Cowan (24 Jan 2012 02:06 UTC)
Re: [Scheme-reports] fresh empty strings Alaric Snell-Pym (24 Jan 2012 09:37 UTC)
Re: [Scheme-reports] fresh empty strings John Cowan (24 Jan 2012 15:10 UTC)
Re: [Scheme-reports] fresh empty strings xacc.ide@gmail.com (24 Jan 2012 16:31 UTC)
Re: [Scheme-reports] fresh empty strings Per Bothner (24 Jan 2012 17:21 UTC)
Re: [Scheme-reports] fresh empty strings Andy Wingo (24 Jan 2012 17:00 UTC)
Re: [Scheme-reports] fresh empty strings Aubrey Jaffer (24 Jan 2012 02:16 UTC)

Re: [Scheme-reports] fresh empty strings Alaric Snell-Pym 23 Jan 2012 15:33 UTC

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/23/2012 03:03 PM, Andy Wingo wrote:
> On Mon 23 Jan 2012 14:27, Alaric Snell-Pym <alaric@snell-pym.org.uk> writes:
>
>> Short strings might be represented in a single SSE2 vector register or
>> something
>
> The point of this nit-pick is that this is impossible -- strings of one
> character *cannot* be immediates.

They might not be handled as immediates per se, there might be a 16-byte
bit of memory used for the value, and a pointer to that being the
canonical representation of the string, but that 16-byte bit of memory
might be aligned and formatted and whatnot correctly for it to be loaded
into an XMM register for string operations and the result written
back... and peephole optimisations to just pass the value about where
it's possible (no string mutations, entire data flow visible to the
compiler known, etc), discarding the reference to the string in memory.

Is that not possible?

But I digress - I've no idea if this would be a valuable optimisation at
all for anybody :-D

There's some argument for special representation for very short strings,
anyway, as lots of them might be used when READing and WRITEing symbols
and the like; rounding their size up to some machine register size and
canonically zeroing the unused space can make it quicker to compare them
on some architectures...

>
> Regards,
>
> Andy

ABS

- --
Alaric Snell-Pym
http://www.snell-pym.org.uk/alaric/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8dfa4ACgkQRgz/WHNxCGra6gCfXQN3IZIgg9yD7bSYaj8t6psW
YO0AmwVMIB4DeTwKM+3eO4do1mv7iGpX
=oMVN
-----END PGP SIGNATURE-----

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports