| Index: runtime/vm/dart_api_message.cc
|
| diff --git a/runtime/vm/dart_api_message.cc b/runtime/vm/dart_api_message.cc
|
| index d5f2e69d77bd4af57603a0de4fb1e5e0daa59104..3624242d25aab309b5bec2ead99351ed60b64600 100644
|
| --- a/runtime/vm/dart_api_message.cc
|
| +++ b/runtime/vm/dart_api_message.cc
|
| @@ -81,6 +81,13 @@ Dart_CObject* ApiMessageReader::AllocateDartCObjectInt32(int32_t val) {
|
| }
|
|
|
|
|
| +Dart_CObject* ApiMessageReader::AllocateDartCObjectInt64(int64_t val) {
|
| + Dart_CObject* value = AllocateDartCObject(Dart_CObject::kInt64);
|
| + value->value.as_int64 = val;
|
| + return value;
|
| +}
|
| +
|
| +
|
| Dart_CObject* ApiMessageReader::AllocateDartCObjectDouble(double val) {
|
| Dart_CObject* value = AllocateDartCObject(Dart_CObject::kDouble);
|
| value->value.as_double = val;
|
| @@ -190,6 +197,15 @@ Dart_CObject* ApiMessageReader::ReadInlinedObject(intptr_t object_id) {
|
| return value;
|
| break;
|
| }
|
| + case ObjectStore::kMintClass: {
|
| + int64_t value = Read<int64_t>();
|
| + if (kMinInt32 <= value && value <= kMaxInt32) {
|
| + return AllocateDartCObjectInt32(value);
|
| + } else {
|
| + return AllocateDartCObjectInt64(value);
|
| + }
|
| + break;
|
| + }
|
| case ObjectStore::kDoubleClass: {
|
| // Read the double value for the object.
|
| Dart_CObject* object = AllocateDartCObjectDouble(Read<double>());
|
|
|