Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(446)

Side by Side Diff: src/assembler.cc

Issue 6591073: ARM: Implement untagged input for TranscendentalCacheStub. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix lint. Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after
809 static double div_two_doubles(double x, double y) { 809 static double div_two_doubles(double x, double y) {
810 return x / y; 810 return x / y;
811 } 811 }
812 812
813 813
814 static double mod_two_doubles(double x, double y) { 814 static double mod_two_doubles(double x, double y) {
815 return modulo(x, y); 815 return modulo(x, y);
816 } 816 }
817 817
818 818
819 static double math_sin_double(double x) {
820 return sin(x);
821 }
822
823
824 static double math_cos_double(double x) {
825 return cos(x);
826 }
827
828
829 static double math_log_double(double x) {
830 return log(x);
831 }
832
833
834 ExternalReference ExternalReference::math_sin_double_function() {
835 return ExternalReference(Redirect(FUNCTION_ADDR(math_sin_double),
836 FP_RETURN_CALL));
837 }
838
839
840 ExternalReference ExternalReference::math_cos_double_function() {
841 return ExternalReference(Redirect(FUNCTION_ADDR(math_cos_double),
842 FP_RETURN_CALL));
843 }
844
845
846 ExternalReference ExternalReference::math_log_double_function() {
847 return ExternalReference(Redirect(FUNCTION_ADDR(math_log_double),
848 FP_RETURN_CALL));
849 }
850
851
819 // Helper function to compute x^y, where y is known to be an 852 // Helper function to compute x^y, where y is known to be an
820 // integer. Uses binary decomposition to limit the number of 853 // integer. Uses binary decomposition to limit the number of
821 // multiplications; see the discussion in "Hacker's Delight" by Henry 854 // multiplications; see the discussion in "Hacker's Delight" by Henry
822 // S. Warren, Jr., figure 11-6, page 213. 855 // S. Warren, Jr., figure 11-6, page 213.
823 double power_double_int(double x, int y) { 856 double power_double_int(double x, int y) {
824 double m = (y < 0) ? 1 / x : x; 857 double m = (y < 0) ? 1 / x : x;
825 unsigned n = (y < 0) ? -y : y; 858 unsigned n = (y < 0) ? -y : y;
826 double p = 1; 859 double p = 1;
827 while (n != 0) { 860 while (n != 0) {
828 if ((n & 1) != 0) p *= m; 861 if ((n & 1) != 0) p *= m;
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
964 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); 997 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position);
965 state_.written_position = state_.current_position; 998 state_.written_position = state_.current_position;
966 written = true; 999 written = true;
967 } 1000 }
968 1001
969 // Return whether something was written. 1002 // Return whether something was written.
970 return written; 1003 return written;
971 } 1004 }
972 1005
973 } } // namespace v8::internal 1006 } } // namespace v8::internal
OLDNEW
« src/arm/code-stubs-arm.cc ('K') | « src/assembler.h ('k') | src/ia32/code-stubs-ia32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698