Title: [114317] trunk
Revision
114317
Author
commit-qu...@webkit.org
Date
2012-04-16 16:37:40 -0700 (Mon, 16 Apr 2012)

Log Message

Unreviewed, rolling out r114309.
http://trac.webkit.org/changeset/114309
https://bugs.webkit.org/show_bug.cgi?id=84097

it broke everything (Requested by olliej on #webkit).

Patch by Sheriff Bot <webkit.review....@gmail.com> on 2012-04-16

Source/_javascript_Core:

* _javascript_Core.vcproj/_javascript_Core/_javascript_Core.def:
* bytecode/CodeBlock.h:
* dfg/DFGOperations.cpp:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::throwException):
* interpreter/Interpreter.h:
(Interpreter):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* jsc.cpp:
(functionJSCStack):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::handleHostCall):
* parser/Parser.h:
(JSC::::parse):
* runtime/Error.cpp:
(JSC::addErrorInfo):
(JSC::throwError):
* runtime/Error.h:
(JSC):

LayoutTests:

* fast/js/exception-properties-expected.txt:
* fast/js/script-tests/exception-properties.js:
* fast/js/script-tests/stack-trace.js:
(selfRecursive1):
* fast/js/stack-trace-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (114316 => 114317)


--- trunk/LayoutTests/ChangeLog	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/LayoutTests/ChangeLog	2012-04-16 23:37:40 UTC (rev 114317)
@@ -1,3 +1,17 @@
+2012-04-16  Sheriff Bot  <webkit.review....@gmail.com>
+
+        Unreviewed, rolling out r114309.
+        http://trac.webkit.org/changeset/114309
+        https://bugs.webkit.org/show_bug.cgi?id=84097
+
+        it broke everything (Requested by olliej on #webkit).
+
+        * fast/js/exception-properties-expected.txt:
+        * fast/js/script-tests/exception-properties.js:
+        * fast/js/script-tests/stack-trace.js:
+        (selfRecursive1):
+        * fast/js/stack-trace-expected.txt:
+
 2012-04-16  Vincent Scheib  <sch...@chromium.org>
 
         [Chromium] Rebaseline continued from xji's rebase after r114267.

Modified: trunk/LayoutTests/fast/js/exception-properties-expected.txt (114316 => 114317)


--- trunk/LayoutTests/fast/js/exception-properties-expected.txt	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/LayoutTests/fast/js/exception-properties-expected.txt	2012-04-16 23:37:40 UTC (rev 114317)
@@ -4,7 +4,7 @@
 
 
 PASS enumerableProperties(error) is []
-PASS enumerableProperties(nativeError) is ["stack", "line", "sourceURL"]
+PASS enumerableProperties(nativeError) is ["line", "sourceURL", "stack"]
 PASS Object.getPrototypeOf(nativeError).name is "RangeError"
 PASS Object.getPrototypeOf(nativeError).message is ""
 PASS successfullyParsed is true

Modified: trunk/LayoutTests/fast/js/script-tests/exception-properties.js (114316 => 114317)


--- trunk/LayoutTests/fast/js/script-tests/exception-properties.js	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/LayoutTests/fast/js/script-tests/exception-properties.js	2012-04-16 23:37:40 UTC (rev 114317)
@@ -16,7 +16,7 @@
     var error = new Error("message");
 
     shouldBe('enumerableProperties(error)', '[]');
-    shouldBe('enumerableProperties(nativeError)', '["stack", "line", "sourceURL"]');
+    shouldBe('enumerableProperties(nativeError)', '["line", "sourceURL", "stack"]');
 
     shouldBe('Object.getPrototypeOf(nativeError).name', '"RangeError"');
     shouldBe('Object.getPrototypeOf(nativeError).message', '""');

Modified: trunk/LayoutTests/fast/js/script-tests/stack-trace.js (114316 => 114317)


--- trunk/LayoutTests/fast/js/script-tests/stack-trace.js	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/LayoutTests/fast/js/script-tests/stack-trace.js	2012-04-16 23:37:40 UTC (rev 114317)
@@ -49,10 +49,10 @@
 try { scripterInner(); } catch (e) { printStack(e.stack) }                   // program -> scripter -> inner
 try { scripterOuter(); } catch (e) { printStack(e.stack) }                   // program -> scripter -> outer -> inner
 
-function selfRecursive1() { selfRecursive1();
+function selfRecursive1() {
+    selfRecursive1();
 }
 
-
 try { selfRecursive1(); } catch (e) { printStack(e.stack) }                   // selfRecursive1 -> selfRecursive1 -> selfRecursive1 -> selfRecursive1 ...
 
 function selfRecursive2() {

Modified: trunk/LayoutTests/fast/js/stack-trace-expected.txt (114316 => 114317)


--- trunk/LayoutTests/fast/js/stack-trace-expected.txt	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/LayoutTests/fast/js/stack-trace-expected.txt	2012-04-16 23:37:40 UTC (rev 114317)
@@ -33,9 +33,8 @@
     2   global code at stack-trace.js:44
 
 --> Stack Trace:
-    0   appendChild at [native code]
-    1   hostThrower at stack-trace.js:25
-    2   global code at stack-trace.js:47
+    0   hostThrower at stack-trace.js:25
+    1   global code at stack-trace.js:47
 
 --> Stack Trace:
     0   htmlInner at stack-trace.html:10
@@ -49,109 +48,109 @@
     3   global code at stack-trace.js:50
 
 --> Stack Trace:
-    0   selfRecursive1 at stack-trace.js:52
-    1   selfRecursive1 at stack-trace.js:52
-    2   selfRecursive1 at stack-trace.js:52
-    3   selfRecursive1 at stack-trace.js:52
-    4   selfRecursive1 at stack-trace.js:52
-    5   selfRecursive1 at stack-trace.js:52
-    6   selfRecursive1 at stack-trace.js:52
-    7   selfRecursive1 at stack-trace.js:52
-    8   selfRecursive1 at stack-trace.js:52
-    9   selfRecursive1 at stack-trace.js:52
-    10   selfRecursive1 at stack-trace.js:52
-    11   selfRecursive1 at stack-trace.js:52
-    12   selfRecursive1 at stack-trace.js:52
-    13   selfRecursive1 at stack-trace.js:52
-    14   selfRecursive1 at stack-trace.js:52
-    15   selfRecursive1 at stack-trace.js:52
-    16   selfRecursive1 at stack-trace.js:52
-    17   selfRecursive1 at stack-trace.js:52
-    18   selfRecursive1 at stack-trace.js:52
-    19   selfRecursive1 at stack-trace.js:52
-    20   selfRecursive1 at stack-trace.js:52
-    21   selfRecursive1 at stack-trace.js:52
-    22   selfRecursive1 at stack-trace.js:52
-    23   selfRecursive1 at stack-trace.js:52
-    24   selfRecursive1 at stack-trace.js:52
-    25   selfRecursive1 at stack-trace.js:52
-    26   selfRecursive1 at stack-trace.js:52
-    27   selfRecursive1 at stack-trace.js:52
-    28   selfRecursive1 at stack-trace.js:52
-    29   selfRecursive1 at stack-trace.js:52
-    30   selfRecursive1 at stack-trace.js:52
-    31   selfRecursive1 at stack-trace.js:52
-    32   selfRecursive1 at stack-trace.js:52
-    33   selfRecursive1 at stack-trace.js:52
-    34   selfRecursive1 at stack-trace.js:52
-    35   selfRecursive1 at stack-trace.js:52
-    36   selfRecursive1 at stack-trace.js:52
-    37   selfRecursive1 at stack-trace.js:52
-    38   selfRecursive1 at stack-trace.js:52
-    39   selfRecursive1 at stack-trace.js:52
-    40   selfRecursive1 at stack-trace.js:52
-    41   selfRecursive1 at stack-trace.js:52
-    42   selfRecursive1 at stack-trace.js:52
-    43   selfRecursive1 at stack-trace.js:52
-    44   selfRecursive1 at stack-trace.js:52
-    45   selfRecursive1 at stack-trace.js:52
-    46   selfRecursive1 at stack-trace.js:52
-    47   selfRecursive1 at stack-trace.js:52
-    48   selfRecursive1 at stack-trace.js:52
-    49   selfRecursive1 at stack-trace.js:52
-    50   selfRecursive1 at stack-trace.js:52
-    51   selfRecursive1 at stack-trace.js:52
-    52   selfRecursive1 at stack-trace.js:52
-    53   selfRecursive1 at stack-trace.js:52
-    54   selfRecursive1 at stack-trace.js:52
-    55   selfRecursive1 at stack-trace.js:52
-    56   selfRecursive1 at stack-trace.js:52
-    57   selfRecursive1 at stack-trace.js:52
-    58   selfRecursive1 at stack-trace.js:52
-    59   selfRecursive1 at stack-trace.js:52
-    60   selfRecursive1 at stack-trace.js:52
-    61   selfRecursive1 at stack-trace.js:52
-    62   selfRecursive1 at stack-trace.js:52
-    63   selfRecursive1 at stack-trace.js:52
-    64   selfRecursive1 at stack-trace.js:52
-    65   selfRecursive1 at stack-trace.js:52
-    66   selfRecursive1 at stack-trace.js:52
-    67   selfRecursive1 at stack-trace.js:52
-    68   selfRecursive1 at stack-trace.js:52
-    69   selfRecursive1 at stack-trace.js:52
-    70   selfRecursive1 at stack-trace.js:52
-    71   selfRecursive1 at stack-trace.js:52
-    72   selfRecursive1 at stack-trace.js:52
-    73   selfRecursive1 at stack-trace.js:52
-    74   selfRecursive1 at stack-trace.js:52
-    75   selfRecursive1 at stack-trace.js:52
-    76   selfRecursive1 at stack-trace.js:52
-    77   selfRecursive1 at stack-trace.js:52
-    78   selfRecursive1 at stack-trace.js:52
-    79   selfRecursive1 at stack-trace.js:52
-    80   selfRecursive1 at stack-trace.js:52
-    81   selfRecursive1 at stack-trace.js:52
-    82   selfRecursive1 at stack-trace.js:52
-    83   selfRecursive1 at stack-trace.js:52
-    84   selfRecursive1 at stack-trace.js:52
-    85   selfRecursive1 at stack-trace.js:52
-    86   selfRecursive1 at stack-trace.js:52
-    87   selfRecursive1 at stack-trace.js:52
-    88   selfRecursive1 at stack-trace.js:52
-    89   selfRecursive1 at stack-trace.js:52
-    90   selfRecursive1 at stack-trace.js:52
-    91   selfRecursive1 at stack-trace.js:52
-    92   selfRecursive1 at stack-trace.js:52
-    93   selfRecursive1 at stack-trace.js:52
-    94   selfRecursive1 at stack-trace.js:52
-    95   selfRecursive1 at stack-trace.js:52
-    96   selfRecursive1 at stack-trace.js:52
-    97   selfRecursive1 at stack-trace.js:52
-    98   selfRecursive1 at stack-trace.js:52
-    99   selfRecursive1 at stack-trace.js:52
+    0   selfRecursive1 at stack-trace.js:53
+    1   selfRecursive1 at stack-trace.js:53
+    2   selfRecursive1 at stack-trace.js:53
+    3   selfRecursive1 at stack-trace.js:53
+    4   selfRecursive1 at stack-trace.js:53
+    5   selfRecursive1 at stack-trace.js:53
+    6   selfRecursive1 at stack-trace.js:53
+    7   selfRecursive1 at stack-trace.js:53
+    8   selfRecursive1 at stack-trace.js:53
+    9   selfRecursive1 at stack-trace.js:53
+    10   selfRecursive1 at stack-trace.js:53
+    11   selfRecursive1 at stack-trace.js:53
+    12   selfRecursive1 at stack-trace.js:53
+    13   selfRecursive1 at stack-trace.js:53
+    14   selfRecursive1 at stack-trace.js:53
+    15   selfRecursive1 at stack-trace.js:53
+    16   selfRecursive1 at stack-trace.js:53
+    17   selfRecursive1 at stack-trace.js:53
+    18   selfRecursive1 at stack-trace.js:53
+    19   selfRecursive1 at stack-trace.js:53
+    20   selfRecursive1 at stack-trace.js:53
+    21   selfRecursive1 at stack-trace.js:53
+    22   selfRecursive1 at stack-trace.js:53
+    23   selfRecursive1 at stack-trace.js:53
+    24   selfRecursive1 at stack-trace.js:53
+    25   selfRecursive1 at stack-trace.js:53
+    26   selfRecursive1 at stack-trace.js:53
+    27   selfRecursive1 at stack-trace.js:53
+    28   selfRecursive1 at stack-trace.js:53
+    29   selfRecursive1 at stack-trace.js:53
+    30   selfRecursive1 at stack-trace.js:53
+    31   selfRecursive1 at stack-trace.js:53
+    32   selfRecursive1 at stack-trace.js:53
+    33   selfRecursive1 at stack-trace.js:53
+    34   selfRecursive1 at stack-trace.js:53
+    35   selfRecursive1 at stack-trace.js:53
+    36   selfRecursive1 at stack-trace.js:53
+    37   selfRecursive1 at stack-trace.js:53
+    38   selfRecursive1 at stack-trace.js:53
+    39   selfRecursive1 at stack-trace.js:53
+    40   selfRecursive1 at stack-trace.js:53
+    41   selfRecursive1 at stack-trace.js:53
+    42   selfRecursive1 at stack-trace.js:53
+    43   selfRecursive1 at stack-trace.js:53
+    44   selfRecursive1 at stack-trace.js:53
+    45   selfRecursive1 at stack-trace.js:53
+    46   selfRecursive1 at stack-trace.js:53
+    47   selfRecursive1 at stack-trace.js:53
+    48   selfRecursive1 at stack-trace.js:53
+    49   selfRecursive1 at stack-trace.js:53
+    50   selfRecursive1 at stack-trace.js:53
+    51   selfRecursive1 at stack-trace.js:53
+    52   selfRecursive1 at stack-trace.js:53
+    53   selfRecursive1 at stack-trace.js:53
+    54   selfRecursive1 at stack-trace.js:53
+    55   selfRecursive1 at stack-trace.js:53
+    56   selfRecursive1 at stack-trace.js:53
+    57   selfRecursive1 at stack-trace.js:53
+    58   selfRecursive1 at stack-trace.js:53
+    59   selfRecursive1 at stack-trace.js:53
+    60   selfRecursive1 at stack-trace.js:53
+    61   selfRecursive1 at stack-trace.js:53
+    62   selfRecursive1 at stack-trace.js:53
+    63   selfRecursive1 at stack-trace.js:53
+    64   selfRecursive1 at stack-trace.js:53
+    65   selfRecursive1 at stack-trace.js:53
+    66   selfRecursive1 at stack-trace.js:53
+    67   selfRecursive1 at stack-trace.js:53
+    68   selfRecursive1 at stack-trace.js:53
+    69   selfRecursive1 at stack-trace.js:53
+    70   selfRecursive1 at stack-trace.js:53
+    71   selfRecursive1 at stack-trace.js:53
+    72   selfRecursive1 at stack-trace.js:53
+    73   selfRecursive1 at stack-trace.js:53
+    74   selfRecursive1 at stack-trace.js:53
+    75   selfRecursive1 at stack-trace.js:53
+    76   selfRecursive1 at stack-trace.js:53
+    77   selfRecursive1 at stack-trace.js:53
+    78   selfRecursive1 at stack-trace.js:53
+    79   selfRecursive1 at stack-trace.js:53
+    80   selfRecursive1 at stack-trace.js:53
+    81   selfRecursive1 at stack-trace.js:53
+    82   selfRecursive1 at stack-trace.js:53
+    83   selfRecursive1 at stack-trace.js:53
+    84   selfRecursive1 at stack-trace.js:53
+    85   selfRecursive1 at stack-trace.js:53
+    86   selfRecursive1 at stack-trace.js:53
+    87   selfRecursive1 at stack-trace.js:53
+    88   selfRecursive1 at stack-trace.js:53
+    89   selfRecursive1 at stack-trace.js:53
+    90   selfRecursive1 at stack-trace.js:53
+    91   selfRecursive1 at stack-trace.js:53
+    92   selfRecursive1 at stack-trace.js:53
+    93   selfRecursive1 at stack-trace.js:53
+    94   selfRecursive1 at stack-trace.js:53
+    95   selfRecursive1 at stack-trace.js:53
+    96   selfRecursive1 at stack-trace.js:53
+    97   selfRecursive1 at stack-trace.js:53
+    98   selfRecursive1 at stack-trace.js:53
+    99   selfRecursive1 at stack-trace.js:53
 
 --> Stack Trace:
-    0   selfRecursive2 at stack-trace.js:58
+    0   selfRecursive2 at stack-trace.js:62
     1   selfRecursive2 at stack-trace.js:62
     2   selfRecursive2 at stack-trace.js:62
     3   selfRecursive2 at stack-trace.js:62
@@ -253,106 +252,106 @@
     99   selfRecursive2 at stack-trace.js:62
 
 --> Stack Trace:
-    0   eval at [native code]
-    1   selfRecursive3 at stack-trace.js:69
-    2    at eval code
-    3   eval at [native code]
-    4   selfRecursive3 at stack-trace.js:69
-    5    at eval code
-    6   eval at [native code]
-    7   selfRecursive3 at stack-trace.js:69
-    8    at eval code
-    9   eval at [native code]
-    10   selfRecursive3 at stack-trace.js:69
-    11    at eval code
-    12   eval at [native code]
-    13   selfRecursive3 at stack-trace.js:69
-    14    at eval code
-    15   eval at [native code]
-    16   selfRecursive3 at stack-trace.js:69
-    17    at eval code
-    18   eval at [native code]
-    19   selfRecursive3 at stack-trace.js:69
-    20    at eval code
-    21   eval at [native code]
-    22   selfRecursive3 at stack-trace.js:69
-    23    at eval code
-    24   eval at [native code]
-    25   selfRecursive3 at stack-trace.js:69
-    26    at eval code
-    27   eval at [native code]
-    28   selfRecursive3 at stack-trace.js:69
-    29    at eval code
-    30   eval at [native code]
-    31   selfRecursive3 at stack-trace.js:69
-    32    at eval code
-    33   eval at [native code]
-    34   selfRecursive3 at stack-trace.js:69
-    35    at eval code
-    36   eval at [native code]
-    37   selfRecursive3 at stack-trace.js:69
-    38    at eval code
-    39   eval at [native code]
-    40   selfRecursive3 at stack-trace.js:69
-    41    at eval code
-    42   eval at [native code]
-    43   selfRecursive3 at stack-trace.js:69
-    44    at eval code
-    45   eval at [native code]
-    46   selfRecursive3 at stack-trace.js:69
-    47    at eval code
-    48   eval at [native code]
-    49   selfRecursive3 at stack-trace.js:69
-    50    at eval code
-    51   eval at [native code]
-    52   selfRecursive3 at stack-trace.js:69
-    53    at eval code
-    54   eval at [native code]
-    55   selfRecursive3 at stack-trace.js:69
-    56    at eval code
-    57   eval at [native code]
-    58   selfRecursive3 at stack-trace.js:69
-    59    at eval code
-    60   eval at [native code]
-    61   selfRecursive3 at stack-trace.js:69
-    62    at eval code
-    63   eval at [native code]
-    64   selfRecursive3 at stack-trace.js:69
-    65    at eval code
-    66   eval at [native code]
-    67   selfRecursive3 at stack-trace.js:69
-    68    at eval code
-    69   eval at [native code]
-    70   selfRecursive3 at stack-trace.js:69
-    71    at eval code
-    72   eval at [native code]
-    73   selfRecursive3 at stack-trace.js:69
-    74    at eval code
-    75   eval at [native code]
-    76   selfRecursive3 at stack-trace.js:69
-    77    at eval code
-    78   eval at [native code]
-    79   selfRecursive3 at stack-trace.js:69
-    80    at eval code
-    81   eval at [native code]
-    82   selfRecursive3 at stack-trace.js:69
-    83    at eval code
-    84   eval at [native code]
-    85   selfRecursive3 at stack-trace.js:69
-    86    at eval code
-    87   eval at [native code]
-    88   selfRecursive3 at stack-trace.js:69
-    89    at eval code
-    90   eval at [native code]
-    91   selfRecursive3 at stack-trace.js:69
-    92    at eval code
-    93   eval at [native code]
-    94   selfRecursive3 at stack-trace.js:69
-    95    at eval code
-    96   eval at [native code]
-    97   selfRecursive3 at stack-trace.js:69
-    98    at eval code
-    99   eval at [native code]
+    0   selfRecursive3 at stack-trace.js:69
+    1    at eval code
+    2   eval at [native code]
+    3   selfRecursive3 at stack-trace.js:69
+    4    at eval code
+    5   eval at [native code]
+    6   selfRecursive3 at stack-trace.js:69
+    7    at eval code
+    8   eval at [native code]
+    9   selfRecursive3 at stack-trace.js:69
+    10    at eval code
+    11   eval at [native code]
+    12   selfRecursive3 at stack-trace.js:69
+    13    at eval code
+    14   eval at [native code]
+    15   selfRecursive3 at stack-trace.js:69
+    16    at eval code
+    17   eval at [native code]
+    18   selfRecursive3 at stack-trace.js:69
+    19    at eval code
+    20   eval at [native code]
+    21   selfRecursive3 at stack-trace.js:69
+    22    at eval code
+    23   eval at [native code]
+    24   selfRecursive3 at stack-trace.js:69
+    25    at eval code
+    26   eval at [native code]
+    27   selfRecursive3 at stack-trace.js:69
+    28    at eval code
+    29   eval at [native code]
+    30   selfRecursive3 at stack-trace.js:69
+    31    at eval code
+    32   eval at [native code]
+    33   selfRecursive3 at stack-trace.js:69
+    34    at eval code
+    35   eval at [native code]
+    36   selfRecursive3 at stack-trace.js:69
+    37    at eval code
+    38   eval at [native code]
+    39   selfRecursive3 at stack-trace.js:69
+    40    at eval code
+    41   eval at [native code]
+    42   selfRecursive3 at stack-trace.js:69
+    43    at eval code
+    44   eval at [native code]
+    45   selfRecursive3 at stack-trace.js:69
+    46    at eval code
+    47   eval at [native code]
+    48   selfRecursive3 at stack-trace.js:69
+    49    at eval code
+    50   eval at [native code]
+    51   selfRecursive3 at stack-trace.js:69
+    52    at eval code
+    53   eval at [native code]
+    54   selfRecursive3 at stack-trace.js:69
+    55    at eval code
+    56   eval at [native code]
+    57   selfRecursive3 at stack-trace.js:69
+    58    at eval code
+    59   eval at [native code]
+    60   selfRecursive3 at stack-trace.js:69
+    61    at eval code
+    62   eval at [native code]
+    63   selfRecursive3 at stack-trace.js:69
+    64    at eval code
+    65   eval at [native code]
+    66   selfRecursive3 at stack-trace.js:69
+    67    at eval code
+    68   eval at [native code]
+    69   selfRecursive3 at stack-trace.js:69
+    70    at eval code
+    71   eval at [native code]
+    72   selfRecursive3 at stack-trace.js:69
+    73    at eval code
+    74   eval at [native code]
+    75   selfRecursive3 at stack-trace.js:69
+    76    at eval code
+    77   eval at [native code]
+    78   selfRecursive3 at stack-trace.js:69
+    79    at eval code
+    80   eval at [native code]
+    81   selfRecursive3 at stack-trace.js:69
+    82    at eval code
+    83   eval at [native code]
+    84   selfRecursive3 at stack-trace.js:69
+    85    at eval code
+    86   eval at [native code]
+    87   selfRecursive3 at stack-trace.js:69
+    88    at eval code
+    89   eval at [native code]
+    90   selfRecursive3 at stack-trace.js:69
+    91    at eval code
+    92   eval at [native code]
+    93   selfRecursive3 at stack-trace.js:69
+    94    at eval code
+    95   eval at [native code]
+    96   selfRecursive3 at stack-trace.js:69
+    97    at eval code
+    98   eval at [native code]
+    99   selfRecursive3 at stack-trace.js:69
 
 --> Stack Trace:
     0   throwError at stack-trace.js:77
@@ -408,12 +407,11 @@
     4   global code at stack-trace.js:169
 
 --> Stack Trace:
-    0   map at [native code]
-    1   h at stack-trace.js:153
-    2   map at [native code]
-    3   mapTest at stack-trace.js:158
-    4   mapTestDriver at stack-trace.js:164
-    5   global code at stack-trace.js:175
+    0   h at stack-trace.js:153
+    1   map at [native code]
+    2   mapTest at stack-trace.js:158
+    3   mapTestDriver at stack-trace.js:164
+    4   global code at stack-trace.js:175
 
 --> Stack Trace:
     0   throwError at stack-trace.js:77

Modified: trunk/Source/_javascript_Core/ChangeLog (114316 => 114317)


--- trunk/Source/_javascript_Core/ChangeLog	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-04-16 23:37:40 UTC (rev 114317)
@@ -1,3 +1,33 @@
+2012-04-16  Sheriff Bot  <webkit.review....@gmail.com>
+
+        Unreviewed, rolling out r114309.
+        http://trac.webkit.org/changeset/114309
+        https://bugs.webkit.org/show_bug.cgi?id=84097
+
+        it broke everything (Requested by olliej on #webkit).
+
+        * _javascript_Core.vcproj/_javascript_Core/_javascript_Core.def:
+        * bytecode/CodeBlock.h:
+        * dfg/DFGOperations.cpp:
+        * interpreter/Interpreter.cpp:
+        (JSC::Interpreter::getStackTrace):
+        (JSC::Interpreter::throwException):
+        * interpreter/Interpreter.h:
+        (Interpreter):
+        * jit/JITStubs.cpp:
+        (JSC::DEFINE_STUB_FUNCTION):
+        * jsc.cpp:
+        (functionJSCStack):
+        * llint/LLIntSlowPaths.cpp:
+        (JSC::LLInt::handleHostCall):
+        * parser/Parser.h:
+        (JSC::::parse):
+        * runtime/Error.cpp:
+        (JSC::addErrorInfo):
+        (JSC::throwError):
+        * runtime/Error.h:
+        (JSC):
+
 2012-04-16  Oliver Hunt  <oli...@apple.com>
 
         Exception stack traces aren't complete when the exception starts in native code

Modified: trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_Core.def (114316 => 114317)


--- trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_Core.def	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_Core.def	2012-04-16 23:37:40 UTC (rev 114317)
@@ -212,7 +212,7 @@
     ?getPropertyDescriptor@JSObject@JSC@@QAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertyDescriptor@2@@Z
     ?getPropertyNames@JSObject@JSC@@SAXPAV12@PAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
     ?getSlice@ArgList@JSC@@QBEXHAAV12@@Z
-    ?getStackTrace@Interpreter@JSC@@SAXPAVJSGlobalData@2@AAV?$Vector@UStackFrame@JSC@@$0A@@WTF@@@Z
+    ?getStackTrace@Interpreter@JSC@@SAXPAVJSGlobalData@2@HAAV?$Vector@UStackFrame@JSC@@$0A@@WTF@@@Z
     ?getString@JSCell@JSC@@QBE?AVUString@2@PAVExecState@2@@Z
     ?getString@JSCell@JSC@@QBE_NPAVExecState@2@AAVUString@2@@Z
     ?getter@PropertyDescriptor@JSC@@QBE?AVJSValue@2@XZ

Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.h (114316 => 114317)


--- trunk/Source/_javascript_Core/bytecode/CodeBlock.h	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.h	2012-04-16 23:37:40 UTC (rev 114317)
@@ -710,14 +710,6 @@
             return true;
         }
         
-        int codeOriginIndexForReturn(ReturnAddressPtr returnAddress)
-        {
-            ASSERT(hasCodeOrigins());
-            unsigned offset = getJITCode().offsetOf(returnAddress.value());
-            CodeOriginAtCallReturnOffset* entry = binarySearch<CodeOriginAtCallReturnOffset, unsigned, getCallReturnOffsetForCodeOrigin>(codeOrigins().begin(), codeOrigins().size(), offset, WTF::KeyMustNotBePresentInArray);
-            return entry - codeOrigins().begin();
-        }
-        
         CodeOrigin codeOrigin(unsigned index)
         {
             ASSERT(m_rareData);

Modified: trunk/Source/_javascript_Core/dfg/DFGOperations.cpp (114316 => 114317)


--- trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2012-04-16 23:37:40 UTC (rev 114317)
@@ -792,7 +792,6 @@
         ASSERT(callType != CallTypeJS);
     
         if (callType == CallTypeHost) {
-            execCallee->setCallee(asObject(callee));
             globalData->hostCallReturnValue = JSValue::decode(callData.native.function(execCallee));
             if (globalData->exception)
                 return 0;
@@ -813,7 +812,6 @@
     ASSERT(constructType != ConstructTypeJS);
     
     if (constructType == ConstructTypeHost) {
-        execCallee->setCallee(asObject(callee));
         globalData->hostCallReturnValue = JSValue::decode(constructData.native.function(execCallee));
         if (globalData->exception)
             return 0;

Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.cpp (114316 => 114317)


--- trunk/Source/_javascript_Core/interpreter/Interpreter.cpp	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/interpreter/Interpreter.cpp	2012-04-16 23:37:40 UTC (rev 114317)
@@ -65,7 +65,6 @@
 #include <limits.h>
 #include <stdio.h>
 #include <wtf/Threading.h>
-#include <wtf/text/StringBuilder.h>
 
 #if ENABLE(JIT)
 #include "JIT.h"
@@ -953,14 +952,14 @@
     return StackFrameGlobalCode;
 }
 
-void Interpreter::getStackTrace(JSGlobalData* globalData, Vector<StackFrame>& results)
+void Interpreter::getStackTrace(JSGlobalData* globalData, int line, Vector<StackFrame>& results)
 {
-    CallFrame* callFrame = globalData->topCallFrame->removeHostCallFrameFlag();
+    CallFrame* callFrame = globalData->topCallFrame->removeHostCallFrameFlag()->trueCallFrameFromVMCode();
     if (!callFrame || callFrame == CallFrame::noCaller()) 
         return;
-    int line = getLineNumberForCallFrame(globalData, callFrame);
 
-    callFrame = callFrame->trueCallFrameFromVMCode();
+    if (line == -1)
+        line = getLineNumberForCallFrame(globalData, callFrame);
 
     while (callFrame && callFrame != CallFrame::noCaller()) {
         UString sourceURL;
@@ -976,33 +975,6 @@
     }
 }
 
-void Interpreter::addStackTraceIfNecessary(CallFrame* callFrame, JSObject* error)
-{
-    JSGlobalData* globalData = &callFrame->globalData();
-    if (error->hasProperty(callFrame, globalData->propertyNames->stack))
-        return;
-
-    Vector<StackFrame> stackTrace;
-    getStackTrace(&callFrame->globalData(), stackTrace);
-    
-    if (stackTrace.isEmpty())
-        return;
-    
-    JSGlobalObject* globalObject = 0;
-    if (isTerminatedExecutionException(error) || isInterruptedExecutionException(error))
-        globalObject = globalData->dynamicGlobalObject;
-    else
-        globalObject = error->globalObject();
-    StringBuilder builder;
-    for (unsigned i = 0; i < stackTrace.size(); i++) {
-        builder.append(String(stackTrace[i].toString(globalObject->globalExec()).impl()));
-        if (i != stackTrace.size() - 1)
-            builder.append('\n');
-    }
-    
-    error->putDirect(*globalData, globalData->propertyNames->stack, jsString(globalData, UString(builder.toString().impl())), ReadOnly | DontDelete);
-}
-
 NEVER_INLINE HandlerInfo* Interpreter::throwException(CallFrame*& callFrame, JSValue& exceptionValue, unsigned bytecodeOffset)
 {
     CodeBlock* codeBlock = callFrame->codeBlock();
@@ -1018,9 +990,12 @@
         // Using hasExpressionInfo to imply we are interested in rich exception info.
         if (codeBlock->hasExpressionInfo() && !hasErrorInfo(callFrame, exception)) {
             ASSERT(codeBlock->hasLineInfo());
+
             // FIXME: should only really be adding these properties to VM generated exceptions,
             // but the inspector currently requires these for all thrown objects.
-            addErrorInfo(callFrame, exception, codeBlock->lineNumberForBytecodeOffset(bytecodeOffset), codeBlock->ownerExecutable()->source());
+            Vector<StackFrame> stackTrace;
+            getStackTrace(&callFrame->globalData(), codeBlock->lineNumberForBytecodeOffset(bytecodeOffset), stackTrace);
+            addErrorInfo(callFrame, exception, codeBlock->lineNumberForBytecodeOffset(bytecodeOffset), codeBlock->ownerExecutable()->source(), stackTrace);
         }
 
         isInterrupt = isInterruptedExecutionException(exception) || isTerminatedExecutionException(exception);

Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.h (114316 => 114317)


--- trunk/Source/_javascript_Core/interpreter/Interpreter.h	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/interpreter/Interpreter.h	2012-04-16 23:37:40 UTC (rev 114317)
@@ -222,8 +222,7 @@
         NEVER_INLINE HandlerInfo* throwException(CallFrame*&, JSValue&, unsigned bytecodeOffset);
         NEVER_INLINE void debug(CallFrame*, DebugHookID, int firstLine, int lastLine);
         static const UString getTraceLine(CallFrame*, StackFrameCodeType, const UString&, int);
-        JS_EXPORT_PRIVATE static void getStackTrace(JSGlobalData*, Vector<StackFrame>& results);
-        static void addStackTraceIfNecessary(CallFrame*, JSObject* error);
+        JS_EXPORT_PRIVATE static void getStackTrace(JSGlobalData*, int line, Vector<StackFrame>& results);
 
         void dumpSampleData(ExecState* exec);
         void startSampling();

Modified: trunk/Source/_javascript_Core/jit/JITStubs.cpp (114316 => 114317)


--- trunk/Source/_javascript_Core/jit/JITStubs.cpp	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/jit/JITStubs.cpp	2012-04-16 23:37:40 UTC (rev 114317)
@@ -3518,19 +3518,6 @@
 {
     STUB_INIT_STACK_FRAME(stackFrame);
     JSGlobalData* globalData = stackFrame.globalData;
-    // It's possible for us to reach this point with incorrect origin metadata
-    // if a native function throws an exception after being planted in certain
-    // code paths as the native thunk doesn't can't unwind itself as if it were
-    // a JS function. So we redetermine the correct data here just to be safe.
-    if (CodeBlock* codeBlock = stackFrame.callFrame->codeBlock()) {
-#if ENABLE(DFG_JIT)
-        if (codeBlock->hasCodeOrigins())
-            stackFrame.callFrame->setBytecodeOffsetForNonDFGCode(codeBlock->codeOriginIndexForReturn(globalData->exceptionLocation));
-        else
-#endif
-            if (codeBlock->getJITType() == JITCode::BaselineJIT)
-            stackFrame.callFrame->setBytecodeOffsetForNonDFGCode(codeBlock->bytecodeOffset(stackFrame.callFrame, globalData->exceptionLocation));
-    }
     ExceptionHandler handler = jitThrow(globalData, stackFrame.callFrame, globalData->exception, globalData->exceptionLocation);
     STUB_SET_RETURN_ADDRESS(handler.catchRoutine);
     return handler.callFrame;

Modified: trunk/Source/_javascript_Core/jsc.cpp (114316 => 114317)


--- trunk/Source/_javascript_Core/jsc.cpp	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/jsc.cpp	2012-04-16 23:37:40 UTC (rev 114317)
@@ -277,7 +277,7 @@
 {
     String trace = "--> Stack trace:\n";
     Vector<StackFrame> stackTrace;
-    Interpreter::getStackTrace(&exec->globalData(), stackTrace);
+    Interpreter::getStackTrace(&exec->globalData(), -1, stackTrace);
     int i = 0;
 
     for (Vector<StackFrame>::iterator iter = stackTrace.begin(); iter < stackTrace.end(); iter++) {

Modified: trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp (114316 => 114317)


--- trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp	2012-04-16 23:37:40 UTC (rev 114317)
@@ -1241,7 +1241,6 @@
         ASSERT(callType != CallTypeJS);
     
         if (callType == CallTypeHost) {
-            execCallee->setCallee(asObject(callee));
             globalData.hostCallReturnValue = JSValue::decode(callData.native.function(execCallee));
             
             LLINT_CALL_RETURN(execCallee, pc, reinterpret_cast<void*>(getHostCallReturnValue));
@@ -1263,7 +1262,6 @@
     ASSERT(constructType != ConstructTypeJS);
     
     if (constructType == ConstructTypeHost) {
-        execCallee->setCallee(asObject(callee));
         globalData.hostCallReturnValue = JSValue::decode(constructData.native.function(execCallee));
 
         LLINT_CALL_RETURN(execCallee, pc, reinterpret_cast<void*>(getHostCallReturnValue));

Modified: trunk/Source/_javascript_Core/parser/Parser.h (114316 => 114317)


--- trunk/Source/_javascript_Core/parser/Parser.h	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/parser/Parser.h	2012-04-16 23:37:40 UTC (rev 114317)
@@ -993,7 +993,7 @@
         else if (isEvalNode<ParsedNode>())
             *exception = createSyntaxError(lexicalGlobalObject, errMsg);
         else
-            *exception = addErrorInfo(lexicalGlobalObject->globalExec(), createSyntaxError(lexicalGlobalObject, errMsg), errLine, *m_source);
+            *exception = addErrorInfo(&lexicalGlobalObject->globalData(), createSyntaxError(lexicalGlobalObject, errMsg), errLine, *m_source, Vector<StackFrame>());
     }
 
     if (debugger && !ParsedNode::scopeIsFunction)

Modified: trunk/Source/_javascript_Core/runtime/Error.cpp (114316 => 114317)


--- trunk/Source/_javascript_Core/runtime/Error.cpp	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/runtime/Error.cpp	2012-04-16 23:37:40 UTC (rev 114317)
@@ -120,21 +120,37 @@
     return createURIError(exec->lexicalGlobalObject(), message);
 }
 
-JSObject* addErrorInfo(CallFrame* callFrame, JSObject* error, int line, const SourceCode& source)
+JSObject* addErrorInfo(JSGlobalData* globalData, JSObject* error, int line, const SourceCode& source, const Vector<StackFrame>& stackTrace)
 {
-    JSGlobalData* globalData = &callFrame->globalData();
     const UString& sourceURL = source.provider()->url();
 
     if (line != -1)
         error->putDirect(*globalData, Identifier(globalData, linePropertyName), jsNumber(line), ReadOnly | DontDelete);
     if (!sourceURL.isNull())
         error->putDirect(*globalData, Identifier(globalData, sourceURLPropertyName), jsString(globalData, sourceURL), ReadOnly | DontDelete);
+    if (!stackTrace.isEmpty()) {
+        JSGlobalObject* globalObject = 0;
+        if (isTerminatedExecutionException(error) || isInterruptedExecutionException(error))
+            globalObject = globalData->dynamicGlobalObject;
+        else
+            globalObject = error->globalObject();
+        StringBuilder builder;
+        for (unsigned i = 0; i < stackTrace.size(); i++) {
+            builder.append(String(stackTrace[i].toString(globalObject->globalExec()).impl()));
+            if (i != stackTrace.size() - 1)
+                builder.append('\n');
+        }
 
-    globalData->interpreter->addStackTraceIfNecessary(callFrame, error);
+        error->putDirect(*globalData, globalData->propertyNames->stack, jsString(globalData, UString(builder.toString().impl())), ReadOnly | DontDelete);
+    }
 
     return error;
 }
 
+JSObject* addErrorInfo(ExecState* exec, JSObject* error, int line, const SourceCode& source, const Vector<StackFrame>& stackTrace)
+{
+    return addErrorInfo(&exec->globalData(), error, line, source, stackTrace);
+}
 
 bool hasErrorInfo(ExecState* exec, JSObject* error)
 {
@@ -144,15 +160,12 @@
 
 JSValue throwError(ExecState* exec, JSValue error)
 {
-    if (error.isObject())
-        return throwError(exec, asObject(error));
     exec->globalData().exception = error;
     return error;
 }
 
 JSObject* throwError(ExecState* exec, JSObject* error)
 {
-    Interpreter::addStackTraceIfNecessary(exec, error);
     exec->globalData().exception = error;
     return error;
 }

Modified: trunk/Source/_javascript_Core/runtime/Error.h (114316 => 114317)


--- trunk/Source/_javascript_Core/runtime/Error.h	2012-04-16 23:32:16 UTC (rev 114316)
+++ trunk/Source/_javascript_Core/runtime/Error.h	2012-04-16 23:37:40 UTC (rev 114317)
@@ -57,8 +57,9 @@
 
     // Methods to add 
     bool hasErrorInfo(ExecState*, JSObject* error);
+    JSObject* addErrorInfo(JSGlobalData*, JSObject* error, int line, const SourceCode&, const Vector<StackFrame>&);
     // ExecState wrappers.
-    JSObject* addErrorInfo(ExecState*, JSObject* error, int line, const SourceCode&);
+    JSObject* addErrorInfo(ExecState*, JSObject* error, int line, const SourceCode&, const Vector<StackFrame>&);
 
     // Methods to throw Errors.
     JS_EXPORT_PRIVATE JSValue throwError(ExecState*, JSValue);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to