1014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// Copyright 2014 the V8 project authors. All rights reserved. 2014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// found in the LICENSE file. 4014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 5014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochnew BenchmarkSuite('Assign', [1000], [ 6014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch new Benchmark('BasicAssign1', false, false, 0, 7014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch BasicAssign1, BasicAssign1Setup, BasicAssign1TearDown), 8014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch new Benchmark('BasicAssign3', false, false, 0, 9014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch BasicAssign3, BasicAssign3Setup, BasicAssign3TearDown), 10014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch new Benchmark('BasicAssignNull3', false, false, 0, 11014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch BasicAssignNull3, BasicAssignNull3Setup, 12014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch BasicAssignNull3TearDown), 13014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch]); 14014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 15014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvar object; 16014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvar src1; 17014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvar src2; 18014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvar src3; 19014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvar obj1; 20014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvar obj2; 21014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 22014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// ---------------------------------------------------------------------------- 23014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 24014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction BasicAssign1Setup() { 25014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch object = {}; 26014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch obj1 = {}; 27014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch obj2 = {}; 28014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch src1 = { id: "6930530530", obj1: obj1, obj2: obj2 }; 29014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 30014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 31014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction BasicAssign1() { 32014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch Object.assign(object, src1); 33014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 34014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 35014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction BasicAssign1TearDown() { 36014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch return object.id === src1.id && 37014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch object.obj1 === obj1 && 38014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch object.obj2 === obj2; 39014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 40014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 41014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// ---------------------------------------------------------------------------- 42014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 43014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction BasicAssign3Setup() { 44014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch object = {}; 45014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch obj1 = {}; 46014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch obj2 = {}; 47014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch src1 = { id: "6930530530" }; 48014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch src2 = { obj1: obj1 }; 49014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch src3 = { obj2: obj2 }; 50014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 51014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 52014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction BasicAssign3() { 53014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch Object.assign(object, src1, src2, src3); 54014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 55014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 56014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction BasicAssign3TearDown() { 57014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch return object.id === src1.id && 58014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch object.obj1 === src2 && 59014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch object.obj2 === src3; 60014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 61014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 62014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// ---------------------------------------------------------------------------- 63014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 64014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction BasicAssignNull3Setup() { 65014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch object = {}; 66014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch obj1 = {}; 67014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch obj2 = {}; 68014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch src1 = { id: "6930530530" }; 69014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch src2 = null; 70014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch src3 = { obj1: obj1, obj2: obj2 }; 71014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 72014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 73014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction BasicAssignNull3() { 74014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch Object.assign(object, src1, src2, src3); 75014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 76014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 77014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction BasicAssignNull3TearDown() { 78014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch return object.id === src1.id && 79014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch object.obj1 === src2 && 80014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch object.obj2 === src3; 81014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 82