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 // ------------------------------------------------------------------- | 5 // ------------------------------------------------------------------- |
6 | 6 |
7 (function(global, utils) { | 7 (function(global, utils) { |
8 | 8 |
9 %CheckIsBootstrapping(); | 9 %CheckIsBootstrapping(); |
10 | 10 |
11 // ------------------------------------------------------------------- | 11 // ------------------------------------------------------------------- |
12 // Imports | 12 // Imports |
13 | 13 |
14 var ArrayJoin; | 14 var ArrayJoin; |
15 var Bool16x8ToString; | 15 var Bool16x8ToString; |
16 var Bool32x4ToString; | 16 var Bool32x4ToString; |
17 var Bool8x16ToString; | 17 var Bool8x16ToString; |
| 18 var callSiteConstructorSymbol = |
| 19 utils.ImportNow("call_site_constructor_symbol"); |
18 var callSiteReceiverSymbol = | 20 var callSiteReceiverSymbol = |
19 utils.ImportNow("call_site_receiver_symbol"); | 21 utils.ImportNow("call_site_receiver_symbol"); |
20 var callSiteFunctionSymbol = | 22 var callSiteFunctionSymbol = |
21 utils.ImportNow("call_site_function_symbol"); | 23 utils.ImportNow("call_site_function_symbol"); |
22 var callSitePositionSymbol = | 24 var callSitePositionSymbol = |
23 utils.ImportNow("call_site_position_symbol"); | 25 utils.ImportNow("call_site_position_symbol"); |
24 var callSiteStrictSymbol = | 26 var callSiteStrictSymbol = |
25 utils.ImportNow("call_site_strict_symbol"); | 27 utils.ImportNow("call_site_strict_symbol"); |
26 var callSiteWasmObjectSymbol = | 28 var callSiteWasmObjectSymbol = |
27 utils.ImportNow("call_site_wasm_obj_symbol"); | 29 utils.ImportNow("call_site_wasm_obj_symbol"); |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 } | 297 } |
296 | 298 |
297 function CheckCallSite(obj, name) { | 299 function CheckCallSite(obj, name) { |
298 if (!IS_RECEIVER(obj) || !HAS_PRIVATE(obj, callSitePositionSymbol)) { | 300 if (!IS_RECEIVER(obj) || !HAS_PRIVATE(obj, callSitePositionSymbol)) { |
299 throw MakeTypeError(kCallSiteMethod, name); | 301 throw MakeTypeError(kCallSiteMethod, name); |
300 } | 302 } |
301 } | 303 } |
302 | 304 |
303 function CallSiteGetThis() { | 305 function CallSiteGetThis() { |
304 CheckCallSite(this, "getThis"); | 306 CheckCallSite(this, "getThis"); |
305 return GET_PRIVATE(this, callSiteStrictSymbol) | 307 if (GET_PRIVATE(this, callSiteStrictSymbol)) { |
306 ? UNDEFINED : GET_PRIVATE(this, callSiteReceiverSymbol); | 308 return UNDEFINED; |
| 309 } |
| 310 var recv = GET_PRIVATE(this, callSiteReceiverSymbol); |
| 311 return (recv == callSiteConstructorSymbol) ? UNDEFINED : recv; |
307 } | 312 } |
308 | 313 |
309 function CallSiteGetFunction() { | 314 function CallSiteGetFunction() { |
310 CheckCallSite(this, "getFunction"); | 315 CheckCallSite(this, "getFunction"); |
311 return GET_PRIVATE(this, callSiteStrictSymbol) | 316 return GET_PRIVATE(this, callSiteStrictSymbol) |
312 ? UNDEFINED : GET_PRIVATE(this, callSiteFunctionSymbol); | 317 ? UNDEFINED : GET_PRIVATE(this, callSiteFunctionSymbol); |
313 } | 318 } |
314 | 319 |
315 function CallSiteGetPosition() { | 320 function CallSiteGetPosition() { |
316 CheckCallSite(this, "getPosition"); | 321 CheckCallSite(this, "getPosition"); |
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
758 utils.Export(function(to) { | 763 utils.Export(function(to) { |
759 to.ErrorToString = ErrorToString; | 764 to.ErrorToString = ErrorToString; |
760 to.MakeError = MakeError; | 765 to.MakeError = MakeError; |
761 to.MakeRangeError = MakeRangeError; | 766 to.MakeRangeError = MakeRangeError; |
762 to.MakeSyntaxError = MakeSyntaxError; | 767 to.MakeSyntaxError = MakeSyntaxError; |
763 to.MakeTypeError = MakeTypeError; | 768 to.MakeTypeError = MakeTypeError; |
764 to.MakeURIError = MakeURIError; | 769 to.MakeURIError = MakeURIError; |
765 }); | 770 }); |
766 | 771 |
767 }); | 772 }); |
OLD | NEW |