Partially fix serializer which crashes on x64 running with no snapshot.
We used the wrong heap space number when reading in code chunks (we used LO_SPACE, should use kLargeCode). Review URL: http://codereview.chromium.org/6670083 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
1a6c821b05
commit
00daa3f510
@ -722,6 +722,11 @@ void Deserializer::ReadObject(int space_number,
|
||||
LOG(SnapshotPositionEvent(address, source_->position()));
|
||||
}
|
||||
ReadChunk(current, limit, space_number, address);
|
||||
#ifdef DEBUG
|
||||
bool is_codespace = (space == Heap::code_space()) ||
|
||||
((space == Heap::lo_space()) && (space_number == kLargeCode));
|
||||
ASSERT(HeapObject::FromAddress(address)->IsCode() == is_codespace);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -877,7 +882,7 @@ void Deserializer::ReadChunk(Object** current,
|
||||
CASE_STATEMENT(where, how, within, CODE_SPACE) \
|
||||
CASE_BODY(where, how, within, CODE_SPACE, kUnknownOffsetFromStart) \
|
||||
CASE_STATEMENT(where, how, within, kLargeCode) \
|
||||
CASE_BODY(where, how, within, LO_SPACE, kUnknownOffsetFromStart)
|
||||
CASE_BODY(where, how, within, kLargeCode, kUnknownOffsetFromStart)
|
||||
|
||||
#define EMIT_COMMON_REFERENCE_PATTERNS(pseudo_space_number, \
|
||||
space_number, \
|
||||
|
Loading…
Reference in New Issue
Block a user