Closed
Bug 456054
Opened 16 years ago
Closed 16 years ago
TC uses fixed 512K stack for all platforms except windows
Categories
(Tamarin Graveyard :: Virtual Machine, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: lhansen, Assigned: lhansen)
References
Details
Attachments
(1 file)
7.96 KB,
patch
|
edwsmith
:
review+
|
Details | Diff | Splinter Review |
See Shell::computeStackBase in avmshell.cpp. A hard limit is wrong on every system - on small systems it's too high, on large systems too low. Presumably products incorporating TC does better, but we should do better for the shell too.
Assignee | ||
Comment 1•16 years ago
|
||
The Windows code is OK. On Mac and Linux we should use getrlimit(). This has anyway been factored into the platform layer.
Blocks: 487199
Assignee | ||
Comment 2•16 years ago
|
||
The fix has several aspects:
- Platform::getStackBase is renamed as Platform::getMainThreadStackLimit (all
together now, this does not make sense on a thread stack) and is given
proper documentation about that and other things
- On Mac and Unix, the code that creates the Platform object passes in an
estimate of the stack base (highest address) so that the above mentioned
method will have something to work from
- The method implementations on Mac and Unix use the Posix getrlimit() system
call to obtain the stack size, and computes the true stack limit based on
the stack base and the stack size
- On /all/ platforms, a /standardized/ slop for native code is added to the
limit. We know this slop not to be as good as it needs to be (because we
don't know how much space native code might need, for one thing) but it's
better to do it the same way across the board than differently on different
platforms.
Updated•16 years ago
|
Attachment #374603 -
Flags: review?(edwsmith) → review+
Assignee | ||
Comment 3•16 years ago
|
||
redux changeset: 1793:45a3367b83b4
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Updated•15 years ago
|
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•