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 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 /* Literals */ \ | 289 /* Literals */ \ |
290 F(MaterializeRegExpLiteral, 4, 1)\ | 290 F(MaterializeRegExpLiteral, 4, 1)\ |
291 F(CreateObjectLiteral, 4, 1) \ | 291 F(CreateObjectLiteral, 4, 1) \ |
292 F(CreateObjectLiteralShallow, 4, 1) \ | 292 F(CreateObjectLiteralShallow, 4, 1) \ |
293 F(CreateArrayLiteral, 3, 1) \ | 293 F(CreateArrayLiteral, 3, 1) \ |
294 F(CreateArrayLiteralShallow, 3, 1) \ | 294 F(CreateArrayLiteralShallow, 3, 1) \ |
295 \ | 295 \ |
296 /* Harmony modules */ \ | 296 /* Harmony modules */ \ |
297 F(IsJSModule, 1, 1) \ | 297 F(IsJSModule, 1, 1) \ |
298 \ | 298 \ |
| 299 /* Harmony symbols */ \ |
| 300 F(CreateSymbol, 0, 1) \ |
| 301 \ |
299 /* Harmony proxies */ \ | 302 /* Harmony proxies */ \ |
300 F(CreateJSProxy, 2, 1) \ | 303 F(CreateJSProxy, 2, 1) \ |
301 F(CreateJSFunctionProxy, 4, 1) \ | 304 F(CreateJSFunctionProxy, 4, 1) \ |
302 F(IsJSProxy, 1, 1) \ | 305 F(IsJSProxy, 1, 1) \ |
303 F(IsJSFunctionProxy, 1, 1) \ | 306 F(IsJSFunctionProxy, 1, 1) \ |
304 F(GetHandler, 1, 1) \ | 307 F(GetHandler, 1, 1) \ |
305 F(GetCallTrap, 1, 1) \ | 308 F(GetCallTrap, 1, 1) \ |
306 F(GetConstructTrap, 1, 1) \ | 309 F(GetConstructTrap, 1, 1) \ |
307 F(Fix, 1, 1) \ | 310 F(Fix, 1, 1) \ |
308 \ | 311 \ |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 RUNTIME_FUNCTION_LIST_DEBUG(F) \ | 505 RUNTIME_FUNCTION_LIST_DEBUG(F) \ |
503 RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) | 506 RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) |
504 | 507 |
505 // ---------------------------------------------------------------------------- | 508 // ---------------------------------------------------------------------------- |
506 // INLINE_FUNCTION_LIST defines all inlined functions accessed | 509 // INLINE_FUNCTION_LIST defines all inlined functions accessed |
507 // with a native call of the form %_name from within JS code. | 510 // with a native call of the form %_name from within JS code. |
508 // Entries have the form F(name, number of arguments, number of return values). | 511 // Entries have the form F(name, number of arguments, number of return values). |
509 #define INLINE_FUNCTION_LIST(F) \ | 512 #define INLINE_FUNCTION_LIST(F) \ |
510 F(IsSmi, 1, 1) \ | 513 F(IsSmi, 1, 1) \ |
511 F(IsNonNegativeSmi, 1, 1) \ | 514 F(IsNonNegativeSmi, 1, 1) \ |
| 515 F(IsSymbol, 1, 1) \ |
512 F(IsArray, 1, 1) \ | 516 F(IsArray, 1, 1) \ |
513 F(IsRegExp, 1, 1) \ | 517 F(IsRegExp, 1, 1) \ |
514 F(IsConstructCall, 0, 1) \ | 518 F(IsConstructCall, 0, 1) \ |
515 F(CallFunction, -1 /* receiver + n args + function */, 1) \ | 519 F(CallFunction, -1 /* receiver + n args + function */, 1) \ |
516 F(ArgumentsLength, 0, 1) \ | 520 F(ArgumentsLength, 0, 1) \ |
517 F(Arguments, 1, 1) \ | 521 F(Arguments, 1, 1) \ |
518 F(ValueOf, 1, 1) \ | 522 F(ValueOf, 1, 1) \ |
519 F(SetValueOf, 2, 1) \ | 523 F(SetValueOf, 2, 1) \ |
520 F(DateField, 2 /* date object, field index */, 1) \ | 524 F(DateField, 2 /* date object, field index */, 1) \ |
521 F(StringCharFromCode, 1, 1) \ | 525 F(StringCharFromCode, 1, 1) \ |
(...skipping 13 matching lines...) Expand all Loading... |
535 F(MathTan, 1, 1) \ | 539 F(MathTan, 1, 1) \ |
536 F(MathSqrt, 1, 1) \ | 540 F(MathSqrt, 1, 1) \ |
537 F(MathLog, 1, 1) \ | 541 F(MathLog, 1, 1) \ |
538 F(IsRegExpEquivalent, 2, 1) \ | 542 F(IsRegExpEquivalent, 2, 1) \ |
539 F(HasCachedArrayIndex, 1, 1) \ | 543 F(HasCachedArrayIndex, 1, 1) \ |
540 F(GetCachedArrayIndex, 1, 1) \ | 544 F(GetCachedArrayIndex, 1, 1) \ |
541 F(FastAsciiArrayJoin, 2, 1) | 545 F(FastAsciiArrayJoin, 2, 1) |
542 | 546 |
543 | 547 |
544 // ---------------------------------------------------------------------------- | 548 // ---------------------------------------------------------------------------- |
545 // INLINE_AND_RUNTIME_FUNCTION_LIST defines all inlined functions accessed | 549 // INLINE_RUNTIME_FUNCTION_LIST defines all inlined functions accessed |
546 // with a native call of the form %_name from within JS code that also have | 550 // with a native call of the form %_name from within JS code that also have |
547 // a corresponding runtime function, that is called for slow cases. | 551 // a corresponding runtime function, that is called for slow cases. |
548 // Entries have the form F(name, number of arguments, number of return values). | 552 // Entries have the form F(name, number of arguments, number of return values). |
549 #define INLINE_RUNTIME_FUNCTION_LIST(F) \ | 553 #define INLINE_RUNTIME_FUNCTION_LIST(F) \ |
550 F(ClassOf, 1, 1) \ | 554 F(ClassOf, 1, 1) \ |
551 F(StringCharCodeAt, 2, 1) \ | 555 F(StringCharCodeAt, 2, 1) \ |
552 F(Log, 3, 1) \ | 556 F(Log, 3, 1) \ |
553 F(StringAdd, 2, 1) \ | 557 F(StringAdd, 2, 1) \ |
554 F(SubString, 3, 1) \ | 558 F(SubString, 3, 1) \ |
555 F(StringCompare, 2, 1) \ | 559 F(StringCompare, 2, 1) \ |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
712 //--------------------------------------------------------------------------- | 716 //--------------------------------------------------------------------------- |
713 // Constants used by interface to runtime functions. | 717 // Constants used by interface to runtime functions. |
714 | 718 |
715 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; | 719 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; |
716 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; | 720 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; |
717 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {}; | 721 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {}; |
718 | 722 |
719 } } // namespace v8::internal | 723 } } // namespace v8::internal |
720 | 724 |
721 #endif // V8_RUNTIME_H_ | 725 #endif // V8_RUNTIME_H_ |
OLD | NEW |