[dojo-contributors] IE6's stack may be smaller than you think

James Burke jburke at dojotoolkit.org
Thu Oct 28 19:20:45 EDT 2010

When I was doing the xdomain loader a few years ago, I did not run
into an IE6 stack issue, but rather a Safari (2 at the time, IIRC)
stack issue. So I had to change from a recursive call to a loop kind
of call. I felt like IE 6 was rather robust in comparison. It
certainly did more than 13. Safari 2's was more than 13 at the time.

It sounds like the specific stack overflow error has been solved though.


2010/10/28 Mark Hays <haysmark at us.ibm.com>:
> Another group tried to implement CommonJS just a few months back and hit the
> Stack Overflow in IE6 we are encountering with the new define() API for the
> loader (cf #11883):
> http://cappuccino.org/discuss/2010/03/01/internet-explorer-global-variables-and-stack-overflows/
> In their stupidly trivial example, they declared a recursive function,
> stored it on the window, and then called it. As few as 13 recursive calls to
> this function triggered a Stack Overflow error in IE6.
> On the other hand, when they stored the function in an object hanging off
> the window (read: dojo) the function could be called an arbitrarily large
> number of times recursively without fail.
> I mention this because I noticed we declare define() in a manner consistent
> with their example (we declare this.define where this==window), so I am
> wondering if there is another way to store define() so that it doesn't live
> on the window yet widget files that use it can get to it.
> _______________________________________________
> dojo-contributors mailing list
> dojo-contributors at mail.dojotoolkit.org
> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

More information about the dojo-contributors mailing list