OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 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 | 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 #include "src/runtime/runtime-utils.h" | 5 #include "src/runtime/runtime-utils.h" |
6 | 6 |
7 #include "src/arguments.h" | 7 #include "src/arguments.h" |
8 #include "src/ast/prettyprinter.h" | 8 #include "src/ast/prettyprinter.h" |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/conversions.h" | 10 #include "src/conversions.h" |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 } | 362 } |
363 | 363 |
364 | 364 |
365 RUNTIME_FUNCTION(Runtime_FormatMessageString) { | 365 RUNTIME_FUNCTION(Runtime_FormatMessageString) { |
366 HandleScope scope(isolate); | 366 HandleScope scope(isolate); |
367 DCHECK(args.length() == 4); | 367 DCHECK(args.length() == 4); |
368 CONVERT_INT32_ARG_CHECKED(template_index, 0); | 368 CONVERT_INT32_ARG_CHECKED(template_index, 0); |
369 CONVERT_ARG_HANDLE_CHECKED(String, arg0, 1); | 369 CONVERT_ARG_HANDLE_CHECKED(String, arg0, 1); |
370 CONVERT_ARG_HANDLE_CHECKED(String, arg1, 2); | 370 CONVERT_ARG_HANDLE_CHECKED(String, arg1, 2); |
371 CONVERT_ARG_HANDLE_CHECKED(String, arg2, 3); | 371 CONVERT_ARG_HANDLE_CHECKED(String, arg2, 3); |
372 Handle<String> result; | |
373 ASSIGN_RETURN_FAILURE_ON_EXCEPTION( | |
374 isolate, result, | |
375 MessageTemplate::FormatMessage(template_index, arg0, arg1, arg2)); | |
376 isolate->native_context()->IncrementErrorsThrown(); | 372 isolate->native_context()->IncrementErrorsThrown(); |
377 return *result; | 373 RETURN_RESULT_OR_FAILURE(isolate, MessageTemplate::FormatMessage( |
| 374 template_index, arg0, arg1, arg2)); |
378 } | 375 } |
379 | 376 |
380 #define CALLSITE_GET(NAME, RETURN) \ | 377 #define CALLSITE_GET(NAME, RETURN) \ |
381 RUNTIME_FUNCTION(Runtime_CallSite##NAME##RT) { \ | 378 RUNTIME_FUNCTION(Runtime_CallSite##NAME##RT) { \ |
382 HandleScope scope(isolate); \ | 379 HandleScope scope(isolate); \ |
383 DCHECK(args.length() == 1); \ | 380 DCHECK(args.length() == 1); \ |
384 CONVERT_ARG_HANDLE_CHECKED(JSObject, call_site_obj, 0); \ | 381 CONVERT_ARG_HANDLE_CHECKED(JSObject, call_site_obj, 0); \ |
385 Handle<String> result; \ | 382 Handle<String> result; \ |
386 CallSite call_site(isolate, call_site_obj); \ | 383 CallSite call_site(isolate, call_site_obj); \ |
387 RUNTIME_ASSERT(call_site.IsJavaScript() || call_site.IsWasm()); \ | 384 RUNTIME_ASSERT(call_site.IsJavaScript() || call_site.IsWasm()); \ |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
508 THROW_NEW_ERROR_RETURN_FAILURE( | 505 THROW_NEW_ERROR_RETURN_FAILURE( |
509 isolate, NewTypeError(MessageTemplate::kDerivedConstructorReturn)); | 506 isolate, NewTypeError(MessageTemplate::kDerivedConstructorReturn)); |
510 } | 507 } |
511 | 508 |
512 | 509 |
513 // ES6 section 7.3.17 CreateListFromArrayLike (obj) | 510 // ES6 section 7.3.17 CreateListFromArrayLike (obj) |
514 RUNTIME_FUNCTION(Runtime_CreateListFromArrayLike) { | 511 RUNTIME_FUNCTION(Runtime_CreateListFromArrayLike) { |
515 HandleScope scope(isolate); | 512 HandleScope scope(isolate); |
516 DCHECK_EQ(1, args.length()); | 513 DCHECK_EQ(1, args.length()); |
517 CONVERT_ARG_HANDLE_CHECKED(Object, object, 0); | 514 CONVERT_ARG_HANDLE_CHECKED(Object, object, 0); |
518 Handle<FixedArray> result; | 515 RETURN_RESULT_OR_FAILURE(isolate, Object::CreateListFromArrayLike( |
519 ASSIGN_RETURN_FAILURE_ON_EXCEPTION( | 516 isolate, object, ElementTypes::kAll)); |
520 isolate, result, | |
521 Object::CreateListFromArrayLike(isolate, object, ElementTypes::kAll)); | |
522 return *result; | |
523 } | 517 } |
524 | 518 |
525 | 519 |
526 RUNTIME_FUNCTION(Runtime_IncrementUseCounter) { | 520 RUNTIME_FUNCTION(Runtime_IncrementUseCounter) { |
527 HandleScope scope(isolate); | 521 HandleScope scope(isolate); |
528 DCHECK_EQ(1, args.length()); | 522 DCHECK_EQ(1, args.length()); |
529 CONVERT_SMI_ARG_CHECKED(counter, 0); | 523 CONVERT_SMI_ARG_CHECKED(counter, 0); |
530 isolate->CountUsage(static_cast<v8::Isolate::UseCounterFeature>(counter)); | 524 isolate->CountUsage(static_cast<v8::Isolate::UseCounterFeature>(counter)); |
531 return isolate->heap()->undefined_value(); | 525 return isolate->heap()->undefined_value(); |
532 } | 526 } |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 DCHECK(args.length() == 0); | 584 DCHECK(args.length() == 0); |
591 isolate->RunMicrotasks(); | 585 isolate->RunMicrotasks(); |
592 return isolate->heap()->undefined_value(); | 586 return isolate->heap()->undefined_value(); |
593 } | 587 } |
594 | 588 |
595 RUNTIME_FUNCTION(Runtime_OrdinaryHasInstance) { | 589 RUNTIME_FUNCTION(Runtime_OrdinaryHasInstance) { |
596 HandleScope scope(isolate); | 590 HandleScope scope(isolate); |
597 DCHECK_EQ(2, args.length()); | 591 DCHECK_EQ(2, args.length()); |
598 CONVERT_ARG_HANDLE_CHECKED(Object, callable, 0); | 592 CONVERT_ARG_HANDLE_CHECKED(Object, callable, 0); |
599 CONVERT_ARG_HANDLE_CHECKED(Object, object, 1); | 593 CONVERT_ARG_HANDLE_CHECKED(Object, object, 1); |
600 Handle<Object> result; | 594 RETURN_RESULT_OR_FAILURE( |
601 ASSIGN_RETURN_FAILURE_ON_EXCEPTION( | 595 isolate, Object::OrdinaryHasInstance(isolate, callable, object)); |
602 isolate, result, Object::OrdinaryHasInstance(isolate, callable, object)); | |
603 return *result; | |
604 } | 596 } |
605 | 597 |
606 } // namespace internal | 598 } // namespace internal |
607 } // namespace v8 | 599 } // namespace v8 |
OLD | NEW |