Index: src/heap.cc |
=================================================================== |
--- src/heap.cc (revision 3200) |
+++ src/heap.cc (working copy) |
@@ -3455,14 +3455,18 @@ |
} |
-void Heap::SetStackLimit(intptr_t limit) { |
+void Heap::SetStackLimits() { |
// On 64 bit machines, pointers are generally out of range of Smis. We write |
// something that looks like an out of range Smi to the GC. |
- // Set up the special root array entry containing the stack guard. |
- // This is actually an address, but the tag makes the GC ignore it. |
+ // Set up the special root array entries containing the stack limits. |
+ // These are actually addresses, but the tag makes the GC ignore it. |
roots_[kStackLimitRootIndex] = |
- reinterpret_cast<Object*>((limit & ~kSmiTagMask) | kSmiTag); |
+ reinterpret_cast<Object*>( |
+ (StackGuard::jslimit() & ~kSmiTagMask) | kSmiTag); |
+ roots_[kRealStackLimitRootIndex] = |
+ reinterpret_cast<Object*>( |
+ (StackGuard::real_jslimit() & ~kSmiTagMask) | kSmiTag); |
} |