From 1bee2d8a34ed45beee7f88fae09c07570acb7cd9 Mon Sep 17 00:00:00 2001 From: "whesse@chromium.org" Date: Tue, 7 Jul 2009 07:53:15 +0000 Subject: [PATCH] X64: Implement sin and cos. Review URL: http://codereview.chromium.org/149200 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/x64/codegen-x64.cc | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/x64/codegen-x64.cc b/src/x64/codegen-x64.cc index 723bfc2..8dfd7cc 100644 --- a/src/x64/codegen-x64.cc +++ b/src/x64/codegen-x64.cc @@ -3361,7 +3361,21 @@ void CodeGenerator::GenerateRandomPositiveSmi(ZoneList* args) { void CodeGenerator::GenerateFastMathOp(MathOp op, ZoneList* args) { - UNIMPLEMENTED(); + // TODO(X64): Use inline floating point in the fast case. + ASSERT(args->length() == 1); + + // Load number. + Load(args->at(0)); + Result answer; + switch (op) { + case SIN: + answer = frame_->CallRuntime(Runtime::kMath_sin, 1); + break; + case COS: + answer = frame_->CallRuntime(Runtime::kMath_cos, 1); + break; + } + frame_->Push(&answer); } -- 2.7.4