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

Issue 10824235: Fix the full compiler on ARM to always generate the same code (Closed)

Created:
8 years, 4 months ago by Erik Corry
Modified:
8 years, 4 months ago
Reviewers:
Yang
CC:
v8-dev
Visibility:
Public.

Description

Fix the full compiler on ARM to always generate the same code regardless of the detected CPU. This is a requirement for the debugger and the deoptimizer, which both expect that code from the snapshot (compiled without VFP and ARM7) should have the same layout as code compiled later. This is another change to make snapshots more robust with arbitrary code. Committed: https://code.google.com/p/v8/source/detail?r=12287

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+116 lines, -57 lines) Patch
M src/arm/assembler-arm.h View 4 chunks +11 lines, -4 lines 0 comments Download
M src/arm/assembler-arm.cc View 7 chunks +12 lines, -9 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 2 chunks +51 lines, -10 lines 2 comments Download
M src/arm/deoptimizer-arm.cc View 1 chunk +5 lines, -2 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 chunk +3 lines, -12 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 chunk +8 lines, -7 lines 2 comments Download
M src/arm/macro-assembler-arm.cc View 10 chunks +24 lines, -12 lines 0 comments Download
M src/flag-definitions.h View 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
Erik Corry
8 years, 4 months ago (2012-08-09 15:13:55 UTC) #1
Yang
LGTM once comments are addressed. Is a similar change necessary for Intel platforms as well? ...
8 years, 4 months ago (2012-08-10 09:57:11 UTC) #2
Erik Corry
8 years, 4 months ago (2012-08-10 12:24:18 UTC) #3
https://chromiumcodereview.appspot.com/10824235/diff/1/src/arm/code-stubs-arm.cc
File src/arm/code-stubs-arm.cc (right):

https://chromiumcodereview.appspot.com/10824235/diff/1/src/arm/code-stubs-arm...
src/arm/code-stubs-arm.cc:1945: HeapNumber::kExponentOffset >>
HeapNumber::kMantissaBitsInTopWord;
On 2012/08/10 09:57:11, Yang wrote:
> kExponentOffset's unit is bytes (8 on 32-bit system), kMantissaBitsInTopWord
> (20).  The result would be 0.
> 
> Don't you mean kNaNOrInfinityLowerBoundUpper32 here? I guess it would be
easier
> to read if we simply mask the exponent bits and compare to
> kNaNOrInfinityLowerBoundUpper32.

Good catch.  Changed to kExponentMask.

https://chromiumcodereview.appspot.com/10824235/diff/1/src/arm/macro-assemble...
File src/arm/macro-assembler-arm.h (right):

https://chromiumcodereview.appspot.com/10824235/diff/1/src/arm/macro-assemble...
src/arm/macro-assembler-arm.h:116: Condition cond = al);
On 2012/08/10 09:57:11, Yang wrote:
> "Size" occurs twice in this method name. Intentional?

Changed from PredictableSize to PredictableCodeSize to make the connection to
predictable_code_size() more clear.

Powered by Google App Engine
This is Rietveld 408576698