Thanks for your answer! I'm sorry if I wasn't clear. My question is more about "how can I make two program work on the same data?" rather than doing the exact same thing.
If I may take an example, say we have a loop working on 2 variables A and B. I'm creating another version of this loop, adding a variable C in it. I then have the original loop with A and B, the modified loop with A', B' and C. My problem is that the A' and B' variables from the modified loop never correspond to the original loop's A and B variables. Would it be possible to merge A with A' and B with B', have them share the same register/stack slot so that, no matter which loop is actually executed, the whole program may execute normally? Hope it helps to clarify On Monday, September 28, 2015 at 4:16:54 PM UTC+8, Ben Noordhuis wrote: > > On Mon, Sep 28, 2015 at 7:59 AM, Sylvain G <[email protected] > <javascript:>> wrote: > > Hi, > > > > I'm trying to modify V8's Crankshaft for a research project. > > > > So far I'm duplicating some parts of code at the Hydrogen level (mostly > > loops), and modifying them with different optimizations than the usual > > Crankshaft is doing. I still need the original version of the code as a > > fallback in case something goes wrong (don't want to deoptimize > everytime my > > modifications fail). > > > > My basic idea was to save/overwrite the right stackframe to restore the > > state after taking the modified branch. It doesn't work because because > the > > newly created variables in the duplicated code do not correspond with > the > > original ones. > > > > So here is my question: My modifications are sparse so I can handle them > > manually, but how to automatically match all the other variables? > > how can I ensure that both branches in the CFG (my version and the > original) > > use the same stack slots and same registers for the corresponding > variables? > > > > Or is there a better way to do this kind of thing at all? > > > > Any explanation/suggestion would be very welcome. > > Thanks, > > Sylvain > > I think that's going to be hard. If I understand your question right, > you are essentially asking "how can I make two different programs do > the same thing?" > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
