1 // Copyright 2014 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 // 5 // This file relies on the fact that the following declarations have been made 6 // in runtime.js: 7 // var $Function = global.Function; 8 // var $Array = global.Array; 9 10 11 (function() { 12 function FunctionToMethod(homeObject) { 13 if (!IS_SPEC_FUNCTION(this)) { 14 throw MakeTypeError('toMethod_non_function', 15 [%ToString(this), typeof this]); 16 17 } 18 19 if (!IS_SPEC_OBJECT(homeObject)) { 20 throw MakeTypeError('toMethod_non_object', 21 [%ToString(homeObject)]); 22 } 23 24 return %ToMethod(this, homeObject); 25 } 26 27 %CheckIsBootstrapping(); 28 29 InstallFunctions($Function.prototype, DONT_ENUM, $Array( 30 "toMethod", FunctionToMethod 31 )); 32 }()); 33