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

Issue 10834085: Fix full code generator to not use --debug-code if it is in (Closed)

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

Description

Fix full code generator to not use --debug-code if it is in mksnapshot or a VM that is booted from a snapshot. --debug-code can still have an effect on stub and optimized code and it still works on the full code generator when running without snapshots. The deoptimizer generates full-code-generator code and relies on it having the same layout as last time. This means that the code the full code generator makes for the snapshot should be the same as the code it makes later. This change makes the full code generator create more consistent code between mksnapshot time and run time. This is a bug fix and a step towards making the snapshot code more robust. Committed: https://code.google.com/p/v8/source/detail?r=12239

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+114 lines, -48 lines) Patch
M src/arm/assembler-arm.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M src/compiler.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/full-codegen.h View 2 chunks +6 lines, -1 line 0 comments Download
M src/full-codegen.cc View 2 chunks +15 lines, -0 lines 0 comments Download
M src/ia32/assembler-ia32.h View 3 chunks +7 lines, -0 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 7 chunks +7 lines, -7 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M src/mips/assembler-mips.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/mips/full-codegen-mips.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M src/serialize.cc View 1 chunk +12 lines, -0 lines 0 comments Download
M src/x64/assembler-x64.h View 3 chunks +7 lines, -0 lines 0 comments Download
M src/x64/assembler-x64.cc View 3 chunks +4 lines, -3 lines 1 comment Download
M src/x64/full-codegen-x64.cc View 6 chunks +6 lines, -6 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 10 chunks +24 lines, -16 lines 0 comments Download
M test/cctest/test-heap.cc View 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
Erik Corry
8 years, 4 months ago (2012-07-31 14:18:39 UTC) #1
Jakob Kummerow
8 years, 4 months ago (2012-07-31 14:44:58 UTC) #2
LGTM with a nit.

https://chromiumcodereview.appspot.com/10834085/diff/1/src/x64/assembler-x64.cc
File src/x64/assembler-x64.cc (right):

https://chromiumcodereview.appspot.com/10834085/diff/1/src/x64/assembler-x64....
src/x64/assembler-x64.cc:1238: if (is_int8(offs - short_size) &&
!predictable_code_size_) {
A comment would be nice about why we have to disable automatic near jumps on
x64. Draft based on our offline discussion:
// On x64, when code is recompiled for debugging, some places need to be padded
// out to a certain size. The debugger is keeping track of how often it did
// this, but if the size of jump instructions can also change, that's not
// enough and the calculated offsets would be incorrect.

Powered by Google App Engine
This is Rietveld 408576698