Related articles |
---|
[3 earlier articles] |
Re: how to generate code for (a,b):=(b,a) bart@time.cirl.uoregon.edu (1997-05-08) |
Re: how to generate code for (a,b):=(b,a) Robert.Harley@inria.fr (1997-05-08) |
Re: how to generate code for (a,b):=(b,a) dlmoore@ix.netcom.com (David L Moore) (1997-05-08) |
Re: how to generate code for (a,b):=(b,a) preston@cs.rice.edu (1997-05-08) |
Re: how to generate code for (a,b):=(b,a) cliffc@risc.sps.mot.com (Cliff Click) (1997-05-12) |
Re: how to generate code for (a,b):=(b,a) wilson@cs.utexas.edu (1997-05-12) |
Re: how to generate code for (a,b):=(b,a) tim@wfn-shop.Princeton.EDU (1997-05-13) |
Re: how to generate code for (a,b):=(b,a) cdg@nullstone.com (Christopher Glaeser) (1997-05-13) |
Re: how to generate code for (a,b):=(b,a) genew@vip.net (1997-05-13) |
Re: how to generate code for (a,b):=(b,a) bobduff@world.std.com (1997-05-13) |
Re: how to generate code for (a,b):=(b,a) will@ccs.neu.edu (William D Clinger) (1997-05-17) |
Re: how to generate code for (a,b):=(b,a) wilson@cs.utexas.edu (1997-05-17) |
Re: how to generate code for (a,b):=(b,a) boehm@mti.mti.sgi.com (Hans-Juergen Boehm) (1997-05-17) |
[8 later articles] |
From: | tim@wfn-shop.Princeton.EDU |
Newsgroups: | comp.compilers |
Date: | 13 May 1997 22:46:10 -0400 |
Organization: | Chemistry Department, Princeton University |
References: | 97-05-058 97-05-129 97-05-148 |
Keywords: | code |
>When you don't have any free registers, it should be possible to achieve
>the same result with a series of xors instead of moves. For example, two
>registers can be exchanged with the sequence:
> xor a,b
> xor b,a
> xor a,b
wilson@cs.utexas.edu writes:
> This is very likely to confuse a conservative garbage collector if
> these are pointer variables. I'd hope that compiler writers wouldn't
> use such optimizations casually, especially if they're not clearly
> better than the alternatives.
That's not a problem in this case unless the GC is running as a
preemptive thread and can get control in the middle of the xors though
right? Before and after the sequence, a and b contain valid pointers;
only in the middle to wierd split pointers appear. I don't see any
reason why Boehm's GC would have a problem with this construct.
--
Tim Hollebeek |
Electron Psychologist |
Princeton University | email: tim@wfn-shop.princeton.edu
----------------------| http://wfn-shop.princeton.edu/~tim (NEW! IMPROVED!)
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.