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

Issue 2163006: ARM: Update the full compiler to handle all code... (Closed)

Created:
10 years, 7 months ago by Søren Thygesen Gjesse
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

ARM: Update the full compiler to handle all code The full compiler is now complete on ARM as well. The syntax checker is still used to determine whether to use it for top level code or not during normal execution. When debugging is enabled all code will be compiled with the full compiler. This change removes the temporary flag --force-full-compiler and now the flag --always-full-compiler enables the full compiler for all code on all platforms. This also fixes building on Intel platform without debugger support (ENABLE_DEBUGGER_SUPPORT not defined) and adds full check for the full compiler for lazily compiled code. Committed: http://code.google.com/p/v8/source/detail?r=4716

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 13

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1363 lines, -160 lines) Patch
M src/arm/codegen-arm.cc View 1 2 3 2 chunks +2 lines, -5 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 35 chunks +1336 lines, -126 lines 0 comments Download
M src/compiler.cc View 1 2 3 3 chunks +19 lines, -15 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 1 chunk +0 lines, -4 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 1 chunk +1 line, -3 lines 0 comments Download
M src/jump-target-light.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-log-stack-tracer.cc View 1 2 3 2 chunks +2 lines, -6 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Søren Thygesen Gjesse
Runs on the ARM simulator with flag --special-command="@ --full-compiler" passed to the test script. Will ...
10 years, 7 months ago (2010-05-25 12:21:34 UTC) #1
Erik Corry
ARM part LGTM. http://codereview.chromium.org/2163006/diff/10001/11002 File src/arm/full-codegen-arm.cc (right): http://codereview.chromium.org/2163006/diff/10001/11002#newcode919 src/arm/full-codegen-arm.cc:919: __ push(r2); // Enumeration cache. Move ...
10 years, 7 months ago (2010-05-25 12:55:24 UTC) #2
Mads Ager (chromium)
The non-code-generation part LGTM.
10 years, 7 months ago (2010-05-25 13:00:51 UTC) #3
Søren Thygesen Gjesse
10 years, 7 months ago (2010-05-25 14:08:04 UTC) #4
http://codereview.chromium.org/2163006/diff/10001/11002
File src/arm/full-codegen-arm.cc (right):

http://codereview.chromium.org/2163006/diff/10001/11002#newcode919
src/arm/full-codegen-arm.cc:919: __ push(r2);  // Enumeration cache.
On 2010/05/25 12:55:25, Erik Corry wrote:
> Move this push down two instructions and you can do a multi-register push and
> get more code density?

Done.

http://codereview.chromium.org/2163006/diff/10001/11002#newcode920
src/arm/full-codegen-arm.cc:920: __ ldr(r0, FieldMemOperand(r2,
FixedArray::kLengthOffset));
On 2010/05/25 12:55:25, Erik Corry wrote:
> And make this r1 so you can do 3 pushes in one?

Done.

http://codereview.chromium.org/2163006/diff/10001/11002#newcode931
src/arm/full-codegen-arm.cc:931: __ ldr(r0, FieldMemOperand(r0,
FixedArray::kLengthOffset));
On 2010/05/25 12:55:25, Erik Corry wrote:
> And make this r1 so you can push 2 in one?

Done.

http://codereview.chromium.org/2163006/diff/10001/11002#newcode1071
src/arm/full-codegen-arm.cc:1071: __ LoadRoot(ip,
Heap::kUndefinedValueRootIndex);
On 2010/05/25 12:55:25, Erik Corry wrote:
> Why not just load this directly into r0?

Done.

http://codereview.chromium.org/2163006/diff/10001/11002#newcode1713
src/arm/full-codegen-arm.cc:1713: __ str(r1, MemOperand(sp, arg_count *
kPointerSize));
On 2010/05/25 12:55:25, Erik Corry wrote:
> Is this strd or am I getting it back to front?

strd puts r0 in lowest memory, so it is not applicable here.

http://codereview.chromium.org/2163006/diff/10001/11002#newcode2174
src/arm/full-codegen-arm.cc:2174: __ mov(r0,
Operand(Factory::function_class_symbol()));
On 2010/05/25 12:55:25, Erik Corry wrote:
> There's a root for that (two places).

Done.

Powered by Google App Engine
This is Rietveld 408576698