Ivan, having a common simulator base class and subclasses for ARM and Thumb2 turned out to be more tricky than expected. I have started creating a common base class for the thumb2 and arm simulator (in a separate svn client), but I would also need to add common base classes for the debugger and disassembler. Moreover, I no longer think this can be done in a reasonable way without adding virtual methods, due to the way how the classes interact.
Maybe a better way to avoid the code duplication in the simulator would be to add thumb2 support to the existing simulator / debugger / disassembler? Alternatively, we could keep the duplication for now, and remove ARM support from the Thumb2 simulator later, when we have implemented full Thumb2 support in the assembler. I think I would prefer an integrated simulator. Stefan On Tue, Feb 16, 2010 at 12:21 PM, Stefan Haustein <[email protected]>wrote: > On Tue, Feb 16, 2010 at 6:51 AM, <[email protected]> wrote: > >> I guess I do not understand the motivation to add a complete duplicate >> copy of >> the simulator to the system. Can you please elaborate your plans in that >> respect? >> > > The plan was to keep the new stuff completely separate for now, given that > we may want to replace ARM code generation with Thumb2 code generation at > some point. Keeping the simulators separate would also minimize interference > with the existing ARM code while working on Thumb2. > > However, I am happy to extract the common simulator code to a shared base > class, or to just add Thumb2 support to the existing ARM simulator. I think > I would prefer a common base class for now. A common base class would reduce > the duplicated code significantly while keeping interference between T2 and > ARM development minimal. And we would not need virtual methods, so it should > not have any performance impact. > > Stefan > > >> Thanks, >> -Ivan >> >> >> >> http://codereview.chromium.org/601028 >> > > > > -- > Stefan Haustein > Google UK Limited > > Registered Office: Belgrave House, 76 Buckingham Palace Road, London SW1W > 9TQ; Registered in England Number: 3977902 > > -- Stefan Haustein Google UK Limited Registered Office: Belgrave House, 76 Buckingham Palace Road, London SW1W 9TQ; Registered in England Number: 3977902 -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
