Changeset 34020 in webkit
- Timestamp:
- May 22, 2008 1:37:35 AM (16 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r34017 r34020 1 2008-05-22 Geoffrey Garen <ggaren@apple.com> 2 3 Reviewed by Adam Roben. 4 5 Removed the old recursion guard mechanism, since squirrelfish has its 6 own mechanism. Also removed some old JS call tracing code, since we 7 have other ways to do that, too. 8 9 SunSpider reports no change. 10 11 * kjs/object.cpp: 12 (KJS::JSObject::call): 13 1 14 2008-05-22 Maciej Stachowiak <mjs@apple.com> 2 15 -
trunk/JavaScriptCore/kjs/object.cpp
r33979 r34020 35 35 #include <wtf/Assertions.h> 36 36 37 // maximum global call stack size. Protects against accidental or38 // malicious infinite recursions. Define to -1 if you want no limit.39 // In real-world testing it appears ok to bump the stack depth count to 500.40 // This of course is dependent on stack frame size.41 #define KJS_MAX_STACK 50042 43 #define JAVASCRIPT_CALL_TRACING 044 37 #define JAVASCRIPT_MARK_TRACING 0 45 38 46 #if JAVASCRIPT_CALL_TRACING47 static bool _traceJavaScript = false;48 49 extern "C" {50 void setTraceJavaScript(bool f)51 {52 _traceJavaScript = f;53 }54 55 static bool traceJavaScript()56 {57 return _traceJavaScript;58 }59 }60 #endif61 62 39 namespace KJS { 63 40 … … 67 44 { 68 45 ASSERT(implementsCall()); 69 70 #if KJS_MAX_STACK > 071 static int depth = 0; // sum of all extant function calls72 73 #if JAVASCRIPT_CALL_TRACING74 static bool tracing = false;75 if (traceJavaScript() && !tracing) {76 tracing = true;77 for (int i = 0; i < depth; i++)78 putchar (' ');79 printf ("*** calling: %s\n", toString(exec).ascii());80 for (int j = 0; j < args.size(); j++) {81 for (int i = 0; i < depth; i++)82 putchar (' ');83 printf ("*** arg[%d] = %s\n", j, args[j]->toString(exec).ascii());84 }85 tracing = false;86 }87 #endif88 89 if (++depth > KJS_MAX_STACK) {90 --depth;91 return throwError(exec, RangeError, "Maximum call stack size exceeded.");92 }93 #endif94 46 95 47 #if JAVASCRIPT_PROFILING … … 101 53 #if JAVASCRIPT_PROFILING 102 54 Profiler::profiler()->didExecute(exec, this); 103 #endif104 105 106 #if KJS_MAX_STACK > 0107 --depth;108 #endif109 110 #if JAVASCRIPT_CALL_TRACING111 if (traceJavaScript() && !tracing) {112 tracing = true;113 for (int i = 0; i < depth; i++)114 putchar (' ');115 printf ("*** returning: %s\n", ret->toString(exec).ascii());116 tracing = false;117 }118 55 #endif 119 56
Note: See TracChangeset
for help on using the changeset viewer.