I made some changes to the object access primitives to make them more ES5 compliants and remove the need for the assertions in non-debug mode. They are also more compliant in that the property names 0 and '0' now map to the same property, for example.
I was able to set the debug flag to false and run the bootstrap. The second Tachyon compilation took about 36 minutes. I didn't experience a crash, so I'm not sure what went wrong when Marc tried it. Hopefully, if there is something wrong with the generated code, we can discover it by adding more unit tests (e.g.: from the Mozilla suite).
Perhaps I will look into those if I have time tomorrow.
- Maxime
Afficher les réponses par date
On 2011-03-31, at 10:53 PM, chevalma@iro.umontreal.ca wrote:
I made some changes to the object access primitives to make them more ES5 compliants and remove the need for the assertions in non-debug mode. They are also more compliant in that the property names 0 and '0' now map to the same property, for example.
I was able to set the debug flag to false and run the bootstrap. The second Tachyon compilation took about 36 minutes. I didn't experience a crash, so I'm not sure what went wrong when Marc tried it. Hopefully, if there is something wrong with the generated code, we can discover it by adding more unit tests (e.g.: from the Mozilla suite).
Perhaps I will look into those if I have time tomorrow.
36 minutes is really good! That's about 2 times faster than before, so 6 times slower than V8.
Marc
36 minutes is really good! That's about 2 times faster than before, so 6 times slower than V8.
Pretty good indeed. Setting debug to false in the bootstrap config removes the assertions in all the Tachyon code, not just the primitives.
If we're only 6 times slower than V8 on the bootstrap, and removing the assertions makes such a big difference, it shouldn't be so hard to optimize the primitives to get more of a speedup.
- Maxime