| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 (function(global, utils) { | 5 (function(global, utils) { |
| 6 "use strict"; | 6 "use strict"; |
| 7 | 7 |
| 8 %CheckIsBootstrapping(); | 8 %CheckIsBootstrapping(); |
| 9 | 9 |
| 10 // ------------------------------------------------------------------- | 10 // ------------------------------------------------------------------- |
| (...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 454 utils.InstallGetter(GlobalMap.prototype, "size", MapGetSize); | 454 utils.InstallGetter(GlobalMap.prototype, "size", MapGetSize); |
| 455 utils.InstallFunctions(GlobalMap.prototype, DONT_ENUM, [ | 455 utils.InstallFunctions(GlobalMap.prototype, DONT_ENUM, [ |
| 456 "get", MapGet, | 456 "get", MapGet, |
| 457 "set", MapSet, | 457 "set", MapSet, |
| 458 "has", MapHas, | 458 "has", MapHas, |
| 459 "delete", MapDelete, | 459 "delete", MapDelete, |
| 460 "clear", MapClearJS, | 460 "clear", MapClearJS, |
| 461 "forEach", MapForEach | 461 "forEach", MapForEach |
| 462 ]); | 462 ]); |
| 463 | 463 |
| 464 function MapFromArray(array) { | |
| 465 var map = new GlobalMap; | |
| 466 var length = array.length; | |
| 467 for (var i = 0; i < length; i += 2) { | |
| 468 var key = array[i]; | |
| 469 var value = array[i + 1]; | |
| 470 %_Call(MapSet, map, key, value); | |
| 471 } | |
| 472 return map; | |
| 473 }; | |
| 474 | |
| 475 function SetFromArray(array) { | |
| 476 var set = new GlobalSet; | |
| 477 var length = array.length; | |
| 478 for (var i = 0; i < length; ++i) { | |
| 479 %_Call(SetAdd, set, array[i]); | |
| 480 } | |
| 481 return set; | |
| 482 }; | |
| 483 | |
| 484 // ----------------------------------------------------------------------- | 464 // ----------------------------------------------------------------------- |
| 485 // Exports | 465 // Exports |
| 486 | 466 |
| 487 %InstallToContext([ | 467 %InstallToContext([ |
| 488 "map_get", MapGet, | 468 "map_get", MapGet, |
| 489 "map_set", MapSet, | 469 "map_set", MapSet, |
| 490 "map_has", MapHas, | 470 "map_has", MapHas, |
| 491 "map_delete", MapDelete, | 471 "map_delete", MapDelete, |
| 492 "set_add", SetAdd, | 472 "set_add", SetAdd, |
| 493 "set_has", SetHas, | 473 "set_has", SetHas, |
| 494 "set_delete", SetDelete, | 474 "set_delete", SetDelete, |
| 495 "map_from_array", MapFromArray, | |
| 496 "set_from_array",SetFromArray, | |
| 497 ]); | 475 ]); |
| 498 | 476 |
| 499 utils.Export(function(to) { | 477 utils.Export(function(to) { |
| 500 to.GetExistingHash = GetExistingHash; | 478 to.GetExistingHash = GetExistingHash; |
| 501 to.GetHash = GetHash; | 479 to.GetHash = GetHash; |
| 502 }); | 480 }); |
| 503 | 481 |
| 504 }) | 482 }) |
| OLD | NEW |