[wasm] Use the new Float64Pow TF operator to implement F64Pow.

R=bmeurer@chromium.org

BUG=v8:5086,v8:5157

Review-Url: https://codereview.chromium.org/2107733002
Cr-Commit-Position: refs/heads/master@{#37375}
This commit is contained in:
ahaas 2016-06-29 02:35:43 -07:00 committed by Commit bot
parent 2652812b64
commit fba1a1aa6e
5 changed files with 2 additions and 22 deletions

View File

@ -1259,16 +1259,6 @@ ExternalReference ExternalReference::f64_asin_wrapper_function(
return ExternalReference(Redirect(isolate, FUNCTION_ADDR(f64_asin_wrapper)));
}
static void f64_pow_wrapper(double* param0, double* param1) {
WriteDoubleValue(param0, power_double_double(ReadDoubleValue(param0),
ReadDoubleValue(param1)));
}
ExternalReference ExternalReference::f64_pow_wrapper_function(
Isolate* isolate) {
return ExternalReference(Redirect(isolate, FUNCTION_ADDR(f64_pow_wrapper)));
}
static void f64_mod_wrapper(double* param0, double* param1) {
WriteDoubleValue(param0,
modulo(ReadDoubleValue(param0), ReadDoubleValue(param1)));

View File

@ -973,7 +973,6 @@ class ExternalReference BASE_EMBEDDED {
static ExternalReference f64_acos_wrapper_function(Isolate* isolate);
static ExternalReference f64_asin_wrapper_function(Isolate* isolate);
static ExternalReference f64_pow_wrapper_function(Isolate* isolate);
static ExternalReference f64_mod_wrapper_function(Isolate* isolate);
// Log support.

View File

@ -604,7 +604,8 @@ Node* WasmGraphBuilder::Binop(wasm::WasmOpcode opcode, Node* left, Node* right,
case wasm::kExprF64Max:
return BuildF64Max(left, right);
case wasm::kExprF64Pow:
return BuildF64Pow(left, right);
op = m->Float64Pow();
break;
case wasm::kExprF64Atan2:
op = m->Float64Atan2();
break;
@ -1482,13 +1483,6 @@ Node* WasmGraphBuilder::BuildF64Asin(Node* input) {
return BuildCFuncInstruction(ref, type, input);
}
Node* WasmGraphBuilder::BuildF64Pow(Node* left, Node* right) {
MachineType type = MachineType::Float64();
ExternalReference ref =
ExternalReference::f64_pow_wrapper_function(jsgraph()->isolate());
return BuildCFuncInstruction(ref, type, left, right);
}
Node* WasmGraphBuilder::BuildF64Mod(Node* left, Node* right) {
MachineType type = MachineType::Float64();
ExternalReference ref =

View File

@ -280,7 +280,6 @@ class WasmGraphBuilder {
Node* BuildF64Acos(Node* input);
Node* BuildF64Asin(Node* input);
Node* BuildF64Pow(Node* left, Node* right);
Node* BuildF64Mod(Node* left, Node* right);
Node* BuildIntToFloatConversionInstruction(

View File

@ -170,8 +170,6 @@ ExternalReferenceTable::ExternalReferenceTable(Isolate* isolate) {
"f64_acos_wrapper");
Add(ExternalReference::f64_asin_wrapper_function(isolate).address(),
"f64_asin_wrapper");
Add(ExternalReference::f64_pow_wrapper_function(isolate).address(),
"f64_pow_wrapper");
Add(ExternalReference::f64_mod_wrapper_function(isolate).address(),
"f64_mod_wrapper");
Add(ExternalReference::log_enter_external_function(isolate).address(),