I'm currently looking at the source code for WINCE port.
And I have two questions regarding to the JavaScriptCore.

1.

In Collector.cpp, getStackBase() scans through the memory pages using 
IsPageWritable() to guess the base of the stack.
But isn't it more precise to use GetThreadCallStack() instead?
By using GetThreadCallStack(), one can get all the stack frames. The 
CallSnapshotEx structure which is filled by GetThreadCallStack() for each stack 
frame has dwFramePtr member, and that member's value of the last stack frame 
can be used to indicate the base of the stack of the thread.

Has GetThreadCallStack() been considered and decided not to be used?
Maybe the performance issue?

2.

In WINCE port, ENABLE_JSC_MULTIPLE_THREADS is set to 0 so JavaScriptCore's 
multithreading feature is disabled.
What is the reason to disable it?

For ARM processor, I tried to fill some platform-specific portion in 
Collector.cpp for WINCE, and after that, it was compiled successfully with 
ENABLE_JSC_MULTIPLE_THREADS set to 1. (getStackBase() mentioned above must be 
changed not to use global variables for this). But I haven't tested it since I 
cannot build the remaining modules for WINCE port(WebCore, WebKit etc.) for now.
Is there any complex problems? (Maybe the performance issue?)

Thanks in advance.

-----------
Taeyun Kim
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to