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

Side by Side Diff: src/compiler/wasm-compiler.cc

Issue 2166793002: [wasm] Use a C wrapper function to calculate F64Pow. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 5 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
« no previous file with comments | « src/compiler/wasm-compiler.h ('k') | src/external-reference-table.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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/wasm-compiler.h" 5 #include "src/compiler/wasm-compiler.h"
6 6
7 #include "src/isolate-inl.h" 7 #include "src/isolate-inl.h"
8 8
9 #include "src/base/platform/elapsed-timer.h" 9 #include "src/base/platform/elapsed-timer.h"
10 #include "src/base/platform/platform.h" 10 #include "src/base/platform/platform.h"
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 break; 602 break;
603 case wasm::kExprF32Min: 603 case wasm::kExprF32Min:
604 return BuildF32Min(left, right); 604 return BuildF32Min(left, right);
605 case wasm::kExprF64Min: 605 case wasm::kExprF64Min:
606 return BuildF64Min(left, right); 606 return BuildF64Min(left, right);
607 case wasm::kExprF32Max: 607 case wasm::kExprF32Max:
608 return BuildF32Max(left, right); 608 return BuildF32Max(left, right);
609 case wasm::kExprF64Max: 609 case wasm::kExprF64Max:
610 return BuildF64Max(left, right); 610 return BuildF64Max(left, right);
611 case wasm::kExprF64Pow: 611 case wasm::kExprF64Pow:
612 op = m->Float64Pow(); 612 return BuildF64Pow(left, right);
613 break;
614 case wasm::kExprF64Atan2: 613 case wasm::kExprF64Atan2:
615 op = m->Float64Atan2(); 614 op = m->Float64Atan2();
616 break; 615 break;
617 case wasm::kExprF64Mod: 616 case wasm::kExprF64Mod:
618 return BuildF64Mod(left, right); 617 return BuildF64Mod(left, right);
619 case wasm::kExprI32AsmjsDivS: 618 case wasm::kExprI32AsmjsDivS:
620 return BuildI32AsmjsDivS(left, right); 619 return BuildI32AsmjsDivS(left, right);
621 case wasm::kExprI32AsmjsDivU: 620 case wasm::kExprI32AsmjsDivU:
622 return BuildI32AsmjsDivU(left, right); 621 return BuildI32AsmjsDivU(left, right);
623 case wasm::kExprI32AsmjsRemS: 622 case wasm::kExprI32AsmjsRemS:
(...skipping 859 matching lines...) Expand 10 before | Expand all | Expand 10 after
1483 return BuildCFuncInstruction(ref, type, input); 1482 return BuildCFuncInstruction(ref, type, input);
1484 } 1483 }
1485 1484
1486 Node* WasmGraphBuilder::BuildF64Asin(Node* input) { 1485 Node* WasmGraphBuilder::BuildF64Asin(Node* input) {
1487 MachineType type = MachineType::Float64(); 1486 MachineType type = MachineType::Float64();
1488 ExternalReference ref = 1487 ExternalReference ref =
1489 ExternalReference::f64_asin_wrapper_function(jsgraph()->isolate()); 1488 ExternalReference::f64_asin_wrapper_function(jsgraph()->isolate());
1490 return BuildCFuncInstruction(ref, type, input); 1489 return BuildCFuncInstruction(ref, type, input);
1491 } 1490 }
1492 1491
1492 Node* WasmGraphBuilder::BuildF64Pow(Node* left, Node* right) {
1493 MachineType type = MachineType::Float64();
1494 ExternalReference ref =
1495 ExternalReference::wasm_float64_pow(jsgraph()->isolate());
1496 return BuildCFuncInstruction(ref, type, left, right);
1497 }
1498
1493 Node* WasmGraphBuilder::BuildF64Mod(Node* left, Node* right) { 1499 Node* WasmGraphBuilder::BuildF64Mod(Node* left, Node* right) {
1494 MachineType type = MachineType::Float64(); 1500 MachineType type = MachineType::Float64();
1495 ExternalReference ref = 1501 ExternalReference ref =
1496 ExternalReference::f64_mod_wrapper_function(jsgraph()->isolate()); 1502 ExternalReference::f64_mod_wrapper_function(jsgraph()->isolate());
1497 return BuildCFuncInstruction(ref, type, left, right); 1503 return BuildCFuncInstruction(ref, type, left, right);
1498 } 1504 }
1499 1505
1500 Node* WasmGraphBuilder::BuildCFuncInstruction(ExternalReference ref, 1506 Node* WasmGraphBuilder::BuildCFuncInstruction(ExternalReference ref,
1501 MachineType type, Node* input0, 1507 MachineType type, Node* input0,
1502 Node* input1) { 1508 Node* input1) {
(...skipping 2158 matching lines...) Expand 10 before | Expand all | Expand 10 after
3661 function_->code_start_offset), 3667 function_->code_start_offset),
3662 compile_ms); 3668 compile_ms);
3663 } 3669 }
3664 3670
3665 return code; 3671 return code;
3666 } 3672 }
3667 3673
3668 } // namespace compiler 3674 } // namespace compiler
3669 } // namespace internal 3675 } // namespace internal
3670 } // namespace v8 3676 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/wasm-compiler.h ('k') | src/external-reference-table.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698