Status: Accepted
Owner: ----
CC: [email protected]
Labels: Type-Bug Priority-Medium

New issue 2881 by [email protected]: Code generator still generates constants even if the inlined into instruction
http://code.google.com/p/v8/issues/detail?id=2881

In

function foo(x, y) {
  return Math.floor((x + y) / 2);
}

foo(1, 10);
foo(1, 10);
foo(1, 10);
%OptimizeFunctionOnNextCall(foo);
foo(1, 10);

core of foo gets compiled as

                  ;;; <@20,#14> add-i
0x5fe33792    50  03c8           add ecx,eax
0x5fe33794    52  0f80dd000000   jo 279  (0x5fe33877)
                  ;;; <@22,#27> constant-d
0x5fe3379a    58  0f57c9         xorps xmm1,xmm1
0x5fe3379d    61  b800000040     mov eax,0x40000000
0x5fe337a2    66  660f3a22c801   pinsrd xmm1,eax,1
                  ;;; <@24,#19> check-maps
                  ;;; <@26,#31> math-floor-of-div
0x5fe337a8    72  89c8           mov eax,ecx
0x5fe337aa    74  d1f8           sar eax,1

Notice that code generator emits double constant 2, which is unused by math-floor-of-div actually.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
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