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

Issue 548029: Fix a problem when compiling built-ins with the top-level compiler.... (Closed)

Created:
10 years, 11 months ago by fschneider
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Fix a problem when compiling built-ins with the top-level compiler. Replace runtime call to NumberAdd with call to binary op stub. Until now the top-level compiler always called a runtime function for count operations. In some places we expected in the JS builtins smis as arguments. If we perform a count operation before all smis would get converted into heap numbers by the runtime number add function and result in a runtime assert. Also: Add missing debugger information in the top-level compiler for do-while loops. Committed: http://code.google.com/p/v8/source/detail?r=3610

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 2

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+28 lines, -22 lines) Patch
M src/arm/fast-codegen-arm.cc View 1 chunk +6 lines, -8 lines 0 comments Download
M src/ast.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/fast-codegen.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/fast-codegen.cc View 2 3 chunks +8 lines, -2 lines 0 comments Download
M src/ia32/fast-codegen-ia32.cc View 1 2 1 chunk +5 lines, -6 lines 0 comments Download
M src/x64/fast-codegen-x64.cc View 1 2 1 chunk +5 lines, -6 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
fschneider
10 years, 11 months ago (2010-01-13 19:37:55 UTC) #1
fschneider
Uploaded a new version: + fix of a missing debugger information.
10 years, 11 months ago (2010-01-14 16:11:44 UTC) #2
Kevin Millikin (Chromium)
LGTM. http://codereview.chromium.org/548029/diff/4001/4002 File src/ia32/fast-codegen-ia32.cc (right): http://codereview.chromium.org/548029/diff/4001/4002#newcode1399 src/ia32/fast-codegen-ia32.cc:1399: GenericBinaryOpStub stub(expr->op() == Token::INC ? Token::ADD : Token::SUB, ...
10 years, 11 months ago (2010-01-14 16:57:25 UTC) #3
fschneider
10 years, 11 months ago (2010-01-14 17:22:30 UTC) #4
http://codereview.chromium.org/548029/diff/4001/4002
File src/ia32/fast-codegen-ia32.cc (right):

http://codereview.chromium.org/548029/diff/4001/4002#newcode1399
src/ia32/fast-codegen-ia32.cc:1399: GenericBinaryOpStub stub(expr->op() ==
Token::INC ? Token::ADD : Token::SUB,
On 2010/01/14 16:57:25, Kevin Millikin wrote:
> The Assignment class has a function binary_op that returns the binary op that
> corresponds to a compound assignment op.  It might be useful to put this one
in
> CountOperation:
> 
> Token::Value binary_op() {
>   return op_ == Token::INC ? Token::ADD : Token::SUB;
> }

Done.

Powered by Google App Engine
This is Rietveld 408576698