Fix wrong assertion in assembler causing the shell to crash with --code-comments.

Since writting a code comment can include a pc-jump the assertion
should just check that we are greater than or equal to
kMinRelocCommentSize (renamed from kRelocCommentSize), not that we are
actually equal to.


Review URL: http://codereview.chromium.org/6580028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
ricow@chromium.org 2011-02-24 10:29:01 +00:00
parent 5572d24fc5
commit cfd6268256
3 changed files with 5 additions and 5 deletions

View File

@ -252,7 +252,7 @@ void RelocInfoWriter::Write(const RelocInfo* rinfo) {
WriteExtraTaggedPC(pc_delta, kPCJumpTag);
WriteExtraTaggedData(rinfo->data() - last_data_, kCommentTag);
last_data_ = rinfo->data();
ASSERT(begin_pos - pos_ == RelocInfo::kRelocCommentSize);
ASSERT(begin_pos - pos_ >= RelocInfo::kMinRelocCommentSize);
} else {
// For all other modes we simply use the mode as the extra tag.
// None of these modes need a data component.

View File

@ -184,10 +184,10 @@ class RelocInfo BASE_EMBEDDED {
// we do not normally record relocation info.
static const char* kFillerCommentString;
// The size of a comment is equal to tree bytes for the extra tagged pc +
// the tag for the data, and kPointerSize for the actual pointer to the
// The minimum size of a comment is equal to three bytes for the extra tagged
// pc + the tag for the data, and kPointerSize for the actual pointer to the
// comment.
static const int kRelocCommentSize = 3 + kPointerSize;
static const int kMinRelocCommentSize = 3 + kPointerSize;
// The maximum size for a call instruction including pc-jump.
static const int kMaxCallSize = 6;

View File

@ -127,7 +127,7 @@ bool LCodeGen::GenerateRelocPadding() {
int reloc_size = masm()->relocation_writer_size();
while (reloc_size < deoptimization_reloc_size.min_size) {
__ RecordComment(RelocInfo::kFillerCommentString, true);
reloc_size += RelocInfo::kRelocCommentSize;
reloc_size += RelocInfo::kMinRelocCommentSize;
}
return !is_aborted();
}