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 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 // Fast support for StringCompare. | 569 // Fast support for StringCompare. |
570 void GenerateStringCompare(ZoneList<Expression*>* args); | 570 void GenerateStringCompare(ZoneList<Expression*>* args); |
571 | 571 |
572 // Support for direct calls from JavaScript to native RegExp code. | 572 // Support for direct calls from JavaScript to native RegExp code. |
573 void GenerateRegExpExec(ZoneList<Expression*>* args); | 573 void GenerateRegExpExec(ZoneList<Expression*>* args); |
574 | 574 |
575 // Fast support for number to string. | 575 // Fast support for number to string. |
576 void GenerateNumberToString(ZoneList<Expression*>* args); | 576 void GenerateNumberToString(ZoneList<Expression*>* args); |
577 | 577 |
578 // Fast support for Math.pow(). | 578 // Fast support for Math.pow(). |
579 void GeneratePow(ZoneList<Expression*>* args); | 579 void GenerateMathPow(ZoneList<Expression*>* args); |
580 | 580 |
581 // Fast call to math functions. | 581 // Fast call to math functions. |
582 void GenerateMathSin(ZoneList<Expression*>* args); | 582 void GenerateMathSin(ZoneList<Expression*>* args); |
583 void GenerateMathCos(ZoneList<Expression*>* args); | 583 void GenerateMathCos(ZoneList<Expression*>* args); |
584 | 584 |
| 585 // Fast case for sqrt |
| 586 void GenerateMathSqrt(ZoneList<Expression*>* args); |
| 587 |
585 // Simple condition analysis. | 588 // Simple condition analysis. |
586 enum ConditionAnalysis { | 589 enum ConditionAnalysis { |
587 ALWAYS_TRUE, | 590 ALWAYS_TRUE, |
588 ALWAYS_FALSE, | 591 ALWAYS_FALSE, |
589 DONT_KNOW | 592 DONT_KNOW |
590 }; | 593 }; |
591 ConditionAnalysis AnalyzeCondition(Expression* cond); | 594 ConditionAnalysis AnalyzeCondition(Expression* cond); |
592 | 595 |
593 // Methods used to indicate which source code is generated for. Source | 596 // Methods used to indicate which source code is generated for. Source |
594 // positions are collected by the assembler and emitted with the relocation | 597 // positions are collected by the assembler and emitted with the relocation |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 Major MajorKey() { return StringCompare; } | 860 Major MajorKey() { return StringCompare; } |
858 int MinorKey() { return 0; } | 861 int MinorKey() { return 0; } |
859 | 862 |
860 void Generate(MacroAssembler* masm); | 863 void Generate(MacroAssembler* masm); |
861 }; | 864 }; |
862 | 865 |
863 | 866 |
864 } } // namespace v8::internal | 867 } } // namespace v8::internal |
865 | 868 |
866 #endif // V8_X64_CODEGEN_X64_H_ | 869 #endif // V8_X64_CODEGEN_X64_H_ |
OLD | NEW |