LGTM with comments below.
http://codereview.chromium.org/5640004/diff/24001/src/assembler.cc File src/assembler.cc (right): http://codereview.chromium.org/5640004/diff/24001/src/assembler.cc#newcode808 src/assembler.cc:808: double m = (y < 0) ? 1/x : x; --> 1 / x http://codereview.chromium.org/5640004/diff/24001/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): http://codereview.chromium.org/5640004/diff/24001/src/hydrogen-instructions.h#newcode2199 src/hydrogen-instructions.h:2199: virtual bool EmitAtUses() const { return uses()->length() <= 1; } Remove. http://codereview.chromium.org/5640004/diff/24001/src/ia32/lithium-ia32.cc File src/ia32/lithium-ia32.cc (right): http://codereview.chromium.org/5640004/diff/24001/src/ia32/lithium-ia32.cc#newcode1578 src/ia32/lithium-ia32.cc:1578: // Abort("Tagged expoinent in Math.pow not yet workign."); Remove commented code? http://codereview.chromium.org/5640004/diff/24001/src/ia32/lithium-ia32.cc#newcode1586 src/ia32/lithium-ia32.cc:1586: return MarkAsCall(DefineFixedDouble(result, xmm1), instr); In case of a tagged exponent you need to pass CAN_DEOPTIMIZE_EAGERLY to MarkAsCall. http://codereview.chromium.org/5640004/diff/24001/src/ia32/lithium-ia32.h File src/ia32/lithium-ia32.h (right): http://codereview.chromium.org/5640004/diff/24001/src/ia32/lithium-ia32.h#newcode144 src/ia32/lithium-ia32.h:144: // LUnknownOSRValue Accidental edit? UnknownOSRValue is not a UnaryOperation. http://codereview.chromium.org/5640004/diff/24001/src/ia32/lithium-ia32.h#newcode233 src/ia32/lithium-ia32.h:233: V(Power) \ Align \ http://codereview.chromium.org/5640004/diff/24001/src/ia32/lithium-ia32.h#newcode1165 src/ia32/lithium-ia32.h:1165: Representation exponent_type() { return exponent_type_; } You can save the exponent_type_ member here and get the representation of the expononent from the H-instruction via the hydrogen()-accessor return hydrogen()->right()->representation() and by declaring: DECLARE_HYDROGEN_ACCESSOR(Power) http://codereview.chromium.org/5640004/diff/24001/src/serialize.cc File src/serialize.cc (right): http://codereview.chromium.org/5640004/diff/24001/src/serialize.cc#newcode426 src/serialize.cc:426: Add(ExternalReference::double_fp_operation(Token::BIT_XOR).address(), This can go away now. http://codereview.chromium.org/5640004/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
