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

Side by Side Diff: runtime/vm/kernel_binary.cc

Issue 2680303002: Kernel debugging; service tests (Closed)
Patch Set: Correct file offset when calling on field (mind the rebase) Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 #if !defined(DART_PRECOMPILED_RUNTIME) 4 #if !defined(DART_PRECOMPILED_RUNTIME)
5 5
6 #include "platform/globals.h" 6 #include "platform/globals.h"
7 #include "vm/flags.h" 7 #include "vm/flags.h"
8 #include "vm/growable_array.h" 8 #include "vm/growable_array.h"
9 #include "vm/kernel.h" 9 #include "vm/kernel.h"
10 #include "vm/kernel_to_il.h" 10 #include "vm/kernel_to_il.h"
(...skipping 1138 matching lines...) Expand 10 before | Expand all | Expand 10 after
1149 StaticGet* get = new StaticGet(); 1149 StaticGet* get = new StaticGet();
1150 get->position_ = reader->ReadPosition(); 1150 get->position_ = reader->ReadPosition();
1151 get->target_ = Reference::ReadMemberFrom(reader); 1151 get->target_ = Reference::ReadMemberFrom(reader);
1152 return get; 1152 return get;
1153 } 1153 }
1154 1154
1155 1155
1156 StaticSet* StaticSet::ReadFrom(Reader* reader) { 1156 StaticSet* StaticSet::ReadFrom(Reader* reader) {
1157 TRACE_READ_OFFSET(); 1157 TRACE_READ_OFFSET();
1158 StaticSet* set = new StaticSet(); 1158 StaticSet* set = new StaticSet();
1159 set->position_ = reader->ReadPosition();
1159 set->target_ = Reference::ReadMemberFrom(reader); 1160 set->target_ = Reference::ReadMemberFrom(reader);
1160 set->expression_ = Expression::ReadFrom(reader); 1161 set->expression_ = Expression::ReadFrom(reader);
1161 return set; 1162 return set;
1162 } 1163 }
1163 1164
1164 1165
1165 Arguments* Arguments::ReadFrom(Reader* reader) { 1166 Arguments* Arguments::ReadFrom(Reader* reader) {
1166 TRACE_READ_OFFSET(); 1167 TRACE_READ_OFFSET();
1167 Arguments* arguments = new Arguments(); 1168 Arguments* arguments = new Arguments();
1168 arguments->types().ReadFromStatic<DartType>(reader); 1169 arguments->types().ReadFromStatic<DartType>(reader);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1269 expr->position_ = reader->ReadPosition(); 1270 expr->position_ = reader->ReadPosition();
1270 expr->operand_ = Expression::ReadFrom(reader); 1271 expr->operand_ = Expression::ReadFrom(reader);
1271 expr->type_ = DartType::ReadFrom(reader); 1272 expr->type_ = DartType::ReadFrom(reader);
1272 return expr; 1273 return expr;
1273 } 1274 }
1274 1275
1275 1276
1276 AsExpression* AsExpression::ReadFrom(Reader* reader) { 1277 AsExpression* AsExpression::ReadFrom(Reader* reader) {
1277 TRACE_READ_OFFSET(); 1278 TRACE_READ_OFFSET();
1278 AsExpression* expr = new AsExpression(); 1279 AsExpression* expr = new AsExpression();
1280 expr->position_ = reader->ReadPosition();
1279 expr->operand_ = Expression::ReadFrom(reader); 1281 expr->operand_ = Expression::ReadFrom(reader);
1280 expr->type_ = DartType::ReadFrom(reader); 1282 expr->type_ = DartType::ReadFrom(reader);
1281 return expr; 1283 return expr;
1282 } 1284 }
1283 1285
1284 1286
1285 StringLiteral* StringLiteral::ReadFrom(Reader* reader) { 1287 StringLiteral* StringLiteral::ReadFrom(Reader* reader) {
1286 TRACE_READ_OFFSET(); 1288 TRACE_READ_OFFSET();
1287 return new StringLiteral(Reference::ReadStringFrom(reader)); 1289 return new StringLiteral(Reference::ReadStringFrom(reader));
1288 } 1290 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1350 1352
1351 1353
1352 ThisExpression* ThisExpression::ReadFrom(Reader* reader) { 1354 ThisExpression* ThisExpression::ReadFrom(Reader* reader) {
1353 TRACE_READ_OFFSET(); 1355 TRACE_READ_OFFSET();
1354 return new ThisExpression(); 1356 return new ThisExpression();
1355 } 1357 }
1356 1358
1357 1359
1358 Rethrow* Rethrow::ReadFrom(Reader* reader) { 1360 Rethrow* Rethrow::ReadFrom(Reader* reader) {
1359 TRACE_READ_OFFSET(); 1361 TRACE_READ_OFFSET();
1360 return new Rethrow(); 1362 Rethrow* rethrow = new Rethrow();
1363 rethrow->position_ = reader->ReadPosition();
1364 return rethrow;
1361 } 1365 }
1362 1366
1363 1367
1364 Throw* Throw::ReadFrom(Reader* reader) { 1368 Throw* Throw::ReadFrom(Reader* reader) {
1365 TRACE_READ_OFFSET(); 1369 TRACE_READ_OFFSET();
1366 Throw* t = new Throw(); 1370 Throw* t = new Throw();
1367 t->position_ = reader->ReadPosition(); 1371 t->position_ = reader->ReadPosition();
1368 t->expression_ = Expression::ReadFrom(reader); 1372 t->expression_ = Expression::ReadFrom(reader);
1369 return t; 1373 return t;
1370 } 1374 }
1371 1375
1372 1376
1373 ListLiteral* ListLiteral::ReadFrom(Reader* reader, bool is_const) { 1377 ListLiteral* ListLiteral::ReadFrom(Reader* reader, bool is_const) {
1374 TRACE_READ_OFFSET(); 1378 TRACE_READ_OFFSET();
1375 ListLiteral* literal = new ListLiteral(); 1379 ListLiteral* literal = new ListLiteral();
1376 literal->is_const_ = is_const; 1380 literal->is_const_ = is_const;
1381 literal->position_ = reader->ReadPosition();
1377 literal->type_ = DartType::ReadFrom(reader); 1382 literal->type_ = DartType::ReadFrom(reader);
1378 literal->expressions_.ReadFromStatic<Expression>(reader); 1383 literal->expressions_.ReadFromStatic<Expression>(reader);
1379 return literal; 1384 return literal;
1380 } 1385 }
1381 1386
1382 1387
1383 MapLiteral* MapLiteral::ReadFrom(Reader* reader, bool is_const) { 1388 MapLiteral* MapLiteral::ReadFrom(Reader* reader, bool is_const) {
1384 TRACE_READ_OFFSET(); 1389 TRACE_READ_OFFSET();
1385 MapLiteral* literal = new MapLiteral(); 1390 MapLiteral* literal = new MapLiteral();
1386 literal->is_const_ = is_const; 1391 literal->is_const_ = is_const;
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1532 reader->helper()->labels()->Push(stmt); 1537 reader->helper()->labels()->Push(stmt);
1533 stmt->body_ = Statement::ReadFrom(reader); 1538 stmt->body_ = Statement::ReadFrom(reader);
1534 reader->helper()->labels()->Pop(stmt); 1539 reader->helper()->labels()->Pop(stmt);
1535 return stmt; 1540 return stmt;
1536 } 1541 }
1537 1542
1538 1543
1539 BreakStatement* BreakStatement::ReadFrom(Reader* reader) { 1544 BreakStatement* BreakStatement::ReadFrom(Reader* reader) {
1540 TRACE_READ_OFFSET(); 1545 TRACE_READ_OFFSET();
1541 BreakStatement* stmt = new BreakStatement(); 1546 BreakStatement* stmt = new BreakStatement();
1547 stmt->position_ = reader->ReadPosition();
1542 stmt->target_ = reader->helper()->labels()->Lookup(reader->ReadUInt()); 1548 stmt->target_ = reader->helper()->labels()->Lookup(reader->ReadUInt());
1543 return stmt; 1549 return stmt;
1544 } 1550 }
1545 1551
1546 1552
1547 WhileStatement* WhileStatement::ReadFrom(Reader* reader) { 1553 WhileStatement* WhileStatement::ReadFrom(Reader* reader) {
1548 TRACE_READ_OFFSET(); 1554 TRACE_READ_OFFSET();
1549 WhileStatement* stmt = new WhileStatement(); 1555 WhileStatement* stmt = new WhileStatement();
1550 stmt->condition_ = Expression::ReadFrom(reader); 1556 stmt->condition_ = Expression::ReadFrom(reader);
1551 stmt->body_ = Statement::ReadFrom(reader); 1557 stmt->body_ = Statement::ReadFrom(reader);
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1712 return VariableDeclaration::ReadFromImpl(reader); 1718 return VariableDeclaration::ReadFromImpl(reader);
1713 } 1719 }
1714 1720
1715 1721
1716 VariableDeclaration* VariableDeclaration::ReadFromImpl(Reader* reader) { 1722 VariableDeclaration* VariableDeclaration::ReadFromImpl(Reader* reader) {
1717 TRACE_READ_OFFSET(); 1723 TRACE_READ_OFFSET();
1718 PositionScope scope(reader); 1724 PositionScope scope(reader);
1719 1725
1720 VariableDeclaration* decl = new VariableDeclaration(); 1726 VariableDeclaration* decl = new VariableDeclaration();
1721 decl->position_ = reader->ReadPosition(); 1727 decl->position_ = reader->ReadPosition();
1728 decl->equals_position_ = reader->ReadPosition();
1722 decl->flags_ = reader->ReadFlags(); 1729 decl->flags_ = reader->ReadFlags();
1723 decl->name_ = Reference::ReadStringFrom(reader); 1730 decl->name_ = Reference::ReadStringFrom(reader);
1724 decl->type_ = DartType::ReadFrom(reader); 1731 decl->type_ = DartType::ReadFrom(reader);
1725 decl->inferred_value_ = reader->ReadOptional<InferredValue>(); 1732 decl->inferred_value_ = reader->ReadOptional<InferredValue>();
1726 decl->initializer_ = reader->ReadOptional<Expression>(); 1733 decl->initializer_ = reader->ReadOptional<Expression>();
1727 1734
1728 // Go to next token position so it ends *after* the last potentially 1735 // Go to next token position so it ends *after* the last potentially
1729 // debuggable position in the initializer. 1736 // debuggable position in the initializer.
1730 TokenPosition position = reader->max_position(); 1737 TokenPosition position = reader->max_position();
1731 if (position.IsReal()) position.Next(); 1738 if (position.IsReal()) position.Next();
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
1931 1938
1932 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer, 1939 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer,
1933 intptr_t buffer_length) { 1940 intptr_t buffer_length) {
1934 kernel::Reader reader(buffer, buffer_length); 1941 kernel::Reader reader(buffer, buffer_length);
1935 return kernel::Program::ReadFrom(&reader); 1942 return kernel::Program::ReadFrom(&reader);
1936 } 1943 }
1937 1944
1938 1945
1939 } // namespace dart 1946 } // namespace dart
1940 #endif // !defined(DART_PRECOMPILED_RUNTIME) 1947 #endif // !defined(DART_PRECOMPILED_RUNTIME)
OLDNEW
« no previous file with comments | « runtime/vm/kernel.h ('k') | runtime/vm/kernel_to_il.h » ('j') | runtime/vm/object.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698