Reviewers: mvstanton, Benedikt Meurer, Message: First round of comments addresses, PTAL
https://codereview.chromium.org/1053143005/diff/90001/src/ia32/code-stubs-ia32.cc File src/ia32/code-stubs-ia32.cc (right): https://codereview.chromium.org/1053143005/diff/90001/src/ia32/code-stubs-ia32.cc#newcode2377 src/ia32/code-stubs-ia32.cc:2377: __ mov(eax, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); On 2015/04/28 14:21:20, mvstanton wrote:
Since this sequence happens three times, maybe it's useful to have a
helper
(either in macro assembler or CallIC base class) like
void EmitMissIfNotBuiltin(int builtinId, Register function, Register
temp,
Label* miss);
Done. https://codereview.chromium.org/1053143005/diff/90001/src/ia32/code-stubs-ia32.cc#newcode2537 src/ia32/code-stubs-ia32.cc:2537: __ cmp(eax, Immediate(Smi::FromInt(kMathRound))); On 2015/04/28 14:21:20, mvstanton wrote:
Maybe it's okay to go to the miss handler if it's any builtin? Weight
against
the cost of checking for 3 numbers it might be worth it to just say to
heck with
it, if FunctionData is a non-zero Smi, just miss.
Done. https://codereview.chromium.org/1053143005/diff/90001/src/ic/ic.cc File src/ic/ic.cc (right): https://codereview.chromium.org/1053143005/diff/90001/src/ic/ic.cc#newcode2246 src/ic/ic.cc:2246: if (AddressIsOptimizedCode()) { On 2015/04/28 14:21:20, mvstanton wrote:
Could this AddressIsOptimizedCode() { STUB1 } else { STUB2 } sequence
be
templatized as a method on CallIC?
I'd like to avoid the template in this case, since it seems like a little bit too much meta template zealotry for just a few lines of code that are pretty easy to understand, but I probably could be convinced otherwise. https://codereview.chromium.org/1053143005/diff/90001/src/type-info.h File src/type-info.h (right): https://codereview.chromium.org/1053143005/diff/90001/src/type-info.h#newcode31 src/type-info.h:31: bool CallIsRoundWithMinusZeroResult(FeedbackVectorICSlot slot); On 2015/04/28 14:21:20, mvstanton wrote:
Remove Round from the name since it's more general now..
Done. Description: Collect type feedback on result of Math.[round|ciel|floor]By recording invocations of these builtins that can return -0, we now learn to
not emit Crankshaft code that only handles integer results, avoiding deopt loops. Please review this at https://codereview.chromium.org/1053143005/ Base URL: https://chromium.googlesource.com/v8/v8.git@master Affected files (+1204, -120 lines): M src/arm/code-stubs-arm.cc M src/arm/macro-assembler-arm.h M src/arm/macro-assembler-arm.cc M src/arm64/code-stubs-arm64.cc M src/arm64/macro-assembler-arm64.h M src/arm64/macro-assembler-arm64.cc M src/assembler.h M src/assembler.cc M src/ast.h M src/code-stubs.h M src/code-stubs.cc M src/hydrogen.h M src/hydrogen.cc M src/ia32/code-stubs-ia32.cc M src/ia32/macro-assembler-ia32.h M src/ia32/macro-assembler-ia32.cc M src/ic/ic.cc M src/math.js M src/snapshot/serialize.cc M src/type-feedback-vector.h M src/type-feedback-vector.cc M src/type-info.h M src/type-info.cc M src/typing.cc M src/x64/code-stubs-x64.cc M src/x64/macro-assembler-x64.h M src/x64/macro-assembler-x64.cc A + test/mjsunit/math-ceil-minus-zero.js A + test/mjsunit/math-floor-minus-zero.js A test/mjsunit/math-round-minus-zero.js -- -- 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/d/optout.
