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 #ifndef V8_RUNTIME_H_ | 5 #ifndef V8_RUNTIME_H_ |
6 #define V8_RUNTIME_H_ | 6 #define V8_RUNTIME_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/zone.h" | 9 #include "src/zone.h" |
10 | 10 |
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 F(HasFixedFloat64Elements, 1, 1) \ | 412 F(HasFixedFloat64Elements, 1, 1) \ |
413 F(HasFastProperties, 1, 1) \ | 413 F(HasFastProperties, 1, 1) \ |
414 F(TransitionElementsKind, 2, 1) \ | 414 F(TransitionElementsKind, 2, 1) \ |
415 F(HaveSameMap, 2, 1) \ | 415 F(HaveSameMap, 2, 1) \ |
416 F(IsJSGlobalProxy, 1, 1) \ | 416 F(IsJSGlobalProxy, 1, 1) \ |
417 F(ForInInit, 2, 2) /* TODO(turbofan): Only temporary */ \ | 417 F(ForInInit, 2, 2) /* TODO(turbofan): Only temporary */ \ |
418 F(ForInNext, 4, 2) /* TODO(turbofan): Only temporary */ \ | 418 F(ForInNext, 4, 2) /* TODO(turbofan): Only temporary */ \ |
419 F(ForInCacheArrayLength, 2, 1) /* TODO(turbofan): Only temporary */ | 419 F(ForInCacheArrayLength, 2, 1) /* TODO(turbofan): Only temporary */ |
420 | 420 |
421 | 421 |
422 #define RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \ | 422 #define RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \ |
423 /* String and Regexp */ \ | 423 /* String and Regexp */ \ |
424 F(NumberToStringRT, 1, 1) \ | 424 F(NumberToStringRT, 1, 1) \ |
425 F(RegExpConstructResult, 3, 1) \ | 425 F(RegExpConstructResult, 3, 1) \ |
426 F(RegExpExecRT, 4, 1) \ | 426 F(RegExpExecRT, 4, 1) \ |
427 F(StringAdd, 2, 1) \ | 427 F(StringAdd, 2, 1) \ |
428 F(SubString, 3, 1) \ | 428 F(SubString, 3, 1) \ |
429 F(InternalizeString, 1, 1) \ | 429 F(InternalizeString, 1, 1) \ |
430 F(StringCompare, 2, 1) \ | 430 F(StringCompare, 2, 1) \ |
431 F(StringCharCodeAtRT, 2, 1) \ | 431 F(StringCharCodeAtRT, 2, 1) \ |
432 F(GetFromCache, 2, 1) \ | 432 F(GetFromCache, 2, 1) \ |
433 \ | 433 \ |
434 /* Compilation */ \ | 434 /* Compilation */ \ |
435 F(CompileUnoptimized, 1, 1) \ | 435 F(CompileLazy, 1, 1) \ |
436 F(CompileOptimized, 2, 1) \ | 436 F(CompileOptimized, 2, 1) \ |
437 F(TryInstallOptimizedCode, 1, 1) \ | 437 F(TryInstallOptimizedCode, 1, 1) \ |
438 F(NotifyDeoptimized, 1, 1) \ | 438 F(NotifyDeoptimized, 1, 1) \ |
439 F(NotifyStubFailure, 0, 1) \ | 439 F(NotifyStubFailure, 0, 1) \ |
440 \ | 440 \ |
441 /* Utilities */ \ | 441 /* Utilities */ \ |
442 F(AllocateInNewSpace, 1, 1) \ | 442 F(AllocateInNewSpace, 1, 1) \ |
443 F(AllocateInTargetSpace, 2, 1) \ | 443 F(AllocateInTargetSpace, 2, 1) \ |
444 F(AllocateHeapNumber, 0, 1) \ | 444 F(AllocateHeapNumber, 0, 1) \ |
445 F(NumberToSmi, 1, 1) \ | 445 F(NumberToSmi, 1, 1) \ |
446 F(NumberToStringSkipCache, 1, 1) \ | 446 F(NumberToStringSkipCache, 1, 1) \ |
447 \ | 447 \ |
448 F(NewArguments, 1, 1) /* TODO(turbofan): Only temporary */ \ | 448 F(NewArguments, 1, 1) /* TODO(turbofan): Only temporary */ \ |
449 F(NewSloppyArguments, 3, 1) \ | 449 F(NewSloppyArguments, 3, 1) \ |
450 F(NewStrictArguments, 3, 1) \ | 450 F(NewStrictArguments, 3, 1) \ |
451 \ | 451 \ |
452 /* Harmony generators */ \ | 452 /* Harmony generators */ \ |
453 F(CreateJSGeneratorObject, 0, 1) \ | 453 F(CreateJSGeneratorObject, 0, 1) \ |
454 F(SuspendJSGeneratorObject, 1, 1) \ | 454 F(SuspendJSGeneratorObject, 1, 1) \ |
455 F(ResumeJSGeneratorObject, 3, 1) \ | 455 F(ResumeJSGeneratorObject, 3, 1) \ |
456 F(ThrowGeneratorStateError, 1, 1) \ | 456 F(ThrowGeneratorStateError, 1, 1) \ |
457 \ | 457 \ |
458 /* Arrays */ \ | 458 /* Arrays */ \ |
459 F(ArrayConstructor, -1, 1) \ | 459 F(ArrayConstructor, -1, 1) \ |
460 F(InternalArrayConstructor, -1, 1) \ | 460 F(InternalArrayConstructor, -1, 1) \ |
461 \ | 461 \ |
462 /* Literals */ \ | 462 /* Literals */ \ |
463 F(MaterializeRegExpLiteral, 4, 1) \ | 463 F(MaterializeRegExpLiteral, 4, 1) \ |
464 F(CreateObjectLiteral, 4, 1) \ | 464 F(CreateObjectLiteral, 4, 1) \ |
465 F(CreateArrayLiteral, 4, 1) \ | 465 F(CreateArrayLiteral, 4, 1) \ |
466 F(CreateArrayLiteralStubBailout, 3, 1) \ | 466 F(CreateArrayLiteralStubBailout, 3, 1) \ |
467 \ | 467 \ |
468 /* Statements */ \ | 468 /* Statements */ \ |
469 F(NewClosure, 3, 1) \ | 469 F(NewClosure, 3, 1) \ |
470 F(NewClosureFromStubFailure, 1, 1) \ | 470 F(NewClosureFromStubFailure, 1, 1) \ |
471 F(NewObject, 1, 1) \ | 471 F(NewObject, 1, 1) \ |
472 F(NewObjectWithAllocationSite, 2, 1) \ | 472 F(NewObjectWithAllocationSite, 2, 1) \ |
473 F(FinalizeInstanceSize, 1, 1) \ | 473 F(FinalizeInstanceSize, 1, 1) \ |
474 F(Throw, 1, 1) \ | 474 F(Throw, 1, 1) \ |
475 F(ReThrow, 1, 1) \ | 475 F(ReThrow, 1, 1) \ |
476 F(ThrowReferenceError, 1, 1) \ | 476 F(ThrowReferenceError, 1, 1) \ |
477 F(ThrowNotDateError, 0, 1) \ | 477 F(ThrowNotDateError, 0, 1) \ |
478 F(StackGuard, 0, 1) \ | 478 F(StackGuard, 0, 1) \ |
479 F(Interrupt, 0, 1) \ | 479 F(Interrupt, 0, 1) \ |
480 F(PromoteScheduledException, 0, 1) \ | 480 F(PromoteScheduledException, 0, 1) \ |
481 \ | 481 \ |
482 /* Contexts */ \ | 482 /* Contexts */ \ |
483 F(NewGlobalContext, 2, 1) \ | 483 F(NewGlobalContext, 2, 1) \ |
484 F(NewFunctionContext, 1, 1) \ | 484 F(NewFunctionContext, 1, 1) \ |
485 F(PushWithContext, 2, 1) \ | 485 F(PushWithContext, 2, 1) \ |
486 F(PushCatchContext, 3, 1) \ | 486 F(PushCatchContext, 3, 1) \ |
487 F(PushBlockContext, 2, 1) \ | 487 F(PushBlockContext, 2, 1) \ |
488 F(PushModuleContext, 2, 1) \ | 488 F(PushModuleContext, 2, 1) \ |
489 F(DeleteLookupSlot, 2, 1) \ | 489 F(DeleteLookupSlot, 2, 1) \ |
490 F(LoadLookupSlot, 2, 2) \ | 490 F(LoadLookupSlot, 2, 2) \ |
491 F(LoadLookupSlotNoReferenceError, 2, 2) \ | 491 F(LoadLookupSlotNoReferenceError, 2, 2) \ |
492 F(StoreLookupSlot, 4, 1) \ | 492 F(StoreLookupSlot, 4, 1) \ |
493 \ | 493 \ |
494 /* Declarations and initialization */ \ | 494 /* Declarations and initialization */ \ |
495 F(DeclareGlobals, 3, 1) \ | 495 F(DeclareGlobals, 3, 1) \ |
496 F(DeclareModules, 1, 1) \ | 496 F(DeclareModules, 1, 1) \ |
497 F(DeclareLookupSlot, 4, 1) \ | 497 F(DeclareLookupSlot, 4, 1) \ |
498 F(InitializeConstGlobal, 2, 1) \ | 498 F(InitializeConstGlobal, 2, 1) \ |
499 F(InitializeLegacyConstLookupSlot, 3, 1) \ | 499 F(InitializeLegacyConstLookupSlot, 3, 1) \ |
500 \ | 500 \ |
501 /* Eval */ \ | 501 /* Eval */ \ |
502 F(ResolvePossiblyDirectEval, 5, 2) \ | 502 F(ResolvePossiblyDirectEval, 5, 2) \ |
503 \ | 503 \ |
504 /* Maths */ \ | 504 /* Maths */ \ |
505 F(MathPowSlow, 2, 1) \ | 505 F(MathPowSlow, 2, 1) \ |
506 F(MathPowRT, 2, 1) | 506 F(MathPowRT, 2, 1) |
507 | 507 |
508 | 508 |
509 #define RUNTIME_FUNCTION_LIST_DEBUGGER(F) \ | 509 #define RUNTIME_FUNCTION_LIST_DEBUGGER(F) \ |
510 /* Debugger support*/ \ | 510 /* Debugger support*/ \ |
511 F(DebugBreak, 0, 1) \ | 511 F(DebugBreak, 0, 1) \ |
512 F(SetDebugEventListener, 2, 1) \ | 512 F(SetDebugEventListener, 2, 1) \ |
513 F(Break, 0, 1) \ | 513 F(Break, 0, 1) \ |
514 F(DebugGetPropertyDetails, 2, 1) \ | 514 F(DebugGetPropertyDetails, 2, 1) \ |
515 F(DebugGetProperty, 2, 1) \ | 515 F(DebugGetProperty, 2, 1) \ |
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; | 905 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; |
906 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; | 906 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; |
907 | 907 |
908 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; | 908 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; |
909 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; | 909 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; |
910 class DeclareGlobalsStrictMode: public BitField<StrictMode, 2, 1> {}; | 910 class DeclareGlobalsStrictMode: public BitField<StrictMode, 2, 1> {}; |
911 | 911 |
912 } } // namespace v8::internal | 912 } } // namespace v8::internal |
913 | 913 |
914 #endif // V8_RUNTIME_H_ | 914 #endif // V8_RUNTIME_H_ |
OLD | NEW |