OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
628 | 628 |
629 static Handle<Code> ComputeKeyedCallInitialize(int argc, InLoopFlag in_loop); | 629 static Handle<Code> ComputeKeyedCallInitialize(int argc, InLoopFlag in_loop); |
630 | 630 |
631 // Declare global variables and functions in the given array of | 631 // Declare global variables and functions in the given array of |
632 // name/value pairs. | 632 // name/value pairs. |
633 void DeclareGlobals(Handle<FixedArray> pairs); | 633 void DeclareGlobals(Handle<FixedArray> pairs); |
634 | 634 |
635 // Instantiate the function based on the shared function info. | 635 // Instantiate the function based on the shared function info. |
636 Result InstantiateFunction(Handle<SharedFunctionInfo> function_info); | 636 Result InstantiateFunction(Handle<SharedFunctionInfo> function_info); |
637 | 637 |
638 // Support for type checks. | 638 // Support for types. |
639 void GenerateIsSmi(ZoneList<Expression*>* args); | 639 void GenerateIsSmi(ZoneList<Expression*>* args); |
640 void GenerateIsNonNegativeSmi(ZoneList<Expression*>* args); | 640 void GenerateIsNonNegativeSmi(ZoneList<Expression*>* args); |
641 void GenerateIsArray(ZoneList<Expression*>* args); | 641 void GenerateIsArray(ZoneList<Expression*>* args); |
642 void GenerateIsRegExp(ZoneList<Expression*>* args); | 642 void GenerateIsRegExp(ZoneList<Expression*>* args); |
643 void GenerateIsObject(ZoneList<Expression*>* args); | 643 void GenerateIsObject(ZoneList<Expression*>* args); |
644 void GenerateIsSpecObject(ZoneList<Expression*>* args); | 644 void GenerateIsSpecObject(ZoneList<Expression*>* args); |
645 void GenerateIsFunction(ZoneList<Expression*>* args); | 645 void GenerateIsFunction(ZoneList<Expression*>* args); |
646 void GenerateIsUndetectableObject(ZoneList<Expression*>* args); | 646 void GenerateIsUndetectableObject(ZoneList<Expression*>* args); |
647 | 647 |
648 // Support for construct call checks. | 648 // Support for construct call checks. |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 | 703 |
704 // Fast call for custom callbacks. | 704 // Fast call for custom callbacks. |
705 void GenerateCallFunction(ZoneList<Expression*>* args); | 705 void GenerateCallFunction(ZoneList<Expression*>* args); |
706 | 706 |
707 // Fast call to math functions. | 707 // Fast call to math functions. |
708 void GenerateMathPow(ZoneList<Expression*>* args); | 708 void GenerateMathPow(ZoneList<Expression*>* args); |
709 void GenerateMathSin(ZoneList<Expression*>* args); | 709 void GenerateMathSin(ZoneList<Expression*>* args); |
710 void GenerateMathCos(ZoneList<Expression*>* args); | 710 void GenerateMathCos(ZoneList<Expression*>* args); |
711 void GenerateMathSqrt(ZoneList<Expression*>* args); | 711 void GenerateMathSqrt(ZoneList<Expression*>* args); |
712 | 712 |
| 713 // Check whether two RegExps are equivalent |
| 714 void GenerateIsRegExpEquivalent(ZoneList<Expression*>* args); |
| 715 |
713 // Simple condition analysis. | 716 // Simple condition analysis. |
714 enum ConditionAnalysis { | 717 enum ConditionAnalysis { |
715 ALWAYS_TRUE, | 718 ALWAYS_TRUE, |
716 ALWAYS_FALSE, | 719 ALWAYS_FALSE, |
717 DONT_KNOW | 720 DONT_KNOW |
718 }; | 721 }; |
719 ConditionAnalysis AnalyzeCondition(Expression* cond); | 722 ConditionAnalysis AnalyzeCondition(Expression* cond); |
720 | 723 |
721 // Methods used to indicate which source code is generated for. Source | 724 // Methods used to indicate which source code is generated for. Source |
722 // positions are collected by the assembler and emitted with the relocation | 725 // positions are collected by the assembler and emitted with the relocation |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1088 void Print() { | 1091 void Print() { |
1089 PrintF("NumberToStringStub\n"); | 1092 PrintF("NumberToStringStub\n"); |
1090 } | 1093 } |
1091 #endif | 1094 #endif |
1092 }; | 1095 }; |
1093 | 1096 |
1094 | 1097 |
1095 } } // namespace v8::internal | 1098 } } // namespace v8::internal |
1096 | 1099 |
1097 #endif // V8_IA32_CODEGEN_IA32_H_ | 1100 #endif // V8_IA32_CODEGEN_IA32_H_ |
OLD | NEW |