OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 | 479 |
480 // ---------------------------------------------------------------------------- | 480 // ---------------------------------------------------------------------------- |
481 // INLINE_FUNCTION_LIST defines all inlined functions accessed | 481 // INLINE_FUNCTION_LIST defines all inlined functions accessed |
482 // with a native call of the form %_name from within JS code. | 482 // with a native call of the form %_name from within JS code. |
483 // Entries have the form F(name, number of arguments, number of return values). | 483 // Entries have the form F(name, number of arguments, number of return values). |
484 #define INLINE_FUNCTION_LIST(F) \ | 484 #define INLINE_FUNCTION_LIST(F) \ |
485 F(IsSmi, 1, 1) \ | 485 F(IsSmi, 1, 1) \ |
486 F(IsNonNegativeSmi, 1, 1) \ | 486 F(IsNonNegativeSmi, 1, 1) \ |
487 F(IsArray, 1, 1) \ | 487 F(IsArray, 1, 1) \ |
488 F(IsRegExp, 1, 1) \ | 488 F(IsRegExp, 1, 1) \ |
| 489 F(IsConstructCall, 0, 1) \ |
489 F(CallFunction, -1 /* receiver + n args + function */, 1) \ | 490 F(CallFunction, -1 /* receiver + n args + function */, 1) \ |
490 F(ArgumentsLength, 0, 1) \ | 491 F(ArgumentsLength, 0, 1) \ |
491 F(Arguments, 1, 1) \ | 492 F(Arguments, 1, 1) \ |
492 F(ValueOf, 1, 1) \ | 493 F(ValueOf, 1, 1) \ |
493 F(SetValueOf, 2, 1) \ | 494 F(SetValueOf, 2, 1) \ |
494 F(DateField, 2 /* date object, field index */, 1) \ | 495 F(DateField, 2 /* date object, field index */, 1) \ |
495 F(StringCharFromCode, 1, 1) \ | 496 F(StringCharFromCode, 1, 1) \ |
496 F(StringCharAt, 2, 1) \ | 497 F(StringCharAt, 2, 1) \ |
497 F(ObjectEquals, 2, 1) \ | 498 F(ObjectEquals, 2, 1) \ |
498 F(RandomHeapNumber, 0, 1) \ | 499 F(RandomHeapNumber, 0, 1) \ |
499 F(IsObject, 1, 1) \ | 500 F(IsObject, 1, 1) \ |
500 F(IsFunction, 1, 1) \ | 501 F(IsFunction, 1, 1) \ |
501 F(IsUndetectableObject, 1, 1) \ | 502 F(IsUndetectableObject, 1, 1) \ |
502 F(IsSpecObject, 1, 1) \ | 503 F(IsSpecObject, 1, 1) \ |
503 F(IsStringWrapperSafeForDefaultValueOf, 1, 1) \ | 504 F(IsStringWrapperSafeForDefaultValueOf, 1, 1) \ |
504 F(MathPow, 2, 1) \ | 505 F(MathPow, 2, 1) \ |
505 F(MathSin, 1, 1) \ | 506 F(MathSin, 1, 1) \ |
506 F(MathCos, 1, 1) \ | 507 F(MathCos, 1, 1) \ |
507 F(MathTan, 1, 1) \ | 508 F(MathTan, 1, 1) \ |
508 F(MathSqrt, 1, 1) \ | 509 F(MathSqrt, 1, 1) \ |
509 F(MathLog, 1, 1) \ | 510 F(MathLog, 1, 1) \ |
510 F(IsRegExpEquivalent, 2, 1) \ | 511 F(IsRegExpEquivalent, 2, 1) \ |
511 F(HasCachedArrayIndex, 1, 1) \ | 512 F(HasCachedArrayIndex, 1, 1) \ |
512 F(GetCachedArrayIndex, 1, 1) \ | 513 F(GetCachedArrayIndex, 1, 1) \ |
513 F(FastAsciiArrayJoin, 2, 1) | 514 F(FastAsciiArrayJoin, 2, 1) |
514 | 515 |
515 | 516 |
516 // ---------------------------------------------------------------------------- | 517 // ---------------------------------------------------------------------------- |
517 // INLINE_AND_RUNTIME_FUNCTION_LIST defines all inlined functions accessed | 518 // INLINE_AND_RUNTIME_FUNCTION_LIST defines all inlined functions accessed |
518 // with a native call of the form %_name from within JS code that also have | 519 // with a native call of the form %_name from within JS code that also have |
519 // a corresponding runtime function, that is called for slow cases. | 520 // a corresponding runtime function, that is called for slow cases. |
520 // Entries have the form F(name, number of arguments, number of return values). | 521 // Entries have the form F(name, number of arguments, number of return values). |
521 #define INLINE_RUNTIME_FUNCTION_LIST(F) \ | 522 #define INLINE_RUNTIME_FUNCTION_LIST(F) \ |
522 F(IsConstructCall, 0, 1) \ | |
523 F(ClassOf, 1, 1) \ | 523 F(ClassOf, 1, 1) \ |
524 F(StringCharCodeAt, 2, 1) \ | 524 F(StringCharCodeAt, 2, 1) \ |
525 F(Log, 3, 1) \ | 525 F(Log, 3, 1) \ |
526 F(StringAdd, 2, 1) \ | 526 F(StringAdd, 2, 1) \ |
527 F(SubString, 3, 1) \ | 527 F(SubString, 3, 1) \ |
528 F(StringCompare, 2, 1) \ | 528 F(StringCompare, 2, 1) \ |
529 F(RegExpExec, 4, 1) \ | 529 F(RegExpExec, 4, 1) \ |
530 F(RegExpConstructResult, 3, 1) \ | 530 F(RegExpConstructResult, 3, 1) \ |
531 F(GetFromCache, 2, 1) \ | 531 F(GetFromCache, 2, 1) \ |
532 F(NumberToString, 1, 1) \ | 532 F(NumberToString, 1, 1) \ |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
697 //--------------------------------------------------------------------------- | 697 //--------------------------------------------------------------------------- |
698 // Constants used by interface to runtime functions. | 698 // Constants used by interface to runtime functions. |
699 | 699 |
700 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; | 700 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; |
701 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; | 701 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; |
702 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {}; | 702 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {}; |
703 | 703 |
704 } } // namespace v8::internal | 704 } } // namespace v8::internal |
705 | 705 |
706 #endif // V8_RUNTIME_H_ | 706 #endif // V8_RUNTIME_H_ |
OLD | NEW |