Bug 170027
| Summary: | Consider changing MachineThreads::m_registeredThreads to be a linked list of WTFThreadData. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Mark Lam <mark.lam> |
| Component: | JavaScriptCore | Assignee: | Yusuke Suzuki <ysuzuki> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | fpizlo, jfbastien, keith_miller, msaboff, saam, ysuzuki |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | 170502 | ||
| Bug Blocks: | |||
Mark Lam
Currently, MachineThreads instantiates MachineThreads::Thread (which is just a linked list node) that points to MachineThreads::ThreadData (a thread specific record that basically copies the content of WTFThreadData i.e. the stack bounds, and adds a few other things). In order to instantiate the MachineThreads::ThreadData, the code needs to consult (and thereby create) the WTFThreadData instance anyway.
If we can lower PlatformThread to the WTF layer (and unify it with whatever representation of a thread id we have there e.g. that which is returned by currentThread()), then we can add that to WTFThreadData. I think it is also fine to add the other platform specific MachineThreads::ThreadData fields to WTFThreadData as well.
Note: a side detail, we used to copy the stack bounds base and end. Instead, we can change MachineStackMarker.cpp to use StackBounds::contains() instead to check the stack bounds.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Yusuke Suzuki
MachineThreads are converted to WTF::ThreadGroup.