OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" |
8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" |
9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" |
10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" |
(...skipping 864 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
875 break; | 875 break; |
876 case kIeee754Float64Atanh: | 876 case kIeee754Float64Atanh: |
877 ASSEMBLE_IEEE754_UNOP(atanh); | 877 ASSEMBLE_IEEE754_UNOP(atanh); |
878 break; | 878 break; |
879 case kIeee754Float64Cbrt: | 879 case kIeee754Float64Cbrt: |
880 ASSEMBLE_IEEE754_UNOP(cbrt); | 880 ASSEMBLE_IEEE754_UNOP(cbrt); |
881 break; | 881 break; |
882 case kIeee754Float64Cos: | 882 case kIeee754Float64Cos: |
883 ASSEMBLE_IEEE754_UNOP(cos); | 883 ASSEMBLE_IEEE754_UNOP(cos); |
884 break; | 884 break; |
| 885 case kIeee754Float64Cosh: |
| 886 ASSEMBLE_IEEE754_UNOP(cosh); |
| 887 break; |
885 case kIeee754Float64Exp: | 888 case kIeee754Float64Exp: |
886 ASSEMBLE_IEEE754_UNOP(exp); | 889 ASSEMBLE_IEEE754_UNOP(exp); |
887 break; | 890 break; |
888 case kIeee754Float64Expm1: | 891 case kIeee754Float64Expm1: |
889 ASSEMBLE_IEEE754_UNOP(expm1); | 892 ASSEMBLE_IEEE754_UNOP(expm1); |
890 break; | 893 break; |
891 case kIeee754Float64Log: | 894 case kIeee754Float64Log: |
892 ASSEMBLE_IEEE754_UNOP(log); | 895 ASSEMBLE_IEEE754_UNOP(log); |
893 break; | 896 break; |
894 case kIeee754Float64Log1p: | 897 case kIeee754Float64Log1p: |
895 ASSEMBLE_IEEE754_UNOP(log1p); | 898 ASSEMBLE_IEEE754_UNOP(log1p); |
896 break; | 899 break; |
897 case kIeee754Float64Log2: | 900 case kIeee754Float64Log2: |
898 ASSEMBLE_IEEE754_UNOP(log2); | 901 ASSEMBLE_IEEE754_UNOP(log2); |
899 break; | 902 break; |
900 case kIeee754Float64Log10: | 903 case kIeee754Float64Log10: |
901 ASSEMBLE_IEEE754_UNOP(log10); | 904 ASSEMBLE_IEEE754_UNOP(log10); |
902 break; | 905 break; |
903 case kIeee754Float64Pow: { | 906 case kIeee754Float64Pow: { |
904 // TODO(bmeurer): Improve integration of the stub. | 907 // TODO(bmeurer): Improve integration of the stub. |
905 __ Movsd(xmm2, xmm0); | 908 __ Movsd(xmm2, xmm0); |
906 MathPowStub stub(isolate(), MathPowStub::DOUBLE); | 909 MathPowStub stub(isolate(), MathPowStub::DOUBLE); |
907 __ CallStub(&stub); | 910 __ CallStub(&stub); |
908 __ Movsd(xmm0, xmm3); | 911 __ Movsd(xmm0, xmm3); |
909 break; | 912 break; |
910 } | 913 } |
911 case kIeee754Float64Sin: | 914 case kIeee754Float64Sin: |
912 ASSEMBLE_IEEE754_UNOP(sin); | 915 ASSEMBLE_IEEE754_UNOP(sin); |
913 break; | 916 break; |
| 917 case kIeee754Float64Sinh: |
| 918 ASSEMBLE_IEEE754_UNOP(sinh); |
| 919 break; |
914 case kIeee754Float64Tan: | 920 case kIeee754Float64Tan: |
915 ASSEMBLE_IEEE754_UNOP(tan); | 921 ASSEMBLE_IEEE754_UNOP(tan); |
916 break; | 922 break; |
| 923 case kIeee754Float64Tanh: |
| 924 ASSEMBLE_IEEE754_UNOP(tanh); |
| 925 break; |
917 case kX64Add32: | 926 case kX64Add32: |
918 ASSEMBLE_BINOP(addl); | 927 ASSEMBLE_BINOP(addl); |
919 break; | 928 break; |
920 case kX64Add: | 929 case kX64Add: |
921 ASSEMBLE_BINOP(addq); | 930 ASSEMBLE_BINOP(addq); |
922 break; | 931 break; |
923 case kX64Sub32: | 932 case kX64Sub32: |
924 ASSEMBLE_BINOP(subl); | 933 ASSEMBLE_BINOP(subl); |
925 break; | 934 break; |
926 case kX64Sub: | 935 case kX64Sub: |
(...skipping 1467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2394 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 2403 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; |
2395 __ Nop(padding_size); | 2404 __ Nop(padding_size); |
2396 } | 2405 } |
2397 } | 2406 } |
2398 | 2407 |
2399 #undef __ | 2408 #undef __ |
2400 | 2409 |
2401 } // namespace compiler | 2410 } // namespace compiler |
2402 } // namespace internal | 2411 } // namespace internal |
2403 } // namespace v8 | 2412 } // namespace v8 |
OLD | NEW |