This is a template for you to fill out before writing a port. If you write a port without filling out this form, please do not be surprised if we reject it.
Once this form is filled, post it on the spidermonkey discourse for discussion, or email it to your contacts on the SpiderMonkey team.
If the answer to any of the next two questions is “no”, then we will not be able to accept the port:
< your answer here >
< your answer here >
If either of the above questions is “no”, it will result in a highly invasive port. We cannot accept it.
This could be about data representations, flag bits, atomics, special registers, special constraints on registers, and things of that nature. It could also be if it is 32 bit.
< your answer here >
Do you expect that changes will be needed to the design or architecture of the JITs to support this architecture? Or would you be ok without JIT support?
< your answer here >
Relevant information may be:
- A proof of concept / prototype demonstrating the complexity of the port
- A detailed analysis of the SpiderMonkey codebase and target architecture.
- Whether the port is similar to existing third-party SpiderMonkey ports.
< your answer here >
SpiderMonkey is an actively developed project, the SpiderMonkey team is not responsible for independent ports. Maintaining a port requires multiple hours per week of dedicated work. At times, when larger changes are made to the engine, this may grow to several days to several weeks. To make sure the port is successful, we want to understand what resources you have available to maintain it.
< your answer here >
< your answer here >
< your answer here >
Relevant information might be:
- The port has funding
- You have experience maintaining similar size projects
- You are involved in developing spidermonkey in general
< your answer here >
Finally, we want to understand what communities this port serves. It helps us determine the relevance and the importance of the work
< your answer here >
< your answer here >
< your answer here >
< your answer here >
Relevant information may be:
- Planned work not captured by the above questions
< your answer here >
< your answer here >
Once this form is filled, post it on the spidermonkey discourse for discussion