Reviewers: Jakob,

Message:
Second attempt at fixing and relanding. As usual, the second patch set is the
diff from the reverted CL.

Changes include:
- Removed %_MathFloor. Turns out MathFloor also gets inlined thanks to
TryInlineBuiltinFunctionCall
- Refactored the Initialization so that the closures of the interpolation
functions are baked into the snapshot as opposed to generated in the
initializer. The difference is that in the latter case, the interpolation
function are often still in new space when we optimize, so we don't inline them.
- Removed test cases for sin/cos/tan constant folding, since we no longer
constant fold them. I expect no performance difference. I most cases GVN would
kick in anyways.
- Use %_IsMinusZero to check for minus zero. I do this after calculating
"multiple" to get implicit to-number conversion for the multiplication.
%_IsMinusZero is elided in optimized code anyways, since MathFloor returns an
Integer32 and takes care of minus-zero check.
- Skipping tests that expect unspecified behavior.

Description:
Reland "Implement Math.sin, cos and tan using table lookup and spline
interpolation."

This relands r17594 with necessary fixes.

[email protected]
BUG=

Please review this at https://codereview.chromium.org/70003004/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+269, -229 lines):
  M src/arm/full-codegen-arm.cc
  M src/hydrogen.cc
  M src/ia32/full-codegen-ia32.cc
  M src/math.js
  M src/mips/full-codegen-mips.cc
  M src/objects-inl.h
  M src/objects.h
  M src/objects.cc
  M src/runtime.h
  M src/runtime.cc
  M src/x64/full-codegen-x64.cc
  M test/mjsunit/constant-folding-2.js
  M test/mjsunit/sin-cos.js
  M test/mozilla/mozilla.status
  M test/test262/test262.status


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to