a345a442d3
- Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883}
44 lines
1.7 KiB
JavaScript
44 lines
1.7 KiB
JavaScript
// Copyright 2018 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
d8.file.execute('sort-base.js');
|
|
|
|
// Creates a comparison function, that will call the provided transform function
|
|
// after a set amount of comparisons. The transform function should cause the
|
|
// element kind of the array to change.
|
|
function CreateCompareFn(transformfn) {
|
|
return (a, b) => {
|
|
++counter;
|
|
if (counter == kArraySize/2) {
|
|
transformfn();
|
|
}
|
|
|
|
return cmp_smaller(a, b);
|
|
}
|
|
}
|
|
|
|
let cmp_packed_smi_to_double = CreateCompareFn(() => array_to_sort.push(0.1));
|
|
let cmp_holey_smi_to_double = CreateCompareFn(() => array_to_sort.push(0.1));
|
|
let cmp_double_to_double = CreateCompareFn(() => array_to_sort.length *= 2);
|
|
|
|
createSortSuite(
|
|
'PackedSmiToPackedDouble', 1000, CreateSortFn([cmp_packed_smi_to_double]),
|
|
CreatePackedSmiArray, AssertPackedDoubleElements);
|
|
createSortSuite(
|
|
'HoleySmiToHoleyDouble', 1000, CreateSortFn([cmp_holey_smi_to_double]),
|
|
CreateHoleySmiArray, AssertHoleyDoubleElements);
|
|
createSortSuite(
|
|
'PackedDoubleToHoleyDouble', 1000, CreateSortFn([cmp_double_to_double]),
|
|
CreatePackedDoubleArray, AssertHoleyDoubleElements);
|
|
|
|
let cmp_packed_to_dict = CreateCompareFn(() => array_to_sort[%MaxSmi()] = 42);
|
|
let cmp_holey_to_dict = CreateCompareFn(() => array_to_sort[%MaxSmi()] = 42);
|
|
|
|
createSortSuite(
|
|
'PackedElementToDictionary', 1000, CreateSortFn([cmp_packed_to_dict]),
|
|
CreatePackedObjectArray, AssertDictionaryElements);
|
|
createSortSuite(
|
|
'HoleyElementToDictionary', 1000, CreateSortFn([cmp_holey_to_dict]),
|
|
CreateHoleyObjectArray, AssertDictionaryElements);
|