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 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 F(HasFixedInt32Elements, 1, 1) \ | 391 F(HasFixedInt32Elements, 1, 1) \ |
392 F(HasFixedUint32Elements, 1, 1) \ | 392 F(HasFixedUint32Elements, 1, 1) \ |
393 F(HasFixedFloat32Elements, 1, 1) \ | 393 F(HasFixedFloat32Elements, 1, 1) \ |
394 F(HasFixedFloat64Elements, 1, 1) \ | 394 F(HasFixedFloat64Elements, 1, 1) \ |
395 F(HasFastProperties, 1, 1) \ | 395 F(HasFastProperties, 1, 1) \ |
396 F(TransitionElementsKind, 2, 1) \ | 396 F(TransitionElementsKind, 2, 1) \ |
397 F(HaveSameMap, 2, 1) \ | 397 F(HaveSameMap, 2, 1) \ |
398 F(IsJSGlobalProxy, 1, 1) | 398 F(IsJSGlobalProxy, 1, 1) |
399 | 399 |
400 | 400 |
401 #define RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \ | 401 #define RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \ |
402 /* String and Regexp */ \ | 402 /* String and Regexp */ \ |
403 F(NumberToStringRT, 1, 1) \ | 403 F(NumberToStringRT, 1, 1) \ |
404 F(RegExpConstructResult, 3, 1) \ | 404 F(RegExpConstructResult, 3, 1) \ |
405 F(RegExpExecRT, 4, 1) \ | 405 F(RegExpExecRT, 4, 1) \ |
406 F(StringAdd, 2, 1) \ | 406 F(StringAdd, 2, 1) \ |
407 F(SubString, 3, 1) \ | 407 F(SubString, 3, 1) \ |
408 F(InternalizeString, 1, 1) \ | 408 F(InternalizeString, 1, 1) \ |
409 F(StringCompare, 2, 1) \ | 409 F(StringCompare, 2, 1) \ |
410 F(StringCharCodeAtRT, 2, 1) \ | 410 F(StringCharCodeAtRT, 2, 1) \ |
411 F(GetFromCache, 2, 1) \ | 411 F(GetFromCache, 2, 1) \ |
412 \ | 412 \ |
413 /* Compilation */ \ | 413 /* Compilation */ \ |
414 F(CompileUnoptimized, 1, 1) \ | 414 F(CompileUnoptimized, 1, 1) \ |
415 F(CompileOptimized, 2, 1) \ | 415 F(CompileOptimized, 2, 1) \ |
416 F(TryInstallOptimizedCode, 1, 1) \ | 416 F(TryInstallOptimizedCode, 1, 1) \ |
417 F(NotifyDeoptimized, 1, 1) \ | 417 F(NotifyDeoptimized, 1, 1) \ |
418 F(NotifyStubFailure, 0, 1) \ | 418 F(NotifyStubFailure, 0, 1) \ |
419 \ | 419 \ |
420 /* Utilities */ \ | 420 /* Utilities */ \ |
421 F(AllocateInNewSpace, 1, 1) \ | 421 F(AllocateInNewSpace, 1, 1) \ |
422 F(AllocateInTargetSpace, 2, 1) \ | 422 F(AllocateInTargetSpace, 2, 1) \ |
423 F(AllocateHeapNumber, 0, 1) \ | 423 F(AllocateHeapNumber, 0, 1) \ |
424 F(NumberToSmi, 1, 1) \ | 424 F(NumberToSmi, 1, 1) \ |
425 F(NumberToStringSkipCache, 1, 1) \ | 425 F(NumberToStringSkipCache, 1, 1) \ |
426 \ | 426 \ |
427 F(NewSloppyArguments, 3, 1) \ | 427 F(NewSloppyArguments, 3, 1) \ |
428 F(NewStrictArguments, 3, 1) \ | 428 F(NewStrictArguments, 3, 1) \ |
429 \ | 429 \ |
430 /* Harmony generators */ \ | 430 /* Harmony generators */ \ |
431 F(CreateJSGeneratorObject, 0, 1) \ | 431 F(CreateJSGeneratorObject, 0, 1) \ |
432 F(SuspendJSGeneratorObject, 1, 1) \ | 432 F(SuspendJSGeneratorObject, 1, 1) \ |
433 F(ResumeJSGeneratorObject, 3, 1) \ | 433 F(ResumeJSGeneratorObject, 3, 1) \ |
434 F(ThrowGeneratorStateError, 1, 1) \ | 434 F(ThrowGeneratorStateError, 1, 1) \ |
435 \ | 435 \ |
436 /* Arrays */ \ | 436 /* Arrays */ \ |
437 F(ArrayConstructor, -1, 1) \ | 437 F(ArrayConstructor, -1, 1) \ |
438 F(InternalArrayConstructor, -1, 1) \ | 438 F(InternalArrayConstructor, -1, 1) \ |
439 \ | 439 \ |
440 /* Literals */ \ | 440 /* Literals */ \ |
441 F(MaterializeRegExpLiteral, 4, 1)\ | 441 F(MaterializeRegExpLiteral, 4, 1) \ |
442 F(CreateObjectLiteral, 4, 1) \ | 442 F(CreateObjectLiteral, 4, 1) \ |
443 F(CreateArrayLiteral, 4, 1) \ | 443 F(CreateArrayLiteral, 4, 1) \ |
444 F(CreateArrayLiteralStubBailout, 3, 1) \ | 444 F(CreateArrayLiteralStubBailout, 3, 1) \ |
445 \ | 445 \ |
446 /* Statements */ \ | 446 /* Statements */ \ |
447 F(NewClosure, 3, 1) \ | 447 F(NewClosure, 3, 1) \ |
448 F(NewClosureFromStubFailure, 1, 1) \ | 448 F(NewClosureFromStubFailure, 1, 1) \ |
449 F(NewObject, 1, 1) \ | 449 F(NewObject, 1, 1) \ |
450 F(NewObjectWithAllocationSite, 2, 1) \ | 450 F(NewObjectWithAllocationSite, 2, 1) \ |
451 F(FinalizeInstanceSize, 1, 1) \ | 451 F(FinalizeInstanceSize, 1, 1) \ |
452 F(Throw, 1, 1) \ | 452 F(Throw, 1, 1) \ |
453 F(ReThrow, 1, 1) \ | 453 F(ReThrow, 1, 1) \ |
454 F(ThrowReferenceError, 1, 1) \ | 454 F(ThrowReferenceError, 1, 1) \ |
455 F(ThrowNotDateError, 0, 1) \ | 455 F(ThrowNotDateError, 0, 1) \ |
456 F(StackGuard, 0, 1) \ | 456 F(StackGuard, 0, 1) \ |
457 F(Interrupt, 0, 1) \ | 457 F(Interrupt, 0, 1) \ |
458 F(PromoteScheduledException, 0, 1) \ | 458 F(PromoteScheduledException, 0, 1) \ |
459 \ | 459 \ |
460 /* Contexts */ \ | 460 /* Contexts */ \ |
461 F(NewGlobalContext, 2, 1) \ | 461 F(NewGlobalContext, 2, 1) \ |
462 F(NewFunctionContext, 1, 1) \ | 462 F(NewFunctionContext, 1, 1) \ |
463 F(PushWithContext, 2, 1) \ | 463 F(PushWithContext, 2, 1) \ |
464 F(PushCatchContext, 3, 1) \ | 464 F(PushCatchContext, 3, 1) \ |
465 F(PushBlockContext, 2, 1) \ | 465 F(PushBlockContext, 2, 1) \ |
466 F(PushModuleContext, 2, 1) \ | 466 F(PushModuleContext, 2, 1) \ |
467 F(DeleteContextSlot, 2, 1) \ | 467 F(DeleteContextSlot, 2, 1) \ |
468 F(LoadContextSlot, 2, 2) \ | 468 F(LoadContextSlot, 2, 2) \ |
469 F(LoadContextSlotNoReferenceError, 2, 2) \ | 469 F(LoadContextSlotNoReferenceError, 2, 2) \ |
470 F(StoreContextSlot, 4, 1) \ | 470 F(StoreContextSlot, 4, 1) \ |
471 \ | 471 \ |
472 /* Declarations and initialization */ \ | 472 /* Declarations and initialization */ \ |
473 F(DeclareGlobals, 3, 1) \ | 473 F(DeclareGlobals, 3, 1) \ |
474 F(DeclareModules, 1, 1) \ | 474 F(DeclareModules, 1, 1) \ |
475 F(DeclareContextSlot, 4, 1) \ | 475 F(DeclareContextSlot, 4, 1) \ |
476 F(InitializeConstGlobal, 2, 1) \ | 476 F(InitializeConstGlobal, 2, 1) \ |
477 F(InitializeConstContextSlot, 3, 1) \ | 477 F(InitializeConstContextSlot, 3, 1) \ |
478 \ | 478 \ |
479 /* Eval */ \ | 479 /* Eval */ \ |
480 F(ResolvePossiblyDirectEval, 5, 2) \ | 480 F(ResolvePossiblyDirectEval, 5, 2) \ |
481 \ | 481 \ |
482 /* Maths */ \ | 482 /* Maths */ \ |
483 F(MathPowSlow, 2, 1) \ | 483 F(MathPowSlow, 2, 1) \ |
484 F(MathPowRT, 2, 1) | 484 F(MathPowRT, 2, 1) \ |
| 485 /* Testing and comparison operations */ \ |
| 486 F(IsConstructor, 1, 1) |
485 | 487 |
486 | 488 |
487 #define RUNTIME_FUNCTION_LIST_DEBUGGER(F) \ | 489 #define RUNTIME_FUNCTION_LIST_DEBUGGER(F) \ |
488 /* Debugger support*/ \ | 490 /* Debugger support*/ \ |
489 F(DebugBreak, 0, 1) \ | 491 F(DebugBreak, 0, 1) \ |
490 F(SetDebugEventListener, 2, 1) \ | 492 F(SetDebugEventListener, 2, 1) \ |
491 F(Break, 0, 1) \ | 493 F(Break, 0, 1) \ |
492 F(DebugGetPropertyDetails, 2, 1) \ | 494 F(DebugGetPropertyDetails, 2, 1) \ |
493 F(DebugGetProperty, 2, 1) \ | 495 F(DebugGetProperty, 2, 1) \ |
494 F(DebugPropertyTypeFromDetails, 1, 1) \ | 496 F(DebugPropertyTypeFromDetails, 1, 1) \ |
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
890 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; | 892 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; |
891 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; | 893 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; |
892 | 894 |
893 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; | 895 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; |
894 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; | 896 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; |
895 class DeclareGlobalsStrictMode: public BitField<StrictMode, 2, 1> {}; | 897 class DeclareGlobalsStrictMode: public BitField<StrictMode, 2, 1> {}; |
896 | 898 |
897 } } // namespace v8::internal | 899 } } // namespace v8::internal |
898 | 900 |
899 #endif // V8_RUNTIME_H_ | 901 #endif // V8_RUNTIME_H_ |
OLD | NEW |