OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 29 matching lines...) Expand all Loading... |
40 | 40 |
41 const $isNaN = GlobalIsNaN; | 41 const $isNaN = GlobalIsNaN; |
42 const $isFinite = GlobalIsFinite; | 42 const $isFinite = GlobalIsFinite; |
43 | 43 |
44 // ---------------------------------------------------------------------------- | 44 // ---------------------------------------------------------------------------- |
45 | 45 |
46 | 46 |
47 // Helper function used to install functions on objects. | 47 // Helper function used to install functions on objects. |
48 function InstallFunctions(object, attributes, functions) { | 48 function InstallFunctions(object, attributes, functions) { |
49 if (functions.length >= 8) { | 49 if (functions.length >= 8) { |
50 %OptimizeObjectForAddingMultipleProperties(object, functions.length / 2); | 50 %OptimizeObjectForAddingMultipleProperties(object, functions.length >> 1); |
51 } | 51 } |
52 for (var i = 0; i < functions.length; i += 2) { | 52 for (var i = 0; i < functions.length; i += 2) { |
53 var key = functions[i]; | 53 var key = functions[i]; |
54 var f = functions[i + 1]; | 54 var f = functions[i + 1]; |
55 %FunctionSetName(f, key); | 55 %FunctionSetName(f, key); |
56 %SetProperty(object, key, f, attributes); | 56 %SetProperty(object, key, f, attributes); |
57 } | 57 } |
58 %TransformToFastProperties(object); | 58 %TransformToFastProperties(object); |
59 } | 59 } |
60 | 60 |
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 | 569 |
570 // ---------------------------------------------------------------------------- | 570 // ---------------------------------------------------------------------------- |
571 | 571 |
572 function SetupFunction() { | 572 function SetupFunction() { |
573 InstallFunctions($Function.prototype, DONT_ENUM, $Array( | 573 InstallFunctions($Function.prototype, DONT_ENUM, $Array( |
574 "toString", FunctionToString | 574 "toString", FunctionToString |
575 )); | 575 )); |
576 } | 576 } |
577 | 577 |
578 SetupFunction(); | 578 SetupFunction(); |
OLD | NEW |