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

Reply via email to