Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Issue 7544012: Implement type recording for ToBoolean on x64. (Closed)

Created:
9 years, 4 months ago by Sven Panne
Modified:
9 years, 4 months ago
CC:
v8-dev
Visibility:
Public.

Description

Implement type recording for ToBoolean on x64. Handle oddballs on ia32 via root indices, similar to other platforms. Added a special case for Smi types on ia32 to make lithium code generation on both Intel platforms more similar. Committed: http://code.google.com/p/v8/source/detail?r=8767

Patch Set 1 #

Total comments: 3

Patch Set 2 : '' #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+270 lines, -88 lines) Patch
M src/code-stubs.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 3 chunks +8 lines, -8 lines 2 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 1 chunk +5 lines, -1 line 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 1 chunk +8 lines, -0 lines 2 comments Download
M src/x64/code-stubs-x64.cc View 1 chunk +130 lines, -47 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 chunk +110 lines, -30 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 chunk +5 lines, -1 line 0 comments Download

Messages

Total messages: 8 (0 generated)
Sven Panne
9 years, 4 months ago (2011-08-01 09:09:05 UTC) #1
Kevin Millikin (Chromium)
LGTM except that I'd prefer to avoid the #ifdef---it sets a bad precedent and can ...
9 years, 4 months ago (2011-08-01 11:32:04 UTC) #2
danno
please move the platform-specific stuff into the macro assembler then I'll take another look. http://codereview.chromium.org/7544012/diff/1/src/code-stubs.h ...
9 years, 4 months ago (2011-08-01 11:36:13 UTC) #3
Kevin Millikin (Chromium)
http://codereview.chromium.org/7544012/diff/1/src/code-stubs.h File src/code-stubs.h (right): http://codereview.chromium.org/7544012/diff/1/src/code-stubs.h#newcode958 src/code-stubs.h:958: #if V8_TARGET_ARCH_IA32 On 2011/08/01 11:36:13, danno wrote: > Why ...
9 years, 4 months ago (2011-08-01 11:51:54 UTC) #4
Sven Panne
Introduced CompareRoot on ia32 to address the review comments.
9 years, 4 months ago (2011-08-01 12:52:36 UTC) #5
Sven Panne
9 years, 4 months ago (2011-08-01 12:52:41 UTC) #6
Kevin Millikin (Chromium)
Seems fine to me. Are you sure you need BitCast? http://codereview.chromium.org/7544012/diff/7/src/ia32/code-stubs-ia32.cc File src/ia32/code-stubs-ia32.cc (right): http://codereview.chromium.org/7544012/diff/7/src/ia32/code-stubs-ia32.cc#newcode258 ...
9 years, 4 months ago (2011-08-01 13:02:05 UTC) #7
Sven Panne
9 years, 4 months ago (2011-08-01 13:13:24 UTC) #8
I'll submit a separate tiny cleanup patch fixing these issues.

http://codereview.chromium.org/7544012/diff/7/src/ia32/code-stubs-ia32.cc
File src/ia32/code-stubs-ia32.cc (right):

http://codereview.chromium.org/7544012/diff/7/src/ia32/code-stubs-ia32.cc#new...
src/ia32/code-stubs-ia32.cc:258: // 'null' -> false.!!!
On 2011/08/01 13:02:05, Kevin Millikin wrote:
> Don't be so surprised, it's JavaScript :)

Ooops, a leftover from a previous debugging session... :-}

http://codereview.chromium.org/7544012/diff/7/src/ia32/macro-assembler-ia32.cc
File src/ia32/macro-assembler-ia32.cc (right):

http://codereview.chromium.org/7544012/diff/7/src/ia32/macro-assembler-ia32.c...
src/ia32/macro-assembler-ia32.cc:268: Handle<Object> value(BitCast<Object**>(
On 2011/08/01 13:02:05, Kevin Millikin wrote:
> I don't think we need the BitCast here, the roots array elements are Object*.

Good point, I should have looked more closely at the actual code when using the
time-proven technique of copy-n-paste... :-P

Powered by Google App Engine
This is Rietveld 408576698