Anton, thanks for your comments!

-- Vitaly



http://codereview.chromium.org/1533004/diff/1/5
File src/ia32/codegen-ia32.cc (right):

http://codereview.chromium.org/1533004/diff/1/5#newcode6233
src/ia32/codegen-ia32.cc:6233: Result result = allocator_->Allocate();
On 2010/03/30 13:28:05, antonm wrote:
shouldn't you Unuse fp and result at the end of the function?  it
looks like a
common convention.

~Result will do it. I think it's only necessary when having some
complicated control flow that actually checks there are no off-frame
values.

http://codereview.chromium.org/1533004/diff/1/5#newcode6233
src/ia32/codegen-ia32.cc:6233: Result result = allocator_->Allocate();
On 2010/03/30 13:28:05, antonm wrote:
just curious: any chances allocating the single reg would be faster
even given
that control flow would become more involved?

Hard to tell. I can experiment more after this change is submitted.

http://codereview.chromium.org/1533004/diff/1/5#newcode6254
src/ia32/codegen-ia32.cc:6254: if (FLAG_debug_code) __
AbortIfNotSmi(result.reg());
On 2010/03/30 13:28:05, antonm wrote:
two questions.

1) why not use cmov still?

AFAIK, cmov should be used in totally unpredictable cases and it made
perfect sense for the shared stub. Now that it's inlined I think the
branch predictor should be able to do a better job.

2) do we know what happens more often?  there is a redundant load to
result.reg(), of course, that's immediate so it hardly matters, just
curious.

I think we get the expected number of arguments (i.e. equal to the
number of formal parameters) more often.

http://codereview.chromium.org/1533004

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

To unsubscribe from this group, send email to v8-dev+unsubscribegooglegroups.com or reply 
to this email with the words "REMOVE ME" as the subject.

Reply via email to