Explorar el Código

kernel: remove recursion in context init.

Herbert Vojčík hace 7 años
padre
commit
94d878880a
Se han modificado 1 ficheros con 5 adiciones y 5 borrados
  1. 5 5
      support/kernel-runtime.js

+ 5 - 5
support/kernel-runtime.js

@@ -285,12 +285,12 @@ define(function () {
             this.index = index || 0;
         });
         defineMethod(SmalltalkMethodContext, "init", function () {
-            var home = this.homeContext;
-            if (home) {
-                home.init();
+            var frame = this;
+            while (frame) {
+                if (frame.init !== this.init) return frame.init();
+                frame.setup(frame);
+                frame = frame.homeContext;
             }
-
-            this.setup(this);
         });
         defineMethod(SmalltalkMethodContext, "method", function () {
             var method;