Revert "Revert "Upgrade to 5.0.71.48"" DO NOT MERGE
This reverts commit f2e3994fa5148cc3d9946666f0b0596290192b0e,
and updates the x64 makefile properly so it doesn't break that
build.
FPIIM-449
Change-Id: Ib83e35bfbae6af627451c926a9650ec57c045605
(cherry picked from commit 109988c7ccb6f3fd1a58574fa3dfb88beaef6632)
diff --git a/src/js/v8natives.js b/src/js/v8natives.js
index 26447da..5e1a825 100644
--- a/src/js/v8natives.js
+++ b/src/js/v8natives.js
@@ -10,7 +10,6 @@
// Imports
var GlobalArray = global.Array;
-var GlobalBoolean = global.Boolean;
var GlobalNumber = global.Number;
var GlobalObject = global.Object;
var InternalArray = utils.InternalArray;
@@ -24,7 +23,6 @@
var ObserveBeginPerformSplice;
var ObserveEndPerformSplice;
var ObserveEnqueueSpliceRecord;
-var SameValue = utils.ImportNow("SameValue");
var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol");
utils.Import(function(from) {
@@ -545,17 +543,17 @@
if ((IsGenericDescriptor(desc) ||
IsDataDescriptor(desc) == IsDataDescriptor(current)) &&
(!desc.hasEnumerable() ||
- SameValue(desc.isEnumerable(), current.isEnumerable())) &&
+ %SameValue(desc.isEnumerable(), current.isEnumerable())) &&
(!desc.hasConfigurable() ||
- SameValue(desc.isConfigurable(), current.isConfigurable())) &&
+ %SameValue(desc.isConfigurable(), current.isConfigurable())) &&
(!desc.hasWritable() ||
- SameValue(desc.isWritable(), current.isWritable())) &&
+ %SameValue(desc.isWritable(), current.isWritable())) &&
(!desc.hasValue() ||
- SameValue(desc.getValue(), current.getValue())) &&
+ %SameValue(desc.getValue(), current.getValue())) &&
(!desc.hasGetter() ||
- SameValue(desc.getGet(), current.getGet())) &&
+ %SameValue(desc.getGet(), current.getGet())) &&
(!desc.hasSetter() ||
- SameValue(desc.getSet(), current.getSet()))) {
+ %SameValue(desc.getSet(), current.getSet()))) {
return true;
}
if (!current.isConfigurable()) {
@@ -594,7 +592,7 @@
}
}
if (!currentIsWritable && desc.hasValue() &&
- !SameValue(desc.getValue(), current.getValue())) {
+ !%SameValue(desc.getValue(), current.getValue())) {
if (should_throw) {
throw MakeTypeError(kRedefineDisallowed, p);
} else {
@@ -605,14 +603,14 @@
// Step 11
if (IsAccessorDescriptor(desc) && IsAccessorDescriptor(current)) {
if (desc.hasSetter() &&
- !SameValue(desc.getSet(), current.getSet())) {
+ !%SameValue(desc.getSet(), current.getSet())) {
if (should_throw) {
throw MakeTypeError(kRedefineDisallowed, p);
} else {
return false;
}
}
- if (desc.hasGetter() && !SameValue(desc.getGet(),current.getGet())) {
+ if (desc.hasGetter() && !%SameValue(desc.getGet(),current.getGet())) {
if (should_throw) {
throw MakeTypeError(kRedefineDisallowed, p);
} else {
@@ -772,19 +770,6 @@
}
-// ES6 section 19.1.2.6
-function ObjectGetOwnPropertyDescriptor(obj, p) {
- return %GetOwnProperty(obj, p);
-}
-
-
-// ES5 section 15.2.3.4.
-function ObjectGetOwnPropertyNames(obj) {
- obj = TO_OBJECT(obj);
- return %GetOwnPropertyKeys(obj, PROPERTY_FILTER_SKIP_SYMBOLS);
-}
-
-
// ES5 section 15.2.3.6.
function ObjectDefineProperty(obj, p, attributes) {
// The new pure-C++ implementation doesn't support O.o.
@@ -802,11 +787,6 @@
}
-function GetOwnEnumerablePropertyNames(object) {
- return %GetOwnPropertyKeys(object, PROPERTY_FILTER_ONLY_ENUMERABLE);
-}
-
-
// ES5 section 15.2.3.7.
function ObjectDefineProperties(obj, properties) {
// The new pure-C++ implementation doesn't support O.o.
@@ -816,7 +796,7 @@
throw MakeTypeError(kCalledOnNonObject, "Object.defineProperties");
}
var props = TO_OBJECT(properties);
- var names = GetOwnEnumerablePropertyNames(props);
+ var names = %GetOwnPropertyKeys(props, PROPERTY_FILTER_ONLY_ENUMERABLE);
var descriptors = new InternalArray();
for (var i = 0; i < names.length; i++) {
descriptors.push(ToPropertyDescriptor(props[names[i]]));
@@ -889,65 +869,13 @@
"defineProperties", ObjectDefineProperties,
"getPrototypeOf", ObjectGetPrototypeOf,
"setPrototypeOf", ObjectSetPrototypeOf,
- "getOwnPropertyDescriptor", ObjectGetOwnPropertyDescriptor,
- "getOwnPropertyNames", ObjectGetOwnPropertyNames,
// getOwnPropertySymbols is added in symbol.js.
- "is", SameValue, // ECMA-262, Edition 6, section 19.1.2.10
+ // is is added in bootstrapper.cc.
// deliverChangeRecords, getNotifier, observe and unobserve are added
// in object-observe.js.
]);
-// ----------------------------------------------------------------------------
-// Boolean
-
-function BooleanConstructor(x) {
- // TODO(bmeurer): Move this to toplevel.
- "use strict";
- if (!IS_UNDEFINED(new.target)) {
- %_SetValueOf(this, TO_BOOLEAN(x));
- } else {
- return TO_BOOLEAN(x);
- }
-}
-
-
-function BooleanToString() {
- // NOTE: Both Boolean objects and values can enter here as
- // 'this'. This is not as dictated by ECMA-262.
- var b = this;
- if (!IS_BOOLEAN(b)) {
- if (!IS_BOOLEAN_WRAPPER(b)) {
- throw MakeTypeError(kNotGeneric, 'Boolean.prototype.toString');
- }
- b = %_ValueOf(b);
- }
- return b ? 'true' : 'false';
-}
-
-
-function BooleanValueOf() {
- // NOTE: Both Boolean objects and values can enter here as
- // 'this'. This is not as dictated by ECMA-262.
- if (!IS_BOOLEAN(this) && !IS_BOOLEAN_WRAPPER(this)) {
- throw MakeTypeError(kNotGeneric, 'Boolean.prototype.valueOf');
- }
- return %_ValueOf(this);
-}
-
-
-// ----------------------------------------------------------------------------
-
-%SetCode(GlobalBoolean, BooleanConstructor);
-%FunctionSetPrototype(GlobalBoolean, new GlobalBoolean(false));
-%AddNamedProperty(GlobalBoolean.prototype, "constructor", GlobalBoolean,
- DONT_ENUM);
-
-utils.InstallFunctions(GlobalBoolean.prototype, DONT_ENUM, [
- "toString", BooleanToString,
- "valueOf", BooleanValueOf
-]);
-
// ----------------------------------------------------------------------------
// Number