Skip to content

Commit eb0024d

Browse files
mi-acCommit bot
authored andcommitted
Revert of Hook up more import/exports in natives. (patchset v8#3 id:40001 of https://codereview.chromium.org/1154483002/)
Reason for revert: [Sheriff] Speculative revert for gc stress failures: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/481 Original issue's description: > Hook up more import/exports in natives. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9 > Cr-Commit-Position: refs/heads/master@{#28573} > > Committed: https://crrev.com/e13a39dd7f4062898709d7c68900677df0513995 > Cr-Commit-Position: refs/heads/master@{#28578} TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1154743003 Cr-Commit-Position: refs/heads/master@{#28584}
1 parent 65b6663 commit eb0024d

34 files changed

Lines changed: 511 additions & 705 deletions

src/array-iterator.js

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5+
var $iteratorCreateResultObject;
56
var $arrayValues;
67

78
(function(global, utils) {
@@ -123,16 +124,16 @@ function ArrayKeys() {
123124
%FunctionSetPrototype(ArrayIterator, {__proto__: $iteratorPrototype});
124125
%FunctionSetInstanceClassName(ArrayIterator, 'Array Iterator');
125126

126-
utils.InstallFunctions(ArrayIterator.prototype, DONT_ENUM, [
127+
$installFunctions(ArrayIterator.prototype, DONT_ENUM, [
127128
'next', ArrayIteratorNext
128129
]);
129-
utils.SetFunctionName(ArrayIteratorIterator, symbolIterator);
130+
$setFunctionName(ArrayIteratorIterator, symbolIterator);
130131
%AddNamedProperty(ArrayIterator.prototype, symbolIterator,
131132
ArrayIteratorIterator, DONT_ENUM);
132133
%AddNamedProperty(ArrayIterator.prototype, symbolToStringTag,
133134
"Array Iterator", READ_ONLY | DONT_ENUM);
134135

135-
utils.InstallFunctions(GlobalArray.prototype, DONT_ENUM, [
136+
$installFunctions(GlobalArray.prototype, DONT_ENUM, [
136137
// No 'values' since it breaks webcompat: http://crbug.com/409858
137138
'entries', ArrayEntries,
138139
'keys', ArrayKeys
@@ -151,13 +152,7 @@ endmacro
151152

152153
TYPED_ARRAYS(EXTEND_TYPED_ARRAY)
153154

154-
// -------------------------------------------------------------------
155-
// Exports
156-
157-
utils.Export(function(to) {
158-
to.ArrayIteratorCreateResultObject = CreateIteratorResultObject;
159-
});
160-
155+
$iteratorCreateResultObject = CreateIteratorResultObject;
161156
$arrayValues = ArrayValues;
162157

163158
})

src/array.js

Lines changed: 31 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,22 @@
33
// found in the LICENSE file.
44

55
var $arrayConcat;
6+
var $arrayJoin;
67
var $arrayPush;
78
var $arrayPop;
89
var $arrayShift;
910
var $arraySlice;
1011
var $arraySplice;
1112
var $arrayUnshift;
13+
var $innerArrayForEach;
14+
var $innerArrayEvery;
15+
var $innerArrayFilter;
16+
var $innerArrayIndexOf;
17+
var $innerArrayLastIndexOf;
18+
var $innerArrayMap;
19+
var $innerArrayReverse;
20+
var $innerArraySome;
21+
var $innerArraySort;
1222

1323
(function(global, utils) {
1424

@@ -23,20 +33,10 @@ var GlobalArray = global.Array;
2333
var InternalArray = utils.InternalArray;
2434
var InternalPackedArray = utils.InternalPackedArray;
2535

26-
var Delete;
2736
var MathMin;
28-
var ObjectHasOwnProperty;
29-
var ObjectIsFrozen;
30-
var ObjectIsSealed;
31-
var ObjectToString;
3237

3338
utils.Import(function(from) {
34-
Delete = from.Delete;
3539
MathMin = from.MathMin;
36-
ObjectHasOwnProperty = from.ObjectHasOwnProperty;
37-
ObjectIsFrozen = from.ObjectIsFrozen;
38-
ObjectIsSealed = from.ObjectIsSealed;
39-
ObjectToString = from.ObjectToString;
4040
});
4141

4242
// -------------------------------------------------------------------
@@ -392,7 +392,7 @@ function ArrayToString() {
392392
func = array.join;
393393
}
394394
if (!IS_SPEC_FUNCTION(func)) {
395-
return %_CallFunction(array, ObjectToString);
395+
return %_CallFunction(array, $objectToString);
396396
}
397397
return %_CallFunction(array, func);
398398
}
@@ -467,7 +467,7 @@ function ArrayPop() {
467467

468468
n--;
469469
var value = array[n];
470-
Delete(array, $toName(n), true);
470+
$delete(array, $toName(n), true);
471471
array.length = n;
472472
return value;
473473
}
@@ -645,7 +645,7 @@ function ArrayShift() {
645645
return;
646646
}
647647

648-
if (ObjectIsSealed(array)) throw MakeTypeError(kArrayFunctionsOnSealed);
648+
if ($objectIsSealed(array)) throw MakeTypeError(kArrayFunctionsOnSealed);
649649

650650
if (%IsObserved(array))
651651
return ObservedArrayShift.call(array, len);
@@ -696,7 +696,7 @@ function ArrayUnshift(arg1) { // length == 1
696696
var num_arguments = %_ArgumentsLength();
697697

698698
if (len > 0 && UseSparseVariant(array, len, IS_ARRAY(array), len) &&
699-
!ObjectIsSealed(array)) {
699+
!$objectIsSealed(array)) {
700700
SparseMove(array, 0, 0, len, num_arguments);
701701
} else {
702702
SimpleMove(array, 0, 0, len, num_arguments);
@@ -842,9 +842,9 @@ function ArraySplice(start, delete_count) {
842842
deleted_elements.length = del_count;
843843
var num_elements_to_add = num_arguments > 2 ? num_arguments - 2 : 0;
844844

845-
if (del_count != num_elements_to_add && ObjectIsSealed(array)) {
845+
if (del_count != num_elements_to_add && $objectIsSealed(array)) {
846846
throw MakeTypeError(kArrayFunctionsOnSealed);
847-
} else if (del_count > 0 && ObjectIsFrozen(array)) {
847+
} else if (del_count > 0 && $objectIsFrozen(array)) {
848848
throw MakeTypeError(kArrayFunctionsOnFrozen);
849849
}
850850

@@ -1582,7 +1582,7 @@ var unscopables = {
15821582
DONT_ENUM | READ_ONLY);
15831583

15841584
// Set up non-enumerable functions on the Array object.
1585-
utils.InstallFunctions(GlobalArray, DONT_ENUM, [
1585+
$installFunctions(GlobalArray, DONT_ENUM, [
15861586
"isArray", ArrayIsArray
15871587
]);
15881588

@@ -1603,7 +1603,7 @@ var getFunction = function(name, jsBuiltin, len) {
16031603
// set their names.
16041604
// Manipulate the length of some of the functions to meet
16051605
// expectations set by ECMA-262 or Mozilla.
1606-
utils.InstallFunctions(GlobalArray.prototype, DONT_ENUM, [
1606+
$installFunctions(GlobalArray.prototype, DONT_ENUM, [
16071607
"toString", getFunction("toString", ArrayToString),
16081608
"toLocaleString", getFunction("toLocaleString", ArrayToLocaleString),
16091609
"join", getFunction("join", ArrayJoin),
@@ -1632,7 +1632,7 @@ utils.InstallFunctions(GlobalArray.prototype, DONT_ENUM, [
16321632
// The internal Array prototype doesn't need to be fancy, since it's never
16331633
// exposed to user code.
16341634
// Adding only the functions that are actually used.
1635-
utils.SetUpLockedPrototype(InternalArray, GlobalArray(), [
1635+
$setUpLockedPrototype(InternalArray, GlobalArray(), [
16361636
"concat", getFunction("concat", ArrayConcatJS),
16371637
"indexOf", getFunction("indexOf", ArrayIndexOf),
16381638
"join", getFunction("join", ArrayJoin),
@@ -1642,35 +1642,30 @@ utils.SetUpLockedPrototype(InternalArray, GlobalArray(), [
16421642
"splice", getFunction("splice", ArraySplice)
16431643
]);
16441644

1645-
utils.SetUpLockedPrototype(InternalPackedArray, GlobalArray(), [
1645+
$setUpLockedPrototype(InternalPackedArray, GlobalArray(), [
16461646
"join", getFunction("join", ArrayJoin),
16471647
"pop", getFunction("pop", ArrayPop),
16481648
"push", getFunction("push", ArrayPush),
16491649
"shift", getFunction("shift", ArrayShift)
16501650
]);
16511651

1652-
// -------------------------------------------------------------------
1653-
// Exports
1654-
1655-
utils.Export(function(to) {
1656-
to.ArrayJoin = ArrayJoin;
1657-
to.InnerArrayEvery = InnerArrayEvery;
1658-
to.InnerArrayFilter = InnerArrayFilter;
1659-
to.InnerArrayForEach = InnerArrayForEach;
1660-
to.InnerArrayIndexOf = InnerArrayIndexOf;
1661-
to.InnerArrayLastIndexOf = InnerArrayLastIndexOf;
1662-
to.InnerArrayMap = InnerArrayMap;
1663-
to.InnerArrayReverse = InnerArrayReverse;
1664-
to.InnerArraySome = InnerArraySome;
1665-
to.InnerArraySort = InnerArraySort;
1666-
});
1667-
16681652
$arrayConcat = ArrayConcatJS;
1653+
$arrayJoin = ArrayJoin;
16691654
$arrayPush = ArrayPush;
16701655
$arrayPop = ArrayPop;
16711656
$arrayShift = ArrayShift;
16721657
$arraySlice = ArraySlice;
16731658
$arraySplice = ArraySplice;
16741659
$arrayUnshift = ArrayUnshift;
16751660

1661+
$innerArrayEvery = InnerArrayEvery;
1662+
$innerArrayFilter = InnerArrayFilter;
1663+
$innerArrayForEach = InnerArrayForEach;
1664+
$innerArrayIndexOf = InnerArrayIndexOf;
1665+
$innerArrayLastIndexOf = InnerArrayLastIndexOf;
1666+
$innerArrayMap = InnerArrayMap;
1667+
$innerArrayReverse = InnerArrayReverse;
1668+
$innerArraySome = InnerArraySome;
1669+
$innerArraySort = InnerArraySort;
1670+
16761671
});

src/arraybuffer.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
%CheckIsBootstrapping();
1010

11+
1112
// -------------------------------------------------------------------
1213
// Imports
1314

@@ -94,13 +95,13 @@ function ArrayBufferIsViewJS(obj) {
9495
%AddNamedProperty(GlobalArrayBuffer.prototype,
9596
symbolToStringTag, "ArrayBuffer", DONT_ENUM | READ_ONLY);
9697

97-
utils.InstallGetter(GlobalArrayBuffer.prototype, "byteLength", ArrayBufferGetByteLen);
98+
$installGetter(GlobalArrayBuffer.prototype, "byteLength", ArrayBufferGetByteLen);
9899

99-
utils.InstallFunctions(GlobalArrayBuffer, DONT_ENUM, [
100+
$installFunctions(GlobalArrayBuffer, DONT_ENUM, [
100101
"isView", ArrayBufferIsViewJS
101102
]);
102103

103-
utils.InstallFunctions(GlobalArrayBuffer.prototype, DONT_ENUM, [
104+
$installFunctions(GlobalArrayBuffer.prototype, DONT_ENUM, [
104105
"slice", ArrayBufferSlice
105106
]);
106107

src/bootstrapper.cc

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1530,8 +1530,7 @@ bool Genesis::CallUtilsFunction(Isolate* isolate, const char* name) {
15301530
isolate->factory()->NewStringFromAsciiChecked(name);
15311531
Handle<Object> fun = JSObject::GetDataProperty(utils, name_string);
15321532
Handle<Object> receiver = isolate->factory()->undefined_value();
1533-
Handle<Object> args[] = {utils};
1534-
return !Execution::Call(isolate, fun, receiver, 1, args).is_null();
1533+
return !Execution::Call(isolate, fun, receiver, 0, NULL).is_null();
15351534
}
15361535

15371536

@@ -2430,8 +2429,6 @@ bool Genesis::InstallExperimentalNatives() {
24302429
#undef INSTALL_EXPERIMENTAL_NATIVES
24312430
}
24322431

2433-
CallUtilsFunction(isolate(), "PostExperimentals");
2434-
24352432
InstallExperimentalNativeFunctions();
24362433
return true;
24372434
}

src/collection-iterator.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,14 @@ function SetValues() {
7070
%SetCode(SetIterator, SetIteratorConstructor);
7171
%FunctionSetPrototype(SetIterator, {__proto__: $iteratorPrototype});
7272
%FunctionSetInstanceClassName(SetIterator, 'Set Iterator');
73-
utils.InstallFunctions(SetIterator.prototype, DONT_ENUM, [
73+
$installFunctions(SetIterator.prototype, DONT_ENUM, [
7474
'next', SetIteratorNextJS
7575
]);
7676

7777
%AddNamedProperty(SetIterator.prototype, symbolToStringTag,
7878
"Set Iterator", READ_ONLY | DONT_ENUM);
7979

80-
utils.InstallFunctions(GlobalSet.prototype, DONT_ENUM, [
80+
$installFunctions(GlobalSet.prototype, DONT_ENUM, [
8181
'entries', SetEntries,
8282
'keys', SetValues,
8383
'values', SetValues
@@ -152,15 +152,15 @@ function MapValues() {
152152
%SetCode(MapIterator, MapIteratorConstructor);
153153
%FunctionSetPrototype(MapIterator, {__proto__: $iteratorPrototype});
154154
%FunctionSetInstanceClassName(MapIterator, 'Map Iterator');
155-
utils.InstallFunctions(MapIterator.prototype, DONT_ENUM, [
155+
$installFunctions(MapIterator.prototype, DONT_ENUM, [
156156
'next', MapIteratorNextJS
157157
]);
158158

159159
%AddNamedProperty(MapIterator.prototype, symbolToStringTag,
160160
"Map Iterator", READ_ONLY | DONT_ENUM);
161161

162162

163-
utils.InstallFunctions(GlobalMap.prototype, DONT_ENUM, [
163+
$installFunctions(GlobalMap.prototype, DONT_ENUM, [
164164
'entries', MapEntries,
165165
'keys', MapKeys,
166166
'values', MapValues

src/collection.js

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,10 @@
88

99
%CheckIsBootstrapping();
1010

11-
// -------------------------------------------------------------------
12-
// Imports
13-
1411
var GlobalMap = global.Map;
1512
var GlobalObject = global.Object;
1613
var GlobalSet = global.Set;
1714

18-
var NumberIsNaN;
19-
20-
utils.Import(function(from) {
21-
NumberIsNaN = from.NumberIsNaN;
22-
});
23-
2415
// -------------------------------------------------------------------
2516

2617
function HashToEntry(table, hash, numBuckets) {
@@ -31,15 +22,15 @@ function HashToEntry(table, hash, numBuckets) {
3122

3223

3324
function SetFindEntry(table, numBuckets, key, hash) {
34-
var keyIsNaN = NumberIsNaN(key);
25+
var keyIsNaN = $numberIsNaN(key);
3526
for (var entry = HashToEntry(table, hash, numBuckets);
3627
entry !== NOT_FOUND;
3728
entry = ORDERED_HASH_SET_CHAIN_AT(table, entry, numBuckets)) {
3829
var candidate = ORDERED_HASH_SET_KEY_AT(table, entry, numBuckets);
3930
if (key === candidate) {
4031
return entry;
4132
}
42-
if (keyIsNaN && NumberIsNaN(candidate)) {
33+
if (keyIsNaN && $numberIsNaN(candidate)) {
4334
return entry;
4435
}
4536
}
@@ -49,15 +40,15 @@ function SetFindEntry(table, numBuckets, key, hash) {
4940

5041

5142
function MapFindEntry(table, numBuckets, key, hash) {
52-
var keyIsNaN = NumberIsNaN(key);
43+
var keyIsNaN = $numberIsNaN(key);
5344
for (var entry = HashToEntry(table, hash, numBuckets);
5445
entry !== NOT_FOUND;
5546
entry = ORDERED_HASH_MAP_CHAIN_AT(table, entry, numBuckets)) {
5647
var candidate = ORDERED_HASH_MAP_KEY_AT(table, entry, numBuckets);
5748
if (key === candidate) {
5849
return entry;
5950
}
60-
if (keyIsNaN && NumberIsNaN(candidate)) {
51+
if (keyIsNaN && $numberIsNaN(candidate)) {
6152
return entry;
6253
}
6354
}
@@ -248,8 +239,8 @@ function SetForEach(f, receiver) {
248239
%FunctionSetLength(SetForEach, 1);
249240

250241
// Set up the non-enumerable functions on the Set prototype object.
251-
utils.InstallGetter(GlobalSet.prototype, "size", SetGetSize);
252-
utils.InstallFunctions(GlobalSet.prototype, DONT_ENUM, [
242+
$installGetter(GlobalSet.prototype, "size", SetGetSize);
243+
$installFunctions(GlobalSet.prototype, DONT_ENUM, [
253244
"add", SetAdd,
254245
"has", SetHas,
255246
"delete", SetDelete,
@@ -436,8 +427,8 @@ function MapForEach(f, receiver) {
436427
%FunctionSetLength(MapForEach, 1);
437428

438429
// Set up the non-enumerable functions on the Map prototype object.
439-
utils.InstallGetter(GlobalMap.prototype, "size", MapGetSize);
440-
utils.InstallFunctions(GlobalMap.prototype, DONT_ENUM, [
430+
$installGetter(GlobalMap.prototype, "size", MapGetSize);
431+
$installFunctions(GlobalMap.prototype, DONT_ENUM, [
441432
"get", MapGet,
442433
"set", MapSet,
443434
"has", MapHas,

0 commit comments

Comments
 (0)