Index: src/messages.js |
diff --git a/src/messages.js b/src/messages.js |
index 859bc0d721cd84bd9ba5bdd86b011b06d59dff8b..fbd513e50c93b8c72a36435e98f55fd2fca2dfb9 100644 |
--- a/src/messages.js |
+++ b/src/messages.js |
@@ -282,7 +282,7 @@ function MakeGenericError(constructor, type, args) { |
* Set up the Script function and constructor. |
*/ |
%FunctionSetInstanceClassName(Script, 'Script'); |
-%SetProperty(Script.prototype, 'constructor', Script, |
+%AddProperty(Script.prototype, 'constructor', Script, |
DONT_ENUM | DONT_DELETE | READ_ONLY); |
%SetCode(Script, function(x) { |
// Script objects can only be created by the VM. |
@@ -1144,7 +1144,7 @@ function captureStackTrace(obj, cons_opt) { |
// holder of this setter, the accessor pair is turned into a data property. |
var setter = function(v) { |
// Set data property on the receiver (not necessarily holder). |
- %DefineOrRedefineDataProperty(this, 'stack', v, NONE); |
+ %DefineDataPropertyUnchecked(this, 'stack', v, NONE); |
if (this === obj) { |
// Release context values if holder is the same as the receiver. |
stack = error_string = UNDEFINED; |
@@ -1159,14 +1159,14 @@ function captureStackTrace(obj, cons_opt) { |
// Stack is still a raw array awaiting to be formatted. |
var result = FormatStackTrace(obj, error_string, GetStackFrames(stack)); |
// Replace this accessor to return result directly. |
- %DefineOrRedefineAccessorProperty( |
+ %DefineAccessorPropertyUnchecked( |
obj, 'stack', function() { return result }, setter, DONT_ENUM); |
// Release context values. |
stack = error_string = UNDEFINED; |
return result; |
}; |
- %DefineOrRedefineAccessorProperty(obj, 'stack', getter, setter, DONT_ENUM); |
+ %DefineAccessorPropertyUnchecked(obj, 'stack', getter, setter, DONT_ENUM); |
} |
@@ -1181,8 +1181,9 @@ function SetUpError() { |
// effects when overwriting the error functions from |
// user code. |
var name = f.name; |
- %SetProperty(global, name, f, DONT_ENUM); |
- %SetProperty(builtins, '$' + name, f, DONT_ENUM | DONT_DELETE | READ_ONLY); |
+ %AddProperty(global, name, f, DONT_ENUM); |
+ %AddProperty(builtins, '$' + name, f, |
+ DONT_ENUM | DONT_DELETE | READ_ONLY); |
// Configure the error function. |
if (name == 'Error') { |
// The prototype of the Error object must itself be an error. |
@@ -1197,17 +1198,16 @@ function SetUpError() { |
%FunctionSetPrototype(f, new $Error()); |
} |
%FunctionSetInstanceClassName(f, 'Error'); |
- %SetProperty(f.prototype, 'constructor', f, DONT_ENUM); |
- %SetProperty(f.prototype, "name", name, DONT_ENUM); |
+ %AddProperty(f.prototype, 'constructor', f, DONT_ENUM); |
+ %AddProperty(f.prototype, "name", name, DONT_ENUM); |
%SetCode(f, function(m) { |
if (%_IsConstructCall()) { |
// Define all the expected properties directly on the error |
// object. This avoids going through getters and setters defined |
// on prototype objects. |
- %IgnoreAttributesAndSetProperty(this, 'stack', UNDEFINED, DONT_ENUM); |
+ %AddProperty(this, 'stack', UNDEFINED, DONT_ENUM); |
if (!IS_UNDEFINED(m)) { |
- %IgnoreAttributesAndSetProperty( |
- this, 'message', ToString(m), DONT_ENUM); |
+ %AddProperty(this, 'message', ToString(m), DONT_ENUM); |
} |
captureStackTrace(this, f); |
} else { |
@@ -1230,7 +1230,7 @@ SetUpError(); |
$Error.captureStackTrace = captureStackTrace; |
-%SetProperty($Error.prototype, 'message', '', DONT_ENUM); |
+%AddProperty($Error.prototype, 'message', '', DONT_ENUM); |
// Global list of error objects visited during ErrorToString. This is |
// used to detect cycles in error toString formatting. |
@@ -1307,7 +1307,7 @@ function SetUpStackOverflowBoilerplate() { |
// Set the 'stack' property on the receiver. If the receiver is the same as |
// holder of this setter, the accessor pair is turned into a data property. |
var setter = function(v) { |
- %DefineOrRedefineDataProperty(this, 'stack', v, NONE); |
+ %DefineDataPropertyUnchecked(this, 'stack', v, NONE); |
// Tentatively clear the hidden property. If the receiver is the same as |
// holder, we release the raw stack trace this way. |
%GetAndClearOverflowedStackTrace(this); |
@@ -1329,12 +1329,12 @@ function SetUpStackOverflowBoilerplate() { |
var result = FormatStackTrace(holder, error_string, GetStackFrames(stack)); |
// Replace this accessor to return result directly. |
- %DefineOrRedefineAccessorProperty( |
+ %DefineAccessorPropertyUnchecked( |
holder, 'stack', function() { return result }, setter, DONT_ENUM); |
return result; |
}; |
- %DefineOrRedefineAccessorProperty( |
+ %DefineAccessorPropertyUnchecked( |
boilerplate, 'stack', getter, setter, DONT_ENUM); |
return boilerplate; |