Revision: 4055
Author: [email protected]
Date: Mon Mar 8 05:49:23 2010
Log: Added sqrt and pow for arm and x64 - to fix build failures.
Review URL: http://codereview.chromium.org/669272
http://code.google.com/p/v8/source/detail?r=4055
Modified:
/branches/bleeding_edge/src/arm/codegen-arm.cc
/branches/bleeding_edge/src/arm/codegen-arm.h
/branches/bleeding_edge/src/mips/codegen-mips.cc
/branches/bleeding_edge/src/mips/codegen-mips.h
/branches/bleeding_edge/src/x64/codegen-x64.cc
/branches/bleeding_edge/src/x64/codegen-x64.h
=======================================
--- /branches/bleeding_edge/src/arm/codegen-arm.cc Mon Mar 8 03:58:33 2010
+++ /branches/bleeding_edge/src/arm/codegen-arm.cc Mon Mar 8 05:49:23 2010
@@ -3324,13 +3324,23 @@
// Generates the Math.pow method - currently just calls runtime.
-void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) {
+void CodeGenerator::GenerateMathPow(ZoneList<Expression*>* args) {
ASSERT(args->length() == 2);
Load(args->at(0));
Load(args->at(1));
frame_->CallRuntime(Runtime::kMath_pow, 2);
frame_->EmitPush(r0);
}
+
+
+// Generates the Math.sqrt method - currently just calls runtime.
+void CodeGenerator::GenerateMathSqrt(ZoneList<Expression*>* args) {
+ ASSERT(args->length() == 1);
+ Load(args->at(0));
+ frame_->CallRuntime(Runtime::kMath_sqrt, 1);
+ frame_->EmitPush(r0);
+}
+
// This should generate code that performs a charCodeAt() call or returns
// undefined in order to trigger the slow case, Runtime_StringCharCodeAt.
=======================================
--- /branches/bleeding_edge/src/arm/codegen-arm.h Mon Mar 8 03:58:33 2010
+++ /branches/bleeding_edge/src/arm/codegen-arm.h Mon Mar 8 05:49:23 2010
@@ -397,12 +397,15 @@
void GenerateNumberToString(ZoneList<Expression*>* args);
// Fast support for Math.pow().
- void GeneratePow(ZoneList<Expression*>* args);
+ void GenerateMathPow(ZoneList<Expression*>* args);
// Fast call to sine function.
void GenerateMathSin(ZoneList<Expression*>* args);
void GenerateMathCos(ZoneList<Expression*>* args);
+ // Fast support for Math.pow().
+ void GenerateMathSqrt(ZoneList<Expression*>* args);
+
// Simple condition analysis.
enum ConditionAnalysis {
ALWAYS_TRUE,
=======================================
--- /branches/bleeding_edge/src/mips/codegen-mips.cc Mon Mar 1 00:32:54
2010
+++ /branches/bleeding_edge/src/mips/codegen-mips.cc Mon Mar 8 05:49:23
2010
@@ -292,7 +292,12 @@
}
-void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) {
+void CodeGenerator::GenerateMathPow(ZoneList<Expression*>* args) {
+ UNIMPLEMENTED_MIPS();
+}
+
+
+void CodeGenerator::GenerateMathSqrt(ZoneList<Expression*>* args) {
UNIMPLEMENTED_MIPS();
}
=======================================
--- /branches/bleeding_edge/src/mips/codegen-mips.h Mon Mar 1 00:32:54 2010
+++ /branches/bleeding_edge/src/mips/codegen-mips.h Mon Mar 8 05:49:23 2010
@@ -247,7 +247,10 @@
void GenerateNumberToString(ZoneList<Expression*>* args);
// Fast support for Math.pow().
- void GeneratePow(ZoneList<Expression*>* args);
+ void GenerateMathPow(ZoneList<Expression*>* args);
+ // Fast support for Math.sqrt().
+ void GenerateMathPow(ZoneList<Expression*>* args);
+
// Fast support for Math.sin and Math.cos.
inline void GenerateMathSin(ZoneList<Expression*>* args);
=======================================
--- /branches/bleeding_edge/src/x64/codegen-x64.cc Mon Mar 8 03:58:33 2010
+++ /branches/bleeding_edge/src/x64/codegen-x64.cc Mon Mar 8 05:49:23 2010
@@ -3933,13 +3933,22 @@
// Generates the Math.pow method - currently just calls runtime.
-void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) {
+void CodeGenerator::GenerateMathPow(ZoneList<Expression*>* args) {
ASSERT(args->length() == 2);
Load(args->at(0));
Load(args->at(1));
Result res = frame_->CallRuntime(Runtime::kMath_pow, 2);
frame_->Push(&res);
}
+
+
+// Generates the Math.sqrt method - currently just calls runtime.
+void CodeGenerator::GenerateMathSqrt(ZoneList<Expression*>* args) {
+ ASSERT(args->length() == 1);
+ Load(args->at(0));
+ Result res = frame_->CallRuntime(Runtime::kMath_sqrt, 1);
+ frame_->Push(&res);
+}
void CodeGenerator::GenerateIsSmi(ZoneList<Expression*>* args) {
=======================================
--- /branches/bleeding_edge/src/x64/codegen-x64.h Mon Mar 8 03:58:33 2010
+++ /branches/bleeding_edge/src/x64/codegen-x64.h Mon Mar 8 05:49:23 2010
@@ -576,12 +576,15 @@
void GenerateNumberToString(ZoneList<Expression*>* args);
// Fast support for Math.pow().
- void GeneratePow(ZoneList<Expression*>* args);
+ void GenerateMathPow(ZoneList<Expression*>* args);
// Fast call to math functions.
void GenerateMathSin(ZoneList<Expression*>* args);
void GenerateMathCos(ZoneList<Expression*>* args);
+ // Fast case for sqrt
+ void GenerateMathSqrt(ZoneList<Expression*>* args);
+
// Simple condition analysis.
enum ConditionAnalysis {
ALWAYS_TRUE,
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev