| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // ------------------------------------------------------------------- | 5 // ------------------------------------------------------------------- |
| 6 | 6 |
| 7 var $errorToString; | 7 var $errorToString; |
| 8 var $getStackTraceLine; | 8 var $getStackTraceLine; |
| 9 var $messageGetPositionInLine; | 9 var $messageGetPositionInLine; |
| 10 var $messageGetLineNumber; | 10 var $messageGetLineNumber; |
| (...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 } | 536 } |
| 537 | 537 |
| 538 | 538 |
| 539 function GetStackTraceLine(recv, fun, pos, isGlobal) { | 539 function GetStackTraceLine(recv, fun, pos, isGlobal) { |
| 540 return new CallSite(recv, fun, pos, false).toString(); | 540 return new CallSite(recv, fun, pos, false).toString(); |
| 541 } | 541 } |
| 542 | 542 |
| 543 // ---------------------------------------------------------------------------- | 543 // ---------------------------------------------------------------------------- |
| 544 // Error implementation | 544 // Error implementation |
| 545 | 545 |
| 546 var CallSiteReceiverKey = NEW_PRIVATE_OWN("CallSite#receiver"); | 546 var CallSiteReceiverKey = NEW_PRIVATE("CallSite#receiver"); |
| 547 var CallSiteFunctionKey = NEW_PRIVATE_OWN("CallSite#function"); | 547 var CallSiteFunctionKey = NEW_PRIVATE("CallSite#function"); |
| 548 var CallSitePositionKey = NEW_PRIVATE_OWN("CallSite#position"); | 548 var CallSitePositionKey = NEW_PRIVATE("CallSite#position"); |
| 549 var CallSiteStrictModeKey = NEW_PRIVATE_OWN("CallSite#strict_mode"); | 549 var CallSiteStrictModeKey = NEW_PRIVATE("CallSite#strict_mode"); |
| 550 | 550 |
| 551 function CallSite(receiver, fun, pos, strict_mode) { | 551 function CallSite(receiver, fun, pos, strict_mode) { |
| 552 SET_PRIVATE(this, CallSiteReceiverKey, receiver); | 552 SET_PRIVATE(this, CallSiteReceiverKey, receiver); |
| 553 SET_PRIVATE(this, CallSiteFunctionKey, fun); | 553 SET_PRIVATE(this, CallSiteFunctionKey, fun); |
| 554 SET_PRIVATE(this, CallSitePositionKey, pos); | 554 SET_PRIVATE(this, CallSitePositionKey, pos); |
| 555 SET_PRIVATE(this, CallSiteStrictModeKey, strict_mode); | 555 SET_PRIVATE(this, CallSiteStrictModeKey, strict_mode); |
| 556 } | 556 } |
| 557 | 557 |
| 558 function CallSiteGetThis() { | 558 function CallSiteGetThis() { |
| 559 return GET_PRIVATE(this, CallSiteStrictModeKey) | 559 return GET_PRIVATE(this, CallSiteStrictModeKey) |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 856 %_CallFunction(receiver, NoSideEffectsObjectToString); | 856 %_CallFunction(receiver, NoSideEffectsObjectToString); |
| 857 } | 857 } |
| 858 var constructorName = constructor.name; | 858 var constructorName = constructor.name; |
| 859 if (!constructorName) { | 859 if (!constructorName) { |
| 860 return requireConstructor ? null : | 860 return requireConstructor ? null : |
| 861 %_CallFunction(receiver, NoSideEffectsObjectToString); | 861 %_CallFunction(receiver, NoSideEffectsObjectToString); |
| 862 } | 862 } |
| 863 return constructorName; | 863 return constructorName; |
| 864 } | 864 } |
| 865 | 865 |
| 866 var formatted_stack_trace_symbol = NEW_PRIVATE_OWN("formatted stack trace"); | 866 var formatted_stack_trace_symbol = NEW_PRIVATE("formatted stack trace"); |
| 867 | 867 |
| 868 | 868 |
| 869 // Format the stack trace if not yet done, and return it. | 869 // Format the stack trace if not yet done, and return it. |
| 870 // Cache the formatted stack trace on the holder. | 870 // Cache the formatted stack trace on the holder. |
| 871 var StackTraceGetter = function() { | 871 var StackTraceGetter = function() { |
| 872 var formatted_stack_trace = UNDEFINED; | 872 var formatted_stack_trace = UNDEFINED; |
| 873 var holder = this; | 873 var holder = this; |
| 874 while (holder) { | 874 while (holder) { |
| 875 var formatted_stack_trace = | 875 var formatted_stack_trace = |
| 876 GET_PRIVATE(holder, formatted_stack_trace_symbol); | 876 GET_PRIVATE(holder, formatted_stack_trace_symbol); |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1083 // Define accessors first, as this may fail and throw. | 1083 // Define accessors first, as this may fail and throw. |
| 1084 ObjectDefineProperty(obj, 'stack', { get: StackTraceGetter, | 1084 ObjectDefineProperty(obj, 'stack', { get: StackTraceGetter, |
| 1085 set: StackTraceSetter, | 1085 set: StackTraceSetter, |
| 1086 configurable: true }); | 1086 configurable: true }); |
| 1087 %CollectStackTrace(obj, cons_opt ? cons_opt : captureStackTrace); | 1087 %CollectStackTrace(obj, cons_opt ? cons_opt : captureStackTrace); |
| 1088 }; | 1088 }; |
| 1089 | 1089 |
| 1090 GlobalError.captureStackTrace = captureStackTrace; | 1090 GlobalError.captureStackTrace = captureStackTrace; |
| 1091 | 1091 |
| 1092 }); | 1092 }); |
| OLD | NEW |