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

Unified Diff: runtime/vm/raw_object_snapshot.cc

Issue 1644793002: Replace intptr_t with TokenDescriptor (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/raw_object.h ('k') | runtime/vm/regexp.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/raw_object_snapshot.cc
diff --git a/runtime/vm/raw_object_snapshot.cc b/runtime/vm/raw_object_snapshot.cc
index 3a934d5b496f7d9dba67d4c1382ebfb2b3ec000a..1a617bacaf32013d55ff7e5bf5a5f43760b43420 100644
--- a/runtime/vm/raw_object_snapshot.cc
+++ b/runtime/vm/raw_object_snapshot.cc
@@ -77,7 +77,7 @@ RawClass* Class::ReadFrom(SnapshotReader* reader,
cls.set_num_type_arguments(reader->Read<int16_t>());
cls.set_num_own_type_arguments(reader->Read<int16_t>());
cls.set_num_native_fields(reader->Read<uint16_t>());
- cls.set_token_pos(reader->Read<int32_t>());
+ cls.set_token_pos(TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
cls.set_state_bits(reader->Read<uint16_t>());
// Set all the object fields.
@@ -127,7 +127,7 @@ void RawClass::WriteTo(SnapshotWriter* writer,
writer->Write<uint16_t>(ptr()->num_type_arguments_);
writer->Write<uint16_t>(ptr()->num_own_type_arguments_);
writer->Write<uint16_t>(ptr()->num_native_fields_);
- writer->Write<int32_t>(ptr()->token_pos_);
+ writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
writer->Write<uint16_t>(ptr()->state_bits_);
// Write out all the object pointer fields.
@@ -160,7 +160,8 @@ RawUnresolvedClass* UnresolvedClass::ReadFrom(SnapshotReader* reader,
reader->AddBackRef(object_id, &unresolved_class, kIsDeserialized);
// Set all non object fields.
- unresolved_class.set_token_pos(reader->Read<int32_t>());
+ unresolved_class.set_token_pos(
+ TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
// Set all the object fields.
READ_OBJECT_FIELDS(unresolved_class,
@@ -186,7 +187,7 @@ void RawUnresolvedClass::WriteTo(SnapshotWriter* writer,
writer->WriteTags(writer->GetObjectTags(this));
// Write out all the non object pointer fields.
- writer->Write<int32_t>(ptr()->token_pos_);
+ writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
// Write out all the object pointer fields.
SnapshotWriterVisitor visitor(writer, kAsReference);
@@ -230,7 +231,7 @@ RawType* Type::ReadFrom(SnapshotReader* reader,
reader->AddBackRef(object_id, &type, kIsDeserialized, defer_canonicalization);
// Set all non object fields.
- type.set_token_pos(reader->Read<int32_t>());
+ type.set_token_pos(TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
type.set_type_state(reader->Read<int8_t>());
// Set all the object fields.
@@ -272,7 +273,7 @@ void RawType::WriteTo(SnapshotWriter* writer,
writer->Write<bool>(typeclass_is_in_fullsnapshot);
// Write out all the non object pointer fields.
- writer->Write<int32_t>(ptr()->token_pos_);
+ writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
writer->Write<int8_t>(ptr()->type_state_);
// Write out all the object pointer fields.
@@ -304,7 +305,8 @@ RawFunctionType* FunctionType::ReadFrom(SnapshotReader* reader,
defer_canonicalization);
// Set all non object fields.
- function_type.set_token_pos(reader->Read<int32_t>());
+ function_type.set_token_pos(
+ TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
function_type.set_type_state(reader->Read<int8_t>());
// Set all the object fields.
@@ -348,7 +350,7 @@ void RawFunctionType::WriteTo(SnapshotWriter* writer,
writer->Write<bool>(scopeclass_is_in_fullsnapshot);
// Write out all the non object pointer fields.
- writer->Write<int32_t>(ptr()->token_pos_);
+ writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
writer->Write<int8_t>(ptr()->type_state_);
// Write out all the object pointer fields.
@@ -411,7 +413,8 @@ RawTypeParameter* TypeParameter::ReadFrom(SnapshotReader* reader,
reader->AddBackRef(object_id, &type_parameter, kIsDeserialized);
// Set all non object fields.
- type_parameter.set_token_pos(reader->Read<int32_t>());
+ type_parameter.set_token_pos(
+ TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
type_parameter.set_index(reader->Read<int16_t>());
type_parameter.set_type_state(reader->Read<int8_t>());
@@ -441,7 +444,7 @@ void RawTypeParameter::WriteTo(SnapshotWriter* writer,
writer->WriteTags(writer->GetObjectTags(this));
// Write out all the non object pointer fields.
- writer->Write<int32_t>(ptr()->token_pos_);
+ writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
writer->Write<int16_t>(ptr()->index_);
writer->Write<int8_t>(ptr()->type_state_);
@@ -797,8 +800,8 @@ RawFunction* Function::ReadFrom(SnapshotReader* reader,
func.set_num_fixed_parameters(reader->Read<int16_t>());
func.set_num_optional_parameters(reader->Read<int16_t>());
func.set_kind_tag(reader->Read<uint32_t>());
- func.set_token_pos(token_pos);
- func.set_end_token_pos(end_token_pos);
+ func.set_token_pos(TokenPosition::SnapshotDecode(token_pos));
+ func.set_end_token_pos(TokenPosition::SnapshotDecode(end_token_pos));
if (reader->snapshot_code()) {
func.set_usage_counter(0);
func.set_deoptimization_counter(0);
@@ -874,8 +877,8 @@ void RawFunction::WriteTo(SnapshotWriter* writer,
bool is_optimized = Code::IsOptimized(ptr()->code_);
// Write out all the non object fields.
- writer->Write<int32_t>(ptr()->token_pos_);
- writer->Write<int32_t>(ptr()->end_token_pos_);
+ writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
+ writer->Write<int32_t>(ptr()->end_token_pos_.SnapshotEncode());
writer->Write<int16_t>(ptr()->num_fixed_parameters_);
writer->Write<int16_t>(ptr()->num_optional_parameters_);
writer->Write<uint32_t>(ptr()->kind_tag_);
@@ -926,12 +929,13 @@ RawField* Field::ReadFrom(SnapshotReader* reader,
// Set all non object fields.
if (reader->snapshot_code()) {
- field.set_token_pos(0);
+ field.set_token_pos(TokenPosition::kNoSource);
ASSERT(!FLAG_use_field_guards);
field.set_guarded_cid(kDynamicCid);
field.set_is_nullable(true);
} else {
- field.set_token_pos(reader->Read<int32_t>());
+ field.set_token_pos(
+ TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
field.set_guarded_cid(reader->Read<int32_t>());
field.set_is_nullable(reader->Read<int32_t>());
}
@@ -973,7 +977,7 @@ void RawField::WriteTo(SnapshotWriter* writer,
// Write out all the non object fields.
if (!writer->snapshot_code()) {
- writer->Write<int32_t>(ptr()->token_pos_);
+ writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
writer->Write<int32_t>(ptr()->guarded_cid_);
writer->Write<int32_t>(ptr()->is_nullable_);
}
@@ -1960,7 +1964,7 @@ RawContextScope* ContextScope::ReadFrom(SnapshotReader* reader,
*reader->TypeHandle() ^= reader->ReadObjectImpl(kAsInlinedObject);
// Create a descriptor for 'this' variable.
- context_scope.SetTokenIndexAt(0, 0);
+ context_scope.SetTokenIndexAt(0, TokenPosition::kMinSource);
context_scope.SetNameAt(0, Symbols::This());
context_scope.SetIsFinalAt(0, true);
context_scope.SetIsConstAt(0, false);
@@ -2209,7 +2213,8 @@ RawLanguageError* LanguageError::ReadFrom(SnapshotReader* reader,
reader->AddBackRef(object_id, &language_error, kIsDeserialized);
// Set all non object fields.
- language_error.set_token_pos(reader->Read<int32_t>());
+ language_error.set_token_pos(
+ TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
language_error.set_report_after_token(reader->Read<bool>());
language_error.set_kind(reader->Read<uint8_t>());
@@ -2236,7 +2241,7 @@ void RawLanguageError::WriteTo(SnapshotWriter* writer,
writer->WriteTags(writer->GetObjectTags(this));
// Write out all the non object fields.
- writer->Write<int32_t>(ptr()->token_pos_);
+ writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
writer->Write<bool>(ptr()->report_after_token_);
writer->Write<uint8_t>(ptr()->kind_);
« no previous file with comments | « runtime/vm/raw_object.h ('k') | runtime/vm/regexp.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698