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.

Reply via email to