blob: 91ad154562da5aed4d273ae182095420200b3110 [file] [log] [blame]
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:typed_data';
@pragma('vm:never-inline')
double getDoubleWithHeapObjectTag() {
final bd = ByteData(8);
bd.setUint64(0, 0x8000000180000001, Endian.host);
final double v = bd.getFloat64(0, Endian.host);
return v;
}
// Make an integer that would look like an object pointer (irrespective of
// we compile to 32-bit or 64-bit and whether we use little or big endian
// encoding of the integer).
int get integerFieldValue =>
int.parse('1') == 1 ? constIntegerFieldValue : 0x8000900180009001;
const int constIntegerFieldValue = 0x8000000180000001;