I'm about 90% done getting rid of ExecState. Now ExecState and JSGlobalData are one and the same. I think it will be a speedup once I get the correctness issues resolved. This was inspired by Geoff, who suggested making ExecState be a call frame pointer. I think that's still a reasonable alternative; we can debate the pros and cons on Monday. The downside of ExecState being JSGlobalData is that you have to store the call frame pointer in a global as you make function calls. The upside is that you don't have to chase a pointer to get to global data. -- Darin
On Sep 28, 2008, at 7:43 PM, Darin Adler wrote:
I'm about 90% done getting rid of ExecState. Now ExecState and JSGlobalData are one and the same. I think it will be a speedup once I get the correctness issues resolved.
This was inspired by Geoff, who suggested making ExecState be a call frame pointer. I think that's still a reasonable alternative; we can debate the pros and cons on Monday.
The downside of ExecState being JSGlobalData is that you have to store the call frame pointer in a global as you make function calls. The upside is that you don't have to chase a pointer to get to global data.
By "a gobal" you mean "a field in JSGlobalData", right? Otherwise it's not threadsafe. - Maciej
On Sep 28, 2008, at 7:49 PM, Maciej Stachowiak wrote:
The downside of ExecState being JSGlobalData is that you have to store the call frame pointer in a global as you make function calls. The upside is that you don't have to chase a pointer to get to global data.
By "a global" you mean "a field in JSGlobalData", right?
Yes. -- Darin
FYI: I'm finishing up a patch that changes ExecState to hold just the current call frame pointer, not the current call frame pointer and the current scope chain. (I don't expect any substantive conflicts with your patch, though.) Geoff
Geoff and I talked more about this, and he convinced me that ExecState should be replaced by a pointer to the call frame pointer rather than a pointer to the global data. So I'll work with him on that. Most of the work I've already done is applicable for either. -- Darin
participants (3)
-
Darin Adler
-
Geoffrey Garen
-
Maciej Stachowiak