Hi, I understand very well the need for a simulator. However I am an intern, and have only three months left to try to port v8 to MIPS. Right now I would rather work on porting v8 than make a simulator, since I still have a lot to do. If I can progress enough before ending my internship I will make a simulator, but right now this is not my priority.
Alexandre On Oct 29, 4:11 pm, Ivan Posva <[email protected]> wrote: > On Thu, Oct 29, 2009 at 16:32, Alexandre Rames <[email protected]> wrote: > > I have been working on actual MIPS boards; I have no MIPS simulator and I > > don't think I really have time to code one right now. > > Wouldn't it be possible to run v8 with qemu? > > Alexandre, > > While it might seem like extra work to write the simulator now, it is > actually much better for the maintainer of the MIPS port (you?) if > others can develop and run your code on their main machines without > have to resort to things like qemu. > I do hope that you are implementing a disassembler so that you can see > the code you are generating, the incremental step from the > disassembler to the simulator is minimal. As you can see when > comparing the ARM simulator to the ARM disassembler in V8 they share a > lot of the structure and the implementation of the simulator was very > incremental as more code came online. In an ideal situation your MIPS > assembler would use the same set of constants and accessors as the > disassembler/simulator when encoding the instructions. Only due to > historical reasons the ARM assembler in V8 does not. > > Another nice benefit of having the simulator while bringing up V8 on a > new architecture is the access to the builtin debugger. if you take a > look at the debugging support in the ARM simulator, it enables you to > call helper functions in the runtime which is generally almost > impossible in any of the embedded tool chains. > > I find that many developers (including me) will not bother to run any > of the tests on foreign architectures if the development is not easily > integrated into their development tools and workflow. Maintaining a > bootable qemu image is very much past that threshold and your MIPS > implementation will suffer from a lack of attention as did the ARM > implementation of V8 before we had a simulator. > > Additionally, this might surprise you, is the fact that the regression > test suite completes faster on the simulator than on actual ARM > hardware. This is due to the fact that most of the time running the > regression test suite is spent in C++ code which executes at native > x86 speeds when run with the ARM simulator. For a developer this is a > huge advantage as the turn around time is a lot quicker. As far as I > understand this is still way down the road for you at this point, but > it is a point to consider. > > Cheers, > -Ivan > > > > > On Thu, Oct 29, 2009 at 2:01 PM, Erik Corry <[email protected]> wrote: > > >> 2009/10/29 A.Rames <[email protected]>: > > >> > Hi, > > >> > I am ready to contribute the first MIPS patch. > >> > I gave the Corporate Contributor License Agreement to my manager and > >> > should send it soon. > > >> > I have 2 questions before contributing: > > >> > * As this is a patch to begin v8 port to MIPS, I don't know at all who > >> > should review this code. Should I just ask a review at chromium- > >> > [email protected] ? > > >> Better to send it to someone specific. Perhaps me or > >> [email protected]. If we don't have time we can find someone else to > >> do it. I hope you have gcl (the client for codereview.chromium.org) > >> running. > > >> > * I am currently working on the port and would like to submit some > >> > specific part of my work, which I think are advanced enough. For the > >> > first patch I'd like to give the assembler-mips files and the very few > >> > modification to architecture independent code (mainly pre-processor > >> > architecture checks to include the right files, and one change about > >> > memory alignment on MIPS). > >> > However I guess it would be nice for you to have other mips files, so > >> > that you can build the shell and easily test the mips assembler. As I > >> > am working on it these are unluckily not very clean, with a lots of > >> > stubs and partly implemented functions. > >> > I prepared a version of the code with very clean assembler-mips files, > >> > and with the JSEntryStub::GenerateBody function just containing a Jump > >> > (ra) to return to v8 code, which could be used to generate code and > >> > test it if you need to. > >> > So do you want me to send you all files or only files needing review? > > >> I'd like to see a minimal subset that can actually compile. It > >> doesn't matter that it doesn't run, and it doesn't matter that there > >> are stubbed out functions. I'd like to see some tests that test the > >> bits that you expect to work. If high level tests don't work yet, > >> then a test/cctest/test-assembler-mips.cc file that goes alongside the > >> other assembler test files is the right way to go. I would very much > >> like to see the disassembler and simulator keeping up with the > >> assembler so that the same tests can be run without MIPS hardware. > > >> > Regards. > > >> > Alexandre --~--~---------~--~----~------------~-------~--~----~ v8-users mailing list [email protected] http://groups.google.com/group/v8-users -~----------~----~----~----~------~----~------~--~---
