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

Side by Side Diff: runtime/vm/method_recognizer.h

Issue 2031153002: Fix sed expression to substitute recalculated fingerprints after format change. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: format fingerprints to fixed size hex for easier substitution Created 4 years, 6 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
« no previous file with comments | « no previous file | runtime/vm/object.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 4
5 #ifndef VM_METHOD_RECOGNIZER_H_ 5 #ifndef VM_METHOD_RECOGNIZER_H_
6 #define VM_METHOD_RECOGNIZER_H_ 6 #define VM_METHOD_RECOGNIZER_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 9
10 namespace dart { 10 namespace dart {
11 11
12 // (class-name, function-name, recognized enum, result type, fingerprint). 12 // (class-name, function-name, recognized enum, result type, fingerprint).
13 // When adding a new function add a 0 as fingerprint, build and run to get the 13 // When adding a new function add a 0 as fingerprint, build and run to get the
14 // correct fingerprint from the mismatch error. 14 // correct fingerprint from the mismatch error.
15 #define OTHER_RECOGNIZED_LIST(V) \ 15 #define OTHER_RECOGNIZED_LIST(V) \
16 V(::, identical, ObjectIdentical, Bool, 317103244) \ 16 V(::, identical, ObjectIdentical, Bool, 0x12e69c8c) \
17 V(ClassID, getID, ClassIDgetID, Smi, 1385157717) \ 17 V(ClassID, getID, ClassIDgetID, Smi, 0x528fd455) \
18 V(Object, Object., ObjectConstructor, Dynamic, 1746278398) \ 18 V(Object, Object., ObjectConstructor, Dynamic, 0x681617fe) \
19 V(_List, ., ObjectArrayAllocate, Array, 1661438741) \ 19 V(_List, ., ObjectArrayAllocate, Array, 0x63078b15) \
20 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, Smi, 1508321565) \ 20 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, Smi, 0x59e7291d) \
21 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, Smi, 953411007) \ 21 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, Smi, 0x38d3e5bf) \
22 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, Smi, 433971756) \ 22 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, Smi, 0x19dde22c) \
23 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, Smi, 1329446488) \ 23 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, Smi, 0x4f3dbe58) \
24 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, Dynamic, 137212209) \ 24 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, Dynamic, 0x082db131) \
25 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, Dynamic, 499907480) \ 25 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, Dynamic, 0x1dcbfb98) \
26 V(_TypedList, _getInt64, ByteArrayBaseGetInt64, Dynamic, 1639388276) \ 26 V(_TypedList, _getInt64, ByteArrayBaseGetInt64, Dynamic, 0x61b71474) \
27 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, Double, 1672834581) \ 27 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, Double, 0x63b56e15) \
28 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, Double, 966634744) \ 28 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, Double, 0x399dacf8) \
29 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, Float32x4, \ 29 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, Float32x4, \
30 1197581758) \ 30 0x4761a5be) \
31 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, Int32x4, 810805548) \ 31 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, Int32x4, 0x3053e92c) \
32 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, Dynamic, 1317196265) \ 32 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, Dynamic, 0x4e82d1e9) \
33 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, Dynamic, 1328908284) \ 33 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, Dynamic, 0x4f3587fc) \
34 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, Dynamic, 1827614958) \ 34 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, Dynamic, 0x6cef30ee) \
35 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, Dynamic, 1694054572) \ 35 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, Dynamic, 0x64f938ac) \
36 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, Dynamic, 915652649) \ 36 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, Dynamic, 0x3693c029) \
37 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, Dynamic, 1958474336) \ 37 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, Dynamic, 0x74bbf260) \
38 V(_TypedList, _setInt64, ByteArrayBaseSetInt64, Dynamic, 1970687707) \ 38 V(_TypedList, _setInt64, ByteArrayBaseSetInt64, Dynamic, 0x75764edb) \
39 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, Dynamic, 1853026980) \ 39 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, Dynamic, 0x6e72f2a4) \
40 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, Dynamic, 1197862362) \ 40 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, Dynamic, 0x4765edda) \
41 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, Dynamic, 2093630771) \ 41 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, Dynamic, 0x7cca4533) \
42 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, Dynamic, 1982971324) \ 42 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, Dynamic, 0x7631bdbc) \
43 V(_StringBase, _interpolate, StringBaseInterpolate, Dynamic, 1872292681) \ 43 V(_StringBase, _interpolate, StringBaseInterpolate, Dynamic, 0x6f98eb49) \
44 V(_IntegerImplementation, toDouble, IntegerToDouble, Double, 792762465) \ 44 V(_IntegerImplementation, toDouble, IntegerToDouble, Double, 0x2f409861) \
45 V(_Double, _add, DoubleAdd, Double, 2213216) \ 45 V(_Double, _add, DoubleAdd, Double, 0x0021c560) \
46 V(_Double, _sub, DoubleSub, Double, 1100692582) \ 46 V(_Double, _sub, DoubleSub, Double, 0x419b3c66) \
47 V(_Double, _mul, DoubleMul, Double, 436784097) \ 47 V(_Double, _mul, DoubleMul, Double, 0x1a08cbe1) \
48 V(_Double, _div, DoubleDiv, Double, 953317135) \ 48 V(_Double, _div, DoubleDiv, Double, 0x38d2770f) \
49 V(::, min, MathMin, Dynamic, 1115051548) \ 49 V(::, min, MathMin, Dynamic, 0x4276561c) \
50 V(::, max, MathMax, Dynamic, 1410473322) \ 50 V(::, max, MathMax, Dynamic, 0x54121d6a) \
51 V(::, _doublePow, MathDoublePow, Double, 1770960781) \ 51 V(::, _doublePow, MathDoublePow, Double, 0x698eb78d) \
52 V(Float32x4, Float32x4., Float32x4Constructor, Float32x4, 93751705) \ 52 V(Float32x4, Float32x4., Float32x4Constructor, Float32x4, 0x05968999) \
53 V(Float32x4, Float32x4.zero, Float32x4Zero, Float32x4, 1193954374) \ 53 V(Float32x4, Float32x4.zero, Float32x4Zero, Float32x4, 0x472a4c46) \
54 V(Float32x4, Float32x4.splat, Float32x4Splat, Float32x4, 12296613) \ 54 V(Float32x4, Float32x4.splat, Float32x4Splat, Float32x4, 0x00bba1a5) \
55 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, Float32x4, \ 55 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, Float32x4, \
56 1188039061) \ 56 0x46d00995) \
57 V(Float32x4, Float32x4.fromFloat64x2, Float32x4FromFloat64x2, Float32x4, \ 57 V(Float32x4, Float32x4.fromFloat64x2, Float32x4FromFloat64x2, Float32x4, \
58 1750763218) \ 58 0x685a86d2) \
59 V(Float32x4, shuffle, Float32x4Shuffle, Float32x4, 2015957023) \ 59 V(Float32x4, shuffle, Float32x4Shuffle, Float32x4, 0x7829101f) \
60 V(Float32x4, shuffleMix, Float32x4ShuffleMix, Float32x4, 1099087979) \ 60 V(Float32x4, shuffleMix, Float32x4ShuffleMix, Float32x4, 0x4182c06b) \
61 V(Float32x4, get:signMask, Float32x4GetSignMask, Dynamic, 487049875) \ 61 V(Float32x4, get:signMask, Float32x4GetSignMask, Dynamic, 0x1d07ca93) \
62 V(Float32x4, _cmpequal, Float32x4Equal, Int32x4, 127403211) \ 62 V(Float32x4, _cmpequal, Float32x4Equal, Int32x4, 0x079804cb) \
63 V(Float32x4, _cmpgt, Float32x4GreaterThan, Int32x4, 2118391173) \ 63 V(Float32x4, _cmpgt, Float32x4GreaterThan, Int32x4, 0x7e441585) \
64 V(Float32x4, _cmpgte, Float32x4GreaterThanOrEqual, Int32x4, 557807661) \ 64 V(Float32x4, _cmpgte, Float32x4GreaterThanOrEqual, Int32x4, 0x213f782d) \
65 V(Float32x4, _cmplt, Float32x4LessThan, Int32x4, 1061691185) \ 65 V(Float32x4, _cmplt, Float32x4LessThan, Int32x4, 0x3f481f31) \
66 V(Float32x4, _cmplte, Float32x4LessThanOrEqual, Int32x4, 102608993) \ 66 V(Float32x4, _cmplte, Float32x4LessThanOrEqual, Int32x4, 0x061db061) \
67 V(Float32x4, _cmpnequal, Float32x4NotEqual, Int32x4, 1873649982) \ 67 V(Float32x4, _cmpnequal, Float32x4NotEqual, Int32x4, 0x6fada13e) \
68 V(Float32x4, _min, Float32x4Min, Float32x4, 1158016632) \ 68 V(Float32x4, _min, Float32x4Min, Float32x4, 0x4505ee78) \
69 V(Float32x4, _max, Float32x4Max, Float32x4, 118915526) \ 69 V(Float32x4, _max, Float32x4Max, Float32x4, 0x071681c6) \
70 V(Float32x4, _scale, Float32x4Scale, Float32x4, 415757469) \ 70 V(Float32x4, _scale, Float32x4Scale, Float32x4, 0x18c7f49d) \
71 V(Float32x4, _sqrt, Float32x4Sqrt, Float32x4, 1934518992) \ 71 V(Float32x4, _sqrt, Float32x4Sqrt, Float32x4, 0x734e6ad0) \
72 V(Float32x4, _reciprocalSqrt, Float32x4ReciprocalSqrt, Float32x4, \ 72 V(Float32x4, _reciprocalSqrt, Float32x4ReciprocalSqrt, Float32x4, \
73 1586141174) \ 73 0x5e8a97f6) \
74 V(Float32x4, _reciprocal, Float32x4Reciprocal, Float32x4, 1651466502) \ 74 V(Float32x4, _reciprocal, Float32x4Reciprocal, Float32x4, 0x626f6106) \
75 V(Float32x4, _negate, Float32x4Negate, Float32x4, 2142478676) \ 75 V(Float32x4, _negate, Float32x4Negate, Float32x4, 0x7fb3a154) \
76 V(Float32x4, _abs, Float32x4Absolute, Float32x4, 337704007) \ 76 V(Float32x4, _abs, Float32x4Absolute, Float32x4, 0x1420f447) \
77 V(Float32x4, _clamp, Float32x4Clamp, Float32x4, 1107305005) \ 77 V(Float32x4, _clamp, Float32x4Clamp, Float32x4, 0x4200222d) \
78 V(Float32x4, withX, Float32x4WithX, Float32x4, 1311992575) \ 78 V(Float32x4, withX, Float32x4WithX, Float32x4, 0x4e336aff) \
79 V(Float32x4, withY, Float32x4WithY, Float32x4, 175290640) \ 79 V(Float32x4, withY, Float32x4WithY, Float32x4, 0x0a72b910) \
80 V(Float32x4, withZ, Float32x4WithZ, Float32x4, 837367384) \ 80 V(Float32x4, withZ, Float32x4WithZ, Float32x4, 0x31e93658) \
81 V(Float32x4, withW, Float32x4WithW, Float32x4, 1625145605) \ 81 V(Float32x4, withW, Float32x4WithW, Float32x4, 0x60ddc105) \
82 V(Float64x2, Float64x2., Float64x2Constructor, Float64x2, 423355933) \ 82 V(Float64x2, Float64x2., Float64x2Constructor, Float64x2, 0x193be61d) \
83 V(Float64x2, Float64x2.zero, Float64x2Zero, Float64x2, 2066666975) \ 83 V(Float64x2, Float64x2.zero, Float64x2Zero, Float64x2, 0x7b2ed5df) \
84 V(Float64x2, Float64x2.splat, Float64x2Splat, Float64x2, 716962994) \ 84 V(Float64x2, Float64x2.splat, Float64x2Splat, Float64x2, 0x2abbfcb2) \
85 V(Float64x2, Float64x2.fromFloat32x4, Float64x2FromFloat32x4, Float64x2, \ 85 V(Float64x2, Float64x2.fromFloat32x4, Float64x2FromFloat32x4, Float64x2, \
86 792974246) \ 86 0x2f43d3a6) \
87 V(Float64x2, get:x, Float64x2GetX, Double, 1488958362) \ 87 V(Float64x2, get:x, Float64x2GetX, Double, 0x58bfb39a) \
88 V(Float64x2, get:y, Float64x2GetY, Double, 1022688506) \ 88 V(Float64x2, get:y, Float64x2GetY, Double, 0x3cf4fcfa) \
89 V(Float64x2, _negate, Float64x2Negate, Float64x2, 1693416311) \ 89 V(Float64x2, _negate, Float64x2Negate, Float64x2, 0x64ef7b77) \
90 V(Float64x2, abs, Float64x2Abs, Float64x2, 52403783) \ 90 V(Float64x2, abs, Float64x2Abs, Float64x2, 0x031f9e47) \
91 V(Float64x2, sqrt, Float64x2Sqrt, Float64x2, 2012680669) \ 91 V(Float64x2, sqrt, Float64x2Sqrt, Float64x2, 0x77f711dd) \
92 V(Float64x2, get:signMask, Float64x2GetSignMask, Dynamic, 668856717) \ 92 V(Float64x2, get:signMask, Float64x2GetSignMask, Dynamic, 0x27ddf18d) \
93 V(Float64x2, scale, Float64x2Scale, Float64x2, 646122081) \ 93 V(Float64x2, scale, Float64x2Scale, Float64x2, 0x26830a61) \
94 V(Float64x2, withX, Float64x2WithX, Float64x2, 489409269) \ 94 V(Float64x2, withX, Float64x2WithX, Float64x2, 0x1d2bcaf5) \
95 V(Float64x2, withY, Float64x2WithY, Float64x2, 943642284) \ 95 V(Float64x2, withY, Float64x2WithY, Float64x2, 0x383ed6ac) \
96 V(Float64x2, min, Float64x2Min, Float64x2, 685235702) \ 96 V(Float64x2, min, Float64x2Min, Float64x2, 0x28d7ddf6) \
97 V(Float64x2, max, Float64x2Max, Float64x2, 198659675) \ 97 V(Float64x2, max, Float64x2Max, Float64x2, 0x0bd74e5b) \
98 V(Int32x4, Int32x4., Int32x4Constructor, Int32x4, 649173415) \ 98 V(Int32x4, Int32x4., Int32x4Constructor, Int32x4, 0x26b199a7) \
99 V(Int32x4, Int32x4.bool, Int32x4BoolConstructor, Int32x4, 458597857) \ 99 V(Int32x4, Int32x4.bool, Int32x4BoolConstructor, Int32x4, 0x1b55a5e1) \
100 V(Int32x4, Int32x4.fromFloat32x4Bits, Int32x4FromFloat32x4Bits, Int32x4, \ 100 V(Int32x4, Int32x4.fromFloat32x4Bits, Int32x4FromFloat32x4Bits, Int32x4, \
101 2122470988) \ 101 0x7e82564c) \
102 V(Int32x4, get:flagX, Int32x4GetFlagX, Bool, 1446544324) \ 102 V(Int32x4, get:flagX, Int32x4GetFlagX, Bool, 0x563883c4) \
103 V(Int32x4, get:flagY, Int32x4GetFlagY, Bool, 1148149370) \ 103 V(Int32x4, get:flagY, Int32x4GetFlagY, Bool, 0x446f5e7a) \
104 V(Int32x4, get:flagZ, Int32x4GetFlagZ, Bool, 550901369) \ 104 V(Int32x4, get:flagZ, Int32x4GetFlagZ, Bool, 0x20d61679) \
105 V(Int32x4, get:flagW, Int32x4GetFlagW, Bool, 1346664620) \ 105 V(Int32x4, get:flagW, Int32x4GetFlagW, Bool, 0x504478ac) \
106 V(Int32x4, get:signMask, Int32x4GetSignMask, Dynamic, 740215269) \ 106 V(Int32x4, get:signMask, Int32x4GetSignMask, Dynamic, 0x2c1ec9e5) \
107 V(Int32x4, shuffle, Int32x4Shuffle, Int32x4, 549194518) \ 107 V(Int32x4, shuffle, Int32x4Shuffle, Int32x4, 0x20bc0b16) \
108 V(Int32x4, shuffleMix, Int32x4ShuffleMix, Int32x4, 1550866145) \ 108 V(Int32x4, shuffleMix, Int32x4ShuffleMix, Int32x4, 0x5c7056e1) \
109 V(Int32x4, select, Int32x4Select, Float32x4, 1368318775) \ 109 V(Int32x4, select, Int32x4Select, Float32x4, 0x518ee337) \
110 V(Int32x4, withFlagX, Int32x4WithFlagX, Int32x4, 250974159) \ 110 V(Int32x4, withFlagX, Int32x4WithFlagX, Int32x4, 0x0ef58fcf) \
111 V(Int32x4, withFlagY, Int32x4WithFlagY, Int32x4, 1686481348) \ 111 V(Int32x4, withFlagY, Int32x4WithFlagY, Int32x4, 0x6485a9c4) \
112 V(Int32x4, withFlagZ, Int32x4WithFlagZ, Int32x4, 645582330) \ 112 V(Int32x4, withFlagZ, Int32x4WithFlagZ, Int32x4, 0x267acdfa) \
113 V(Int32x4, withFlagW, Int32x4WithFlagW, Int32x4, 878364277) \ 113 V(Int32x4, withFlagW, Int32x4WithFlagW, Int32x4, 0x345ac675) \
114 V(Float32List, [], Float32ArrayGetIndexed, Double, 1451643535) \ 114 V(Float32List, [], Float32ArrayGetIndexed, Double, 0x5686528f) \
115 V(Float32List, []=, Float32ArraySetIndexed, Dynamic, 453873887) \ 115 V(Float32List, []=, Float32ArraySetIndexed, Dynamic, 0x1b0d90df) \
116 V(Int8List, [], Int8ArrayGetIndexed, Smi, 110819507) \ 116 V(Int8List, [], Int8ArrayGetIndexed, Smi, 0x069af8b3) \
117 V(Int8List, []=, Int8ArraySetIndexed, Dynamic, 865684695) \ 117 V(Int8List, []=, Int8ArraySetIndexed, Dynamic, 0x33994cd7) \
118 V(Uint8ClampedList, [], Uint8ClampedArrayGetIndexed, Smi, 41288685) \ 118 V(Uint8ClampedList, [], Uint8ClampedArrayGetIndexed, Smi, 0x027603ed) \
119 V(Uint8ClampedList, []=, Uint8ClampedArraySetIndexed, Dynamic, 687206488) \ 119 V(Uint8ClampedList, []=, Uint8ClampedArraySetIndexed, Dynamic, 0x28f5f058) \
120 V(_ExternalUint8ClampedArray, [], ExternalUint8ClampedArrayGetIndexed, \ 120 V(_ExternalUint8ClampedArray, [], ExternalUint8ClampedArrayGetIndexed, \
121 Smi, 41288685) \ 121 Smi, 0x027603ed) \
122 V(_ExternalUint8ClampedArray, []=, ExternalUint8ClampedArraySetIndexed, \ 122 V(_ExternalUint8ClampedArray, []=, ExternalUint8ClampedArraySetIndexed, \
123 Dynamic, 687206488) \ 123 Dynamic, 0x28f5f058) \
124 V(Int16List, [], Int16ArrayGetIndexed, Smi, 389863073) \ 124 V(Int16List, [], Int16ArrayGetIndexed, Smi, 0x173cd6a1) \
125 V(Int16List, []=, Int16ArraySetIndexed, Dynamic, 855133756) \ 125 V(Int16List, []=, Int16ArraySetIndexed, Dynamic, 0x32f84e3c) \
126 V(Uint16List, [], Uint16ArrayGetIndexed, Smi, 1053739567) \ 126 V(Uint16List, [], Uint16ArrayGetIndexed, Smi, 0x3ececa2f) \
127 V(Uint16List, []=, Uint16ArraySetIndexed, Dynamic, 1547307961) \ 127 V(Uint16List, []=, Uint16ArraySetIndexed, Dynamic, 0x5c3a0bb9) \
128 V(Int32List, [], Int32ArrayGetIndexed, Dynamic, 640610057) \ 128 V(Int32List, [], Int32ArrayGetIndexed, Dynamic, 0x262eef09) \
129 V(Int32List, []=, Int32ArraySetIndexed, Dynamic, 453358705) \ 129 V(Int32List, []=, Int32ArraySetIndexed, Dynamic, 0x1b05b471) \
130 V(Int64List, [], Int64ArrayGetIndexed, Dynamic, 202150810) \ 130 V(Int64List, [], Int64ArrayGetIndexed, Dynamic, 0x0c0c939a) \
131 V(Int64List, []=, Int64ArraySetIndexed, Dynamic, 924110852) \ 131 V(Int64List, []=, Int64ArraySetIndexed, Dynamic, 0x3714d004) \
132 V(Float32x4List, [], Float32x4ArrayGetIndexed, Float32x4, 29819259) \ 132 V(Float32x4List, [], Float32x4ArrayGetIndexed, Float32x4, 0x01c7017b) \
133 V(Float32x4List, []=, Float32x4ArraySetIndexed, Dynamic, 1458062250) \ 133 V(Float32x4List, []=, Float32x4ArraySetIndexed, Dynamic, 0x56e843aa) \
134 V(Int32x4List, [], Int32x4ArrayGetIndexed, Int32x4, 137707405) \ 134 V(Int32x4List, [], Int32x4ArrayGetIndexed, Int32x4, 0x08353f8d) \
135 V(Int32x4List, []=, Int32x4ArraySetIndexed, Dynamic, 496650149) \ 135 V(Int32x4List, []=, Int32x4ArraySetIndexed, Dynamic, 0x1d9a47a5) \
136 V(Float64x2List, [], Float64x2ArrayGetIndexed, Float64x2, 1721439384) \ 136 V(Float64x2List, [], Float64x2ArrayGetIndexed, Float64x2, 0x669b1498) \
137 V(Float64x2List, []=, Float64x2ArraySetIndexed, Dynamic, 1994027006) \ 137 V(Float64x2List, []=, Float64x2ArraySetIndexed, Dynamic, 0x76da6ffe) \
138 V(_Bigint, get:_neg, Bigint_getNeg, Bool, 2079423063) \ 138 V(_Bigint, get:_neg, Bigint_getNeg, Bool, 0x7bf17a57) \
139 V(_Bigint, get:_used, Bigint_getUsed, Smi, 1426329619) \ 139 V(_Bigint, get:_used, Bigint_getUsed, Smi, 0x55041013) \
140 V(_Bigint, get:_digits, Bigint_getDigits, TypedDataUint32Array, 1185333683) \ 140 V(_Bigint, get:_digits, Bigint_getDigits, TypedDataUint32Array, 0x46a6c1b3) \
141 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, Dynamic, \ 141 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, Dynamic, 0x7d6bb76b) \
142 2104211307) \ 142 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, Dynamic, 0x4beb13f2) \
143 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, Dynamic, 1273697266) \ 143 V(_HashVMBase, get:_data, LinkedHashMap_getData, Array, 0x4bf5ccb3) \
144 V(_HashVMBase, get:_data, LinkedHashMap_getData, Array, \ 144 V(_HashVMBase, set:_data, LinkedHashMap_setData, Dynamic, 0x6007556d) \
145 1274399923) \ 145 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, Smi, 0x15e70845) \
146 V(_HashVMBase, set:_data, LinkedHashMap_setData, Dynamic, 1611093357) \ 146 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, Dynamic, 0x3e8c6edc)\
147 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, Smi, 367462469) \ 147 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, Smi, 0x35c5ac00) \
148 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, Dynamic, \ 148 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, Dynamic, 0x49adf69e)\
149 1049390812) \
150 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, Smi, 902147072) \
151 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, Dynamic, \
152 1236137630) \
153 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, Smi, \ 149 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, Smi, \
154 812542585) \ 150 0x306e6a79) \
155 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, Dynamic, \ 151 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, Dynamic, \
156 1072259010) \ 152 0x3fe95fc2) \
157 153
158 154
159 // List of intrinsics: 155 // List of intrinsics:
160 // (class-name, function-name, intrinsification method, fingerprint). 156 // (class-name, function-name, intrinsification method, fingerprint).
161 #define CORE_LIB_INTRINSIC_LIST(V) \ 157 #define CORE_LIB_INTRINSIC_LIST(V) \
162 V(_Smi, ~, Smi_bitNegate, Smi, 1673522705) \ 158 V(_Smi, ~, Smi_bitNegate, Smi, 0x63bfee11) \
163 V(_Smi, get:bitLength, Smi_bitLength, Smi, 632480332) \ 159 V(_Smi, get:bitLength, Smi_bitLength, Smi, 0x25b2e24c) \
164 V(_Bigint, _lsh, Bigint_lsh, Dynamic, 1557746963) \ 160 V(_Bigint, _lsh, Bigint_lsh, Dynamic, 0x5cd95513) \
165 V(_Bigint, _rsh, Bigint_rsh, Dynamic, 761843937) \ 161 V(_Bigint, _rsh, Bigint_rsh, Dynamic, 0x2d68d0e1) \
166 V(_Bigint, _absAdd, Bigint_absAdd, Dynamic, 1227835493) \ 162 V(_Bigint, _absAdd, Bigint_absAdd, Dynamic, 0x492f4865) \
167 V(_Bigint, _absSub, Bigint_absSub, Dynamic, 390740532) \ 163 V(_Bigint, _absSub, Bigint_absSub, Dynamic, 0x174a3a34) \
168 V(_Bigint, _mulAdd, Bigint_mulAdd, Dynamic, 617534446) \ 164 V(_Bigint, _mulAdd, Bigint_mulAdd, Dynamic, 0x24ced3ee) \
169 V(_Bigint, _sqrAdd, Bigint_sqrAdd, Dynamic, 1623635507) \ 165 V(_Bigint, _sqrAdd, Bigint_sqrAdd, Dynamic, 0x60c6b633) \
170 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, Dynamic, 797340802) \ 166 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, Dynamic, 0x2f867482) \
171 V(_Montgomery, _mulMod, Montgomery_mulMod, Dynamic, 1947987219) \ 167 V(_Montgomery, _mulMod, Montgomery_mulMod, Dynamic, 0x741bed13) \
172 V(_Double, >, Double_greaterThan, Bool, 1453001345) \ 168 V(_Double, >, Double_greaterThan, Bool, 0x569b0a81) \
173 V(_Double, >=, Double_greaterEqualThan, Bool, 1815180096) \ 169 V(_Double, >=, Double_greaterEqualThan, Bool, 0x6c317340) \
174 V(_Double, <, Double_lessThan, Bool, 652059836) \ 170 V(_Double, <, Double_lessThan, Bool, 0x26dda4bc) \
175 V(_Double, <=, Double_lessEqualThan, Bool, 512138528) \ 171 V(_Double, <=, Double_lessEqualThan, Bool, 0x1e869d20) \
176 V(_Double, ==, Double_equal, Bool, 1468668497) \ 172 V(_Double, ==, Double_equal, Bool, 0x578a1a51) \
177 V(_Double, +, Double_add, Double, 1269587413) \ 173 V(_Double, +, Double_add, Double, 0x4bac5dd5) \
178 V(_Double, -, Double_sub, Double, 1644506555) \ 174 V(_Double, -, Double_sub, Double, 0x62052dbb) \
179 V(_Double, *, Double_mul, Double, 600860888) \ 175 V(_Double, *, Double_mul, Double, 0x23d068d8) \
180 V(_Double, /, Double_div, Double, 1220198876) \ 176 V(_Double, /, Double_div, Double, 0x48bac1dc) \
181 V(_Double, get:isNaN, Double_getIsNaN, Bool, 184085483) \ 177 V(_Double, get:isNaN, Double_getIsNaN, Bool, 0x0af8ebeb) \
182 V(_Double, get:isNegative, Double_getIsNegative, Bool, 978911030) \ 178 V(_Double, get:isNegative, Double_getIsNegative, Bool, 0x3a58ff36) \
183 V(_Double, _mulFromInteger, Double_mulFromInteger, Double, 856594998) \ 179 V(_Double, _mulFromInteger, Double_mulFromInteger, Double, 0x330e9a36) \
184 V(_Double, .fromInteger, DoubleFromInteger, Double, 2129942595) \ 180 V(_Double, .fromInteger, DoubleFromInteger, Double, 0x7ef45843) \
185 V(_List, []=, ObjectArraySetIndexed, Dynamic, 886228780) \ 181 V(_List, []=, ObjectArraySetIndexed, Dynamic, 0x34d2c72c) \
186 V(_GrowableList, .withData, GrowableArray_Allocate, GrowableObjectArray, \ 182 V(_GrowableList, .withData, GrowableArray_Allocate, GrowableObjectArray, \
187 631736030) \ 183 0x25a786de) \
188 V(_GrowableList, add, GrowableArray_add, Dynamic, 219371757) \ 184 V(_GrowableList, add, GrowableArray_add, Dynamic, 0x0d1358ed) \
189 V(_RegExp, _ExecuteMatch, RegExp_ExecuteMatch, Dynamic, 1614206970) \ 185 V(_RegExp, _ExecuteMatch, RegExp_ExecuteMatch, Dynamic, 0x6036d7fa) \
190 V(Object, ==, ObjectEquals, Bool, 291909336) \ 186 V(Object, ==, ObjectEquals, Bool, 0x11662ed8) \
191 V(Object, get:runtimeType, ObjectRuntimeType, Type, 15188587) \ 187 V(Object, get:runtimeType, ObjectRuntimeType, Type, 0x00e7c26b) \
192 V(_StringBase, get:hashCode, String_getHashCode, Smi, 2026040200) \ 188 V(_StringBase, get:hashCode, String_getHashCode, Smi, 0x78c2eb88) \
193 V(_StringBase, get:isEmpty, StringBaseIsEmpty, Bool, 1958879178) \ 189 V(_StringBase, get:isEmpty, StringBaseIsEmpty, Bool, 0x74c21fca) \
194 V(_StringBase, _substringMatches, StringBaseSubstringMatches, Bool, \ 190 V(_StringBase, _substringMatches, StringBaseSubstringMatches, Bool, \
195 797253099) \ 191 0x2f851deb) \
196 V(_StringBase, [], StringBaseCharAt, Dynamic, 754527301) \ 192 V(_StringBase, [], StringBaseCharAt, Dynamic, 0x2cf92c45) \
197 V(_OneByteString, get:hashCode, OneByteString_getHashCode, Smi, 2026040200) \ 193 V(_OneByteString, get:hashCode, OneByteString_getHashCode, Smi, 0x78c2eb88) \
198 V(_OneByteString, _substringUncheckedNative, \ 194 V(_OneByteString, _substringUncheckedNative, \
199 OneByteString_substringUnchecked, OneByteString, 1670133538) \ 195 OneByteString_substringUnchecked, OneByteString, 0x638c3722) \
200 V(_OneByteString, _setAt, OneByteStringSetAt, Dynamic, 1160066031) \ 196 V(_OneByteString, _setAt, OneByteStringSetAt, Dynamic, 0x452533ef) \
201 V(_OneByteString, _allocate, OneByteString_allocate, OneByteString, \ 197 V(_OneByteString, _allocate, OneByteString_allocate, OneByteString, \
202 1028631946) \ 198 0x3d4fad8a) \
203 V(_OneByteString, ==, OneByteString_equality, Bool, 1062844160) \ 199 V(_OneByteString, ==, OneByteString_equality, Bool, 0x3f59b700) \
204 V(_TwoByteString, ==, TwoByteString_equality, Bool, 1062844160) \ 200 V(_TwoByteString, ==, TwoByteString_equality, Bool, 0x3f59b700) \
205 201
206 202
207 #define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \ 203 #define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \
208 V(_IntegerImplementation, _addFromInteger, Integer_addFromInteger, \ 204 V(_IntegerImplementation, _addFromInteger, Integer_addFromInteger, \
209 Dynamic, 2042488139) \ 205 Dynamic, 0x79bde54b) \
210 V(_IntegerImplementation, +, Integer_add, Dynamic, 239272130) \ 206 V(_IntegerImplementation, +, Integer_add, Dynamic, 0x0e4300c2) \
211 V(_IntegerImplementation, _subFromInteger, Integer_subFromInteger, Dynamic, \ 207 V(_IntegerImplementation, _subFromInteger, Integer_subFromInteger, Dynamic, \
212 957923759) \ 208 0x3918c1af) \
213 V(_IntegerImplementation, -, Integer_sub, Dynamic, 216175811) \ 209 V(_IntegerImplementation, -, Integer_sub, Dynamic, 0x0ce294c3) \
214 V(_IntegerImplementation, _mulFromInteger, Integer_mulFromInteger, \ 210 V(_IntegerImplementation, _mulFromInteger, Integer_mulFromInteger, \
215 Dynamic, 2032062140) \ 211 Dynamic, 0x791ecebc) \
216 V(_IntegerImplementation, *, Integer_mul, Dynamic, 1301152164) \ 212 V(_IntegerImplementation, *, Integer_mul, Dynamic, 0x4d8e01a4) \
217 V(_IntegerImplementation, _moduloFromInteger, Integer_moduloFromInteger, \ 213 V(_IntegerImplementation, _moduloFromInteger, Integer_moduloFromInteger, \
218 Dynamic, 779285842) \ 214 Dynamic, 0x2e72f552) \
219 V(_IntegerImplementation, ~/, Integer_truncDivide, Dynamic, 1018128256) \ 215 V(_IntegerImplementation, ~/, Integer_truncDivide, Dynamic, 0x3caf6780) \
220 V(_IntegerImplementation, unary-, Integer_negate, Dynamic, 1507648892) \ 216 V(_IntegerImplementation, unary-, Integer_negate, Dynamic, 0x59dce57c) \
221 V(_IntegerImplementation, _bitAndFromInteger, Integer_bitAndFromInteger, \ 217 V(_IntegerImplementation, _bitAndFromInteger, Integer_bitAndFromInteger, \
222 Dynamic, 503046514) \ 218 Dynamic, 0x1dfbe172) \
223 V(_IntegerImplementation, &, Integer_bitAnd, Dynamic, 1500136766) \ 219 V(_IntegerImplementation, &, Integer_bitAnd, Dynamic, 0x596a453e) \
224 V(_IntegerImplementation, _bitOrFromInteger, Integer_bitOrFromInteger, \ 220 V(_IntegerImplementation, _bitOrFromInteger, Integer_bitOrFromInteger, \
225 Dynamic, 1031383580) \ 221 Dynamic, 0x3d79aa1c) \
226 V(_IntegerImplementation, |, Integer_bitOr, Dynamic, 119412028) \ 222 V(_IntegerImplementation, |, Integer_bitOr, Dynamic, 0x071e153c) \
227 V(_IntegerImplementation, _bitXorFromInteger, Integer_bitXorFromInteger, \ 223 V(_IntegerImplementation, _bitXorFromInteger, Integer_bitXorFromInteger, \
228 Dynamic, 1339506501) \ 224 Dynamic, 0x4fd73f45) \
229 V(_IntegerImplementation, ^, Integer_bitXor, Dynamic, 210430781) \ 225 V(_IntegerImplementation, ^, Integer_bitXor, Dynamic, 0x0c8aeb3d) \
230 V(_IntegerImplementation, _greaterThanFromInteger, \ 226 V(_IntegerImplementation, _greaterThanFromInteger, \
231 Integer_greaterThanFromInt, Bool, 780147656) \ 227 Integer_greaterThanFromInt, Bool, 0x2e801bc8) \
232 V(_IntegerImplementation, >, Integer_greaterThan, Bool, 673741711) \ 228 V(_IntegerImplementation, >, Integer_greaterThan, Bool, 0x28287b8f) \
233 V(_IntegerImplementation, ==, Integer_equal, Bool, 272474439) \ 229 V(_IntegerImplementation, ==, Integer_equal, Bool, 0x103da147) \
234 V(_IntegerImplementation, _equalToInteger, Integer_equalToInteger, Bool, \ 230 V(_IntegerImplementation, _equalToInteger, Integer_equalToInteger, Bool, \
235 2004079901) \ 231 0x7773d51d) \
236 V(_IntegerImplementation, <, Integer_lessThan, Bool, 652059836) \ 232 V(_IntegerImplementation, <, Integer_lessThan, Bool, 0x26dda4bc) \
237 V(_IntegerImplementation, <=, Integer_lessEqualThan, Bool, 512138528) \ 233 V(_IntegerImplementation, <=, Integer_lessEqualThan, Bool, 0x1e869d20) \
238 V(_IntegerImplementation, >=, Integer_greaterEqualThan, Bool, 1815180096) \ 234 V(_IntegerImplementation, >=, Integer_greaterEqualThan, Bool, 0x6c317340) \
239 V(_IntegerImplementation, <<, Integer_shl, Dynamic, 1127538624) \ 235 V(_IntegerImplementation, <<, Integer_shl, Dynamic, 0x4334dfc0) \
240 V(_IntegerImplementation, >>, Integer_sar, Dynamic, 1243972513) \ 236 V(_IntegerImplementation, >>, Integer_sar, Dynamic, 0x4a2583a1) \
241 V(_Double, toInt, DoubleToInteger, Dynamic, 653210699) 237 V(_Double, toInt, DoubleToInteger, Dynamic, 0x26ef344b)
242 238
243 239
244 #define MATH_LIB_INTRINSIC_LIST(V) \ 240 #define MATH_LIB_INTRINSIC_LIST(V) \
245 V(::, sqrt, MathSqrt, Double, 417912310) \ 241 V(::, sqrt, MathSqrt, Double, 0x18e8d5f6) \
246 V(_Random, _nextState, Random_nextState, Dynamic, 508231939) \ 242 V(_Random, _nextState, Random_nextState, Dynamic, 0x1e4b0103) \
247 243
248 #define GRAPH_MATH_LIB_INTRINSIC_LIST(V) \ 244 #define GRAPH_MATH_LIB_INTRINSIC_LIST(V) \
249 V(::, sin, MathSin, Double, 65032) \ 245 V(::, sin, MathSin, Double, 0x0000fe08) \
250 V(::, cos, MathCos, Double, 2006233918) \ 246 V(::, cos, MathCos, Double, 0x7794b33e) \
251 V(::, tan, MathTan, Double, 1276867325) \ 247 V(::, tan, MathTan, Double, 0x4c1b72fd) \
252 V(::, asin, MathAsin, Double, 1678592173) \ 248 V(::, asin, MathAsin, Double, 0x640d48ad) \
253 V(::, acos, MathAcos, Double, 1121218433) \ 249 V(::, acos, MathAcos, Double, 0x42d46f81) \
254 V(::, atan, MathAtan, Double, 1109653625) \ 250 V(::, atan, MathAtan, Double, 0x4223f879) \
255 V(::, atan2, MathAtan2, Double, 894696289) \ 251 V(::, atan2, MathAtan2, Double, 0x3553fb61) \
256 252
257 #define TYPED_DATA_LIB_INTRINSIC_LIST(V) \ 253 #define TYPED_DATA_LIB_INTRINSIC_LIST(V) \
258 V(Int8List, ., TypedData_Int8Array_factory, TypedDataInt8Array, 779569635) \ 254 V(Int8List, ., TypedData_Int8Array_factory, TypedDataInt8Array, 0x2e7749e3) \
259 V(Uint8List, ., TypedData_Uint8Array_factory, TypedDataUint8Array, \ 255 V(Uint8List, ., TypedData_Uint8Array_factory, TypedDataUint8Array, \
260 1790399545) \ 256 0x6ab75439) \
261 V(Uint8ClampedList, ., TypedData_Uint8ClampedArray_factory, \ 257 V(Uint8ClampedList, ., TypedData_Uint8ClampedArray_factory, \
262 TypedDataUint8ClampedArray, 405875159) \ 258 TypedDataUint8ClampedArray, 0x183129d7) \
263 V(Int16List, ., TypedData_Int16Array_factory, TypedDataInt16Array, \ 259 V(Int16List, ., TypedData_Int16Array_factory, TypedDataInt16Array, \
264 347431914) \ 260 0x14b563ea) \
265 V(Uint16List, ., TypedData_Uint16Array_factory, TypedDataUint16Array, \ 261 V(Uint16List, ., TypedData_Uint16Array_factory, TypedDataUint16Array, \
266 121990116) \ 262 0x07456be4) \
267 V(Int32List, ., TypedData_Int32Array_factory, TypedDataInt32Array, \ 263 V(Int32List, ., TypedData_Int32Array_factory, TypedDataInt32Array, \
268 1540657744) \ 264 0x5bd49250) \
269 V(Uint32List, ., TypedData_Uint32Array_factory, \ 265 V(Uint32List, ., TypedData_Uint32Array_factory, \
270 TypedDataUint32Array, 1012511652) \ 266 TypedDataUint32Array, 0x3c59b3a4) \
271 V(Int64List, ., TypedData_Int64Array_factory, \ 267 V(Int64List, ., TypedData_Int64Array_factory, \
272 TypedDataInt64Array, 1473796807) \ 268 TypedDataInt64Array, 0x57d85ac7) \
273 V(Uint64List, ., TypedData_Uint64Array_factory, \ 269 V(Uint64List, ., TypedData_Uint64Array_factory, \
274 TypedDataUint64Array, 738799620) \ 270 TypedDataUint64Array, 0x2c093004) \
275 V(Float32List, ., TypedData_Float32Array_factory, \ 271 V(Float32List, ., TypedData_Float32Array_factory, \
276 TypedDataFloat32Array, 1938690635) \ 272 TypedDataFloat32Array, 0x738e124b) \
277 V(Float64List, ., TypedData_Float64Array_factory, \ 273 V(Float64List, ., TypedData_Float64Array_factory, \
278 TypedDataFloat64Array, 1344005361) \ 274 TypedDataFloat64Array, 0x501be4f1) \
279 V(Float32x4List, ., TypedData_Float32x4Array_factory, \ 275 V(Float32x4List, ., TypedData_Float32x4Array_factory, \
280 TypedDataFloat32x4Array, 2055067416) \ 276 TypedDataFloat32x4Array, 0x7a7dd718) \
281 V(Int32x4List, ., TypedData_Int32x4Array_factory, \ 277 V(Int32x4List, ., TypedData_Int32x4Array_factory, \
282 TypedDataInt32x4Array, 504220232) \ 278 TypedDataInt32x4Array, 0x1e0dca48) \
283 V(Float64x2List, ., TypedData_Float64x2Array_factory, \ 279 V(Float64x2List, ., TypedData_Float64x2Array_factory, \
284 TypedDataFloat64x2Array, 416019673) \ 280 TypedDataFloat64x2Array, 0x18cbf4d9) \
285 281
286 #define GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ 282 #define GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \
287 V(Uint8List, [], Uint8ArrayGetIndexed, Smi, 41288685) \ 283 V(Uint8List, [], Uint8ArrayGetIndexed, Smi, 0x027603ed) \
288 V(Uint8List, []=, Uint8ArraySetIndexed, Dynamic, 101536342) \ 284 V(Uint8List, []=, Uint8ArraySetIndexed, Dynamic, 0x060d5256) \
289 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, Smi, 41288685) \ 285 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, Smi, 0x027603ed) \
290 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, Dynamic, \ 286 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, Dynamic, \
291 101536342) \ 287 0x060d5256) \
292 V(Uint32List, [], Uint32ArrayGetIndexed, Dynamic, 1614870523) \ 288 V(Uint32List, [], Uint32ArrayGetIndexed, Dynamic, 0x6040f7fb) \
293 V(Uint32List, []=, Uint32ArraySetIndexed, Dynamic, 978194713) \ 289 V(Uint32List, []=, Uint32ArraySetIndexed, Dynamic, 0x3a4e1119) \
294 V(Float64List, [], Float64ArrayGetIndexed, Double, 2049378701) \ 290 V(Float64List, [], Float64ArrayGetIndexed, Double, 0x7a27098d) \
295 V(Float64List, []=, Float64ArraySetIndexed, Dynamic, 328934501) \ 291 V(Float64List, []=, Float64ArraySetIndexed, Dynamic, 0x139b2465) \
296 V(_TypedList, get:length, TypedDataLength, Smi, 546364442) \ 292 V(_TypedList, get:length, TypedDataLength, Smi, 0x2090dc1a) \
297 V(Float32x4, get:x, Float32x4ShuffleX, Double, 1674625343) \ 293 V(Float32x4, get:x, Float32x4ShuffleX, Double, 0x63d0c13f) \
298 V(Float32x4, get:y, Float32x4ShuffleY, Double, 540293915) \ 294 V(Float32x4, get:y, Float32x4ShuffleY, Double, 0x20343b1b) \
299 V(Float32x4, get:z, Float32x4ShuffleZ, Double, 320347578) \ 295 V(Float32x4, get:z, Float32x4ShuffleZ, Double, 0x13181dba) \
300 V(Float32x4, get:w, Float32x4ShuffleW, Double, 1770606624) \ 296 V(Float32x4, get:w, Float32x4ShuffleW, Double, 0x69895020) \
301 V(Float32x4, _mul, Float32x4Mul, Float32x4, 42807622) \ 297 V(Float32x4, _mul, Float32x4Mul, Float32x4, 0x028d3146) \
302 V(Float32x4, _sub, Float32x4Sub, Float32x4, 103774455) \ 298 V(Float32x4, _sub, Float32x4Sub, Float32x4, 0x062f78f7) \
303 V(Float32x4, _add, Float32x4Add, Float32x4, 1352634374) \ 299 V(Float32x4, _add, Float32x4Add, Float32x4, 0x509f9006) \
304 300
305 #define GRAPH_CORE_INTRINSICS_LIST(V) \ 301 #define GRAPH_CORE_INTRINSICS_LIST(V) \
306 V(_List, get:length, ObjectArrayLength, Smi, 630471378) \ 302 V(_List, get:length, ObjectArrayLength, Smi, 0x25943ad2) \
307 V(_List, [], ObjectArrayGetIndexed, Dynamic, 360400496) \ 303 V(_List, [], ObjectArrayGetIndexed, Dynamic, 0x157b4670) \
308 V(_ImmutableList, get:length, ImmutableArrayLength, Smi, 630471378) \ 304 V(_ImmutableList, get:length, ImmutableArrayLength, Smi, 0x25943ad2) \
309 V(_ImmutableList, [], ImmutableArrayGetIndexed, Dynamic, 360400496) \ 305 V(_ImmutableList, [], ImmutableArrayGetIndexed, Dynamic, 0x157b4670) \
310 V(_GrowableList, get:length, GrowableArrayLength, Smi, 417111542) \ 306 V(_GrowableList, get:length, GrowableArrayLength, Smi, 0x18dc9df6) \
311 V(_GrowableList, get:_capacity, GrowableArrayCapacity, Smi, 41110914) \ 307 V(_GrowableList, get:_capacity, GrowableArrayCapacity, Smi, 0x02734d82) \
312 V(_GrowableList, _setData, GrowableArraySetData, Dynamic, 210059283) \ 308 V(_GrowableList, _setData, GrowableArraySetData, Dynamic, 0x0c854013) \
313 V(_GrowableList, _setLength, GrowableArraySetLength, Dynamic, 335652822) \ 309 V(_GrowableList, _setLength, GrowableArraySetLength, Dynamic, 0x1401a7d6) \
314 V(_GrowableList, [], GrowableArrayGetIndexed, Dynamic, 1957529650) \ 310 V(_GrowableList, [], GrowableArrayGetIndexed, Dynamic, 0x74ad8832) \
315 V(_GrowableList, []=, GrowableArraySetIndexed, Dynamic, 225246870) \ 311 V(_GrowableList, []=, GrowableArraySetIndexed, Dynamic, 0x0d6cfe96) \
316 V(_StringBase, get:length, StringBaseLength, Smi, 707533587) \ 312 V(_StringBase, get:length, StringBaseLength, Smi, 0x2a2c1b13) \
317 V(_OneByteString, codeUnitAt, OneByteStringCodeUnitAt, Smi, 1436590579) \ 313 V(_OneByteString, codeUnitAt, OneByteStringCodeUnitAt, Smi, 0x55a0a1f3) \
318 V(_TwoByteString, codeUnitAt, TwoByteStringCodeUnitAt, Smi, 1436590579) \ 314 V(_TwoByteString, codeUnitAt, TwoByteStringCodeUnitAt, Smi, 0x55a0a1f3) \
319 V(_ExternalOneByteString, codeUnitAt, ExternalOneByteStringCodeUnitAt, \ 315 V(_ExternalOneByteString, codeUnitAt, ExternalOneByteStringCodeUnitAt, \
320 Smi, 1436590579) \ 316 Smi, 0x55a0a1f3) \
321 V(_ExternalTwoByteString, codeUnitAt, ExternalTwoByteStringCodeUnitAt, \ 317 V(_ExternalTwoByteString, codeUnitAt, ExternalTwoByteStringCodeUnitAt, \
322 Smi, 1436590579) \ 318 Smi, 0x55a0a1f3) \
323 V(_Double, unary-, DoubleFlipSignBit, Double, 1783281169) \ 319 V(_Double, unary-, DoubleFlipSignBit, Double, 0x6a4ab611) \
324 V(_Double, truncateToDouble, DoubleTruncate, Double, 791143891) \ 320 V(_Double, truncateToDouble, DoubleTruncate, Double, 0x2f27e5d3) \
325 V(_Double, roundToDouble, DoubleRound, Double, 797558034) \ 321 V(_Double, roundToDouble, DoubleRound, Double, 0x2f89c512) \
326 V(_Double, floorToDouble, DoubleFloor, Double, 1789426271) \ 322 V(_Double, floorToDouble, DoubleFloor, Double, 0x6aa87a5f) \
327 V(_Double, ceilToDouble, DoubleCeil, Double, 453271198) \ 323 V(_Double, ceilToDouble, DoubleCeil, Double, 0x1b045e9e) \
328 V(_Double, _modulo, DoubleMod, Double, 776062204) 324 V(_Double, _modulo, DoubleMod, Double, 0x2e41c4fc)
329 325
330 326
331 #define GRAPH_INTRINSICS_LIST(V) \ 327 #define GRAPH_INTRINSICS_LIST(V) \
332 GRAPH_CORE_INTRINSICS_LIST(V) \ 328 GRAPH_CORE_INTRINSICS_LIST(V) \
333 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ 329 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \
334 GRAPH_MATH_LIB_INTRINSIC_LIST(V) \ 330 GRAPH_MATH_LIB_INTRINSIC_LIST(V) \
335 331
336 #define DEVELOPER_LIB_INTRINSIC_LIST(V) \ 332 #define DEVELOPER_LIB_INTRINSIC_LIST(V) \
337 V(_UserTag, makeCurrent, UserTag_makeCurrent, Dynamic, 187721469) \ 333 V(_UserTag, makeCurrent, UserTag_makeCurrent, Dynamic, 0x0b3066fd) \
338 V(::, _getDefaultTag, UserTag_defaultTag, Dynamic, 350077879) \ 334 V(::, _getDefaultTag, UserTag_defaultTag, Dynamic, 0x14ddc3b7) \
339 V(::, _getCurrentTag, Profiler_getCurrentTag, Dynamic, 1215225901) \ 335 V(::, _getCurrentTag, Profiler_getCurrentTag, Dynamic, 0x486ee02d) \
340 V(::, _isDartStreamEnabled, Timeline_isDartStreamEnabled, Dynamic, \ 336 V(::, _isDartStreamEnabled, Timeline_isDartStreamEnabled, Dynamic, \
341 1072246292) \ 337 0x3fe92e14) \
342 338
343 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ 339 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \
344 CORE_LIB_INTRINSIC_LIST(V) \ 340 CORE_LIB_INTRINSIC_LIST(V) \
345 DEVELOPER_LIB_INTRINSIC_LIST(V) \ 341 DEVELOPER_LIB_INTRINSIC_LIST(V) \
346 MATH_LIB_INTRINSIC_LIST(V) \ 342 MATH_LIB_INTRINSIC_LIST(V) \
347 TYPED_DATA_LIB_INTRINSIC_LIST(V) \ 343 TYPED_DATA_LIB_INTRINSIC_LIST(V) \
348 344
349 #define ALL_INTRINSICS_LIST(V) \ 345 #define ALL_INTRINSICS_LIST(V) \
350 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ 346 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \
351 CORE_INTEGER_LIB_INTRINSIC_LIST(V) 347 CORE_INTEGER_LIB_INTRINSIC_LIST(V)
352 348
353 #define RECOGNIZED_LIST(V) \ 349 #define RECOGNIZED_LIST(V) \
354 OTHER_RECOGNIZED_LIST(V) \ 350 OTHER_RECOGNIZED_LIST(V) \
355 ALL_INTRINSICS_LIST(V) \ 351 ALL_INTRINSICS_LIST(V) \
356 GRAPH_INTRINSICS_LIST(V) 352 GRAPH_INTRINSICS_LIST(V)
357 353
358 // A list of core function that should always be inlined. 354 // A list of core function that should always be inlined.
359 #define INLINE_WHITE_LIST(V) \ 355 #define INLINE_WHITE_LIST(V) \
360 V(Object, ==, ObjectEquals, 291909336) \ 356 V(Object, ==, ObjectEquals, 0x11662ed8) \
361 V(_List, get:length, ObjectArrayLength, 630471378) \ 357 V(_List, get:length, ObjectArrayLength, 0x25943ad2) \
362 V(_ImmutableList, get:length, ImmutableArrayLength, 630471378) \ 358 V(_ImmutableList, get:length, ImmutableArrayLength, 0x25943ad2) \
363 V(_TypedList, get:length, TypedDataLength, 546364442) \ 359 V(_TypedList, get:length, TypedDataLength, 0x2090dc1a) \
364 V(_GrowableList, get:length, GrowableArrayLength, 417111542) \ 360 V(_GrowableList, get:length, GrowableArrayLength, 0x18dc9df6) \
365 V(_GrowableList, add, GrowableListAdd, 219371757) \ 361 V(_GrowableList, add, GrowableListAdd, 0x0d1358ed) \
366 V(_GrowableList, removeLast, GrowableListRemoveLast, 324891524) \ 362 V(_GrowableList, removeLast, GrowableListRemoveLast, 0x135d7384) \
367 V(_StringBase, get:length, StringBaseLength, 707533587) \ 363 V(_StringBase, get:length, StringBaseLength, 0x2a2c1b13) \
368 V(ListIterator, moveNext, ListIteratorMoveNext, 1065954929) \ 364 V(ListIterator, moveNext, ListIteratorMoveNext, 0x3f892e71) \
369 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 1451346178) \ 365 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 0x5681c902) \
370 V(_GrowableList, get:iterator, GrowableArrayIterator, 1840323187) \ 366 V(_GrowableList, get:iterator, GrowableArrayIterator, 0x6db11a73) \
371 V(_GrowableList, forEach, GrowableArrayForEach, 620771070) \ 367 V(_GrowableList, forEach, GrowableArrayForEach, 0x250036fe) \
372 V(_List, ., ObjectArrayAllocate, 1661438741) \ 368 V(_List, ., ObjectArrayAllocate, 0x63078b15) \
373 V(_List, [], ObjectArrayGetIndexed, 360400496) \ 369 V(_List, [], ObjectArrayGetIndexed, 0x157b4670) \
374 V(_List, []=, ObjectArraySetIndexed, 886228780) \ 370 V(_List, []=, ObjectArraySetIndexed, 0x34d2c72c) \
375 V(ListMixin, get:isEmpty, ListMixinIsEmpty, 2021497798) \ 371 V(ListMixin, get:isEmpty, ListMixinIsEmpty, 0x787d9bc6) \
376 V(_List, get:iterator, ObjectArrayIterator, 295498778) \ 372 V(_List, get:iterator, ObjectArrayIterator, 0x119cf41a) \
377 V(_List, forEach, ObjectArrayForEach, 180150673) \ 373 V(_List, forEach, ObjectArrayForEach, 0x0abce191) \
378 V(_List, _slice, ObjectArraySlice, 840558357) \ 374 V(_List, _slice, ObjectArraySlice, 0x3219e715) \
379 V(_ImmutableList, get:iterator, ImmutableArrayIterator, 295498778) \ 375 V(_ImmutableList, get:iterator, ImmutableArrayIterator, 0x119cf41a) \
380 V(_ImmutableList, forEach, ImmutableArrayForEach, 180150673) \ 376 V(_ImmutableList, forEach, ImmutableArrayForEach, 0x0abce191) \
381 V(_ImmutableList, [], ImmutableArrayGetIndexed, 360400496) \ 377 V(_ImmutableList, [], ImmutableArrayGetIndexed, 0x157b4670) \
382 V(_GrowableList, [], GrowableArrayGetIndexed, 1957529650) \ 378 V(_GrowableList, [], GrowableArrayGetIndexed, 0x74ad8832) \
383 V(_GrowableList, []=, GrowableArraySetIndexed, 225246870) \ 379 V(_GrowableList, []=, GrowableArraySetIndexed, 0x0d6cfe96) \
384 V(Float32List, [], Float32ArrayGetIndexed, 1451643535) \ 380 V(Float32List, [], Float32ArrayGetIndexed, 0x5686528f) \
385 V(Float32List, []=, Float32ArraySetIndexed, 453873887) \ 381 V(Float32List, []=, Float32ArraySetIndexed, 0x1b0d90df) \
386 V(Float64List, [], Float64ArrayGetIndexed, 2049378701) \ 382 V(Float64List, [], Float64ArrayGetIndexed, 0x7a27098d) \
387 V(Float64List, []=, Float64ArraySetIndexed, 328934501) \ 383 V(Float64List, []=, Float64ArraySetIndexed, 0x139b2465) \
388 V(Int8List, [], Int8ArrayGetIndexed, 110819507) \ 384 V(Int8List, [], Int8ArrayGetIndexed, 0x069af8b3) \
389 V(Int8List, []=, Int8ArraySetIndexed, 865684695) \ 385 V(Int8List, []=, Int8ArraySetIndexed, 0x33994cd7) \
390 V(Uint8List, [], Uint8ArrayGetIndexed, 41288685) \ 386 V(Uint8List, [], Uint8ArrayGetIndexed, 0x027603ed) \
391 V(Uint8List, []=, Uint8ArraySetIndexed, 101536342) \ 387 V(Uint8List, []=, Uint8ArraySetIndexed, 0x060d5256) \
392 V(Uint8ClampedList, [], Uint8ClampedArrayGetIndexed, 41288685) \ 388 V(Uint8ClampedList, [], Uint8ClampedArrayGetIndexed, 0x027603ed) \
393 V(Uint8ClampedList, []=, Uint8ClampedArraySetIndexed, 687206488) \ 389 V(Uint8ClampedList, []=, Uint8ClampedArraySetIndexed, 0x28f5f058) \
394 V(Uint16List, [], Uint16ArrayGetIndexed, 1053739567) \ 390 V(Uint16List, [], Uint16ArrayGetIndexed, 0x3ececa2f) \
395 V(Uint16List, []=, Uint16ArraySetIndexed, 1547307961) \ 391 V(Uint16List, []=, Uint16ArraySetIndexed, 0x5c3a0bb9) \
396 V(Int16List, [], Int16ArrayGetIndexed, 389863073) \ 392 V(Int16List, [], Int16ArrayGetIndexed, 0x173cd6a1) \
397 V(Int16List, []=, Int16ArraySetIndexed, 855133756) \ 393 V(Int16List, []=, Int16ArraySetIndexed, 0x32f84e3c) \
398 V(Int32List, [], Int32ArrayGetIndexed, 640610057) \ 394 V(Int32List, [], Int32ArrayGetIndexed, 0x262eef09) \
399 V(Int32List, []=, Int32ArraySetIndexed, 453358705) \ 395 V(Int32List, []=, Int32ArraySetIndexed, 0x1b05b471) \
400 V(Int64List, [], Int64ArrayGetIndexed, 202150810) \ 396 V(Int64List, [], Int64ArrayGetIndexed, 0x0c0c939a) \
401 V(Int64List, []=, Int64ArraySetIndexed, 924110852) \ 397 V(Int64List, []=, Int64ArraySetIndexed, 0x3714d004) \
402 V(_Uint8ArrayView, [], Uint8ArrayViewGetIndexed, 1338422227) \ 398 V(_Uint8ArrayView, [], Uint8ArrayViewGetIndexed, 0x4fc6b3d3) \
403 V(_Uint8ArrayView, []=, Uint8ArrayViewSetIndexed, 540212720) \ 399 V(_Uint8ArrayView, []=, Uint8ArrayViewSetIndexed, 0x2032fdf0) \
404 V(_Int8ArrayView, [], Int8ArrayViewGetIndexed, 302213458) \ 400 V(_Int8ArrayView, [], Int8ArrayViewGetIndexed, 0x12036952) \
405 V(_Int8ArrayView, []=, Int8ArrayViewSetIndexed, 1837635160) \ 401 V(_Int8ArrayView, []=, Int8ArrayViewSetIndexed, 0x6d881658) \
406 V(_ByteDataView, setInt8, ByteDataViewSetInt8, 660389322) \ 402 V(_ByteDataView, setInt8, ByteDataViewSetInt8, 0x275cbdca) \
407 V(_ByteDataView, setUint8, ByteDataViewSetUint8, 1651986039) \ 403 V(_ByteDataView, setUint8, ByteDataViewSetUint8, 0x62774e77) \
408 V(_ByteDataView, setInt16, ByteDataViewSetInt16, 2051262146) \ 404 V(_ByteDataView, setInt16, ByteDataViewSetInt16, 0x7a43c6c2) \
409 V(_ByteDataView, setUint16, ByteDataViewSetUint16, 1692244111) \ 405 V(_ByteDataView, setUint16, ByteDataViewSetUint16, 0x64dd988f) \
410 V(_ByteDataView, setInt32, ByteDataViewSetInt32, 862135882) \ 406 V(_ByteDataView, setInt32, ByteDataViewSetInt32, 0x3363264a) \
411 V(_ByteDataView, setUint32, ByteDataViewSetUint32, 361732249) \ 407 V(_ByteDataView, setUint32, ByteDataViewSetUint32, 0x158f9899) \
412 V(_ByteDataView, setInt64, ByteDataViewSetInt64, 1208972197) \ 408 V(_ByteDataView, setInt64, ByteDataViewSetInt64, 0x480f73a5) \
413 V(_ByteDataView, setUint64, ByteDataViewSetUint64, 1545853836) \ 409 V(_ByteDataView, setUint64, ByteDataViewSetUint64, 0x5c23db8c) \
414 V(_ByteDataView, setFloat32, ByteDataViewSetFloat32, 1333183642) \ 410 V(_ByteDataView, setFloat32, ByteDataViewSetFloat32, 0x4f76c49a) \
415 V(_ByteDataView, setFloat64, ByteDataViewSetFloat64, 1579015503) \ 411 V(_ByteDataView, setFloat64, ByteDataViewSetFloat64, 0x5e1ddd4f) \
416 V(_ByteDataView, getInt8, ByteDataViewGetInt8, 29018237) \ 412 V(_ByteDataView, getInt8, ByteDataViewGetInt8, 0x01bac87d) \
417 V(_ByteDataView, getUint8, ByteDataViewGetUint8, 312322868) \ 413 V(_ByteDataView, getUint8, ByteDataViewGetUint8, 0x129dab34) \
418 V(_ByteDataView, getInt16, ByteDataViewGetInt16, 1613243255) \ 414 V(_ByteDataView, getInt16, ByteDataViewGetInt16, 0x60282377) \
419 V(_ByteDataView, getUint16, ByteDataViewGetUint16, 284020105) \ 415 V(_ByteDataView, getUint16, ByteDataViewGetUint16, 0x10edcd89) \
420 V(_ByteDataView, getInt32, ByteDataViewGetInt32, 2036535169) \ 416 V(_ByteDataView, getInt32, ByteDataViewGetInt32, 0x79630f81) \
421 V(_ByteDataView, getUint32, ByteDataViewGetUint32, 571293096) \ 417 V(_ByteDataView, getUint32, ByteDataViewGetUint32, 0x220d3da8) \
422 V(_ByteDataView, getInt64, ByteDataViewGetInt64, 1971181000) \ 418 V(_ByteDataView, getInt64, ByteDataViewGetInt64, 0x757dd5c8) \
423 V(_ByteDataView, getUint64, ByteDataViewGetUint64, 799775022) \ 419 V(_ByteDataView, getUint64, ByteDataViewGetUint64, 0x2fab992e) \
424 V(_ByteDataView, getFloat32, ByteDataViewGetFloat32, 947822534) \ 420 V(_ByteDataView, getFloat32, ByteDataViewGetFloat32, 0x387e9fc6) \
425 V(_ByteDataView, getFloat64, ByteDataViewGetFloat64, 1402356525) \ 421 V(_ByteDataView, getFloat64, ByteDataViewGetFloat64, 0x5396432d) \
426 V(::, asin, MathAsin, 1678592173) \ 422 V(::, asin, MathAsin, 0x640d48ad) \
427 V(::, acos, MathAcos, 1121218433) \ 423 V(::, acos, MathAcos, 0x42d46f81) \
428 V(::, atan, MathAtan, 1109653625) \ 424 V(::, atan, MathAtan, 0x4223f879) \
429 V(::, atan2, MathAtan2, 894696289) \ 425 V(::, atan2, MathAtan2, 0x3553fb61) \
430 V(::, cos, MathCos, 2006233918) \ 426 V(::, cos, MathCos, 0x7794b33e) \
431 V(::, exp, MathExp, 1500946333) \ 427 V(::, exp, MathExp, 0x59769f9d) \
432 V(::, log, MathLog, 739403086) \ 428 V(::, log, MathLog, 0x2c12654e) \
433 V(::, max, MathMax, 1410473322) \ 429 V(::, max, MathMax, 0x54121d6a) \
434 V(::, min, MathMin, 1115051548) \ 430 V(::, min, MathMin, 0x4276561c) \
435 V(::, pow, MathPow, 2058759335) \ 431 V(::, pow, MathPow, 0x7ab62ca7) \
436 V(::, sin, MathSin, 65032) \ 432 V(::, sin, MathSin, 0x0000fe08) \
437 V(::, sqrt, MathSqrt, 417912310) \ 433 V(::, sqrt, MathSqrt, 0x18e8d5f6) \
438 V(::, tan, MathTan, 1276867325) \ 434 V(::, tan, MathTan, 0x4c1b72fd) \
439 V(Lists, copy, ListsCopy, 564237562) \ 435 V(Lists, copy, ListsCopy, 0x21a194fa) \
440 V(_Bigint, get:_neg, Bigint_getNeg, 2079423063) \ 436 V(_Bigint, get:_neg, Bigint_getNeg, 0x7bf17a57) \
441 V(_Bigint, get:_used, Bigint_getUsed, 1426329619) \ 437 V(_Bigint, get:_used, Bigint_getUsed, 0x55041013) \
442 V(_Bigint, get:_digits, Bigint_getDigits, 1185333683) \ 438 V(_Bigint, get:_digits, Bigint_getDigits, 0x46a6c1b3) \
443 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, 2104211307) \ 439 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, 0x7d6bb76b) \
444 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, 1273697266) \ 440 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, 0x4beb13f2) \
445 V(_HashVMBase, get:_data, LinkedHashMap_getData, 1274399923) \ 441 V(_HashVMBase, get:_data, LinkedHashMap_getData, 0x4bf5ccb3) \
446 V(_HashVMBase, set:_data, LinkedHashMap_setData, 1611093357) \ 442 V(_HashVMBase, set:_data, LinkedHashMap_setData, 0x6007556d) \
447 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, 367462469) \ 443 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, 0x15e70845) \
448 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, 1049390812) \ 444 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, 0x3e8c6edc) \
449 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, 902147072) \ 445 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, 0x35c5ac00) \
450 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, 1236137630) \ 446 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, 0x49adf69e) \
451 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, 812542585) \ 447 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, 0x306e6a79) \
452 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, 1072259010) \ 448 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, 0x3fe95fc2) \
453 449
454 // A list of core function that should never be inlined. 450 // A list of core function that should never be inlined.
455 #define INLINE_BLACK_LIST(V) \ 451 #define INLINE_BLACK_LIST(V) \
456 V(_Bigint, _lsh, Bigint_lsh, 1557746963) \ 452 V(_Bigint, _lsh, Bigint_lsh, 0x5cd95513) \
457 V(_Bigint, _rsh, Bigint_rsh, 761843937) \ 453 V(_Bigint, _rsh, Bigint_rsh, 0x2d68d0e1) \
458 V(_Bigint, _absAdd, Bigint_absAdd, 1227835493) \ 454 V(_Bigint, _absAdd, Bigint_absAdd, 0x492f4865) \
459 V(_Bigint, _absSub, Bigint_absSub, 390740532) \ 455 V(_Bigint, _absSub, Bigint_absSub, 0x174a3a34) \
460 V(_Bigint, _mulAdd, Bigint_mulAdd, 617534446) \ 456 V(_Bigint, _mulAdd, Bigint_mulAdd, 0x24ced3ee) \
461 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1623635507) \ 457 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 0x60c6b633) \
462 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 797340802) \ 458 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 0x2f867482) \
463 V(_Montgomery, _mulMod, Montgomery_mulMod, 1947987219) \ 459 V(_Montgomery, _mulMod, Montgomery_mulMod, 0x741bed13) \
464 V(_Double, >, Double_greaterThan, 1453001345) \ 460 V(_Double, >, Double_greaterThan, 0x569b0a81) \
465 V(_Double, >=, Double_greaterEqualThan, 1815180096) \ 461 V(_Double, >=, Double_greaterEqualThan, 0x6c317340) \
466 V(_Double, <, Double_lessThan, 652059836) \ 462 V(_Double, <, Double_lessThan, 0x26dda4bc) \
467 V(_Double, <=, Double_lessEqualThan, 512138528) \ 463 V(_Double, <=, Double_lessEqualThan, 0x1e869d20) \
468 V(_Double, ==, Double_equal, 1468668497) \ 464 V(_Double, ==, Double_equal, 0x578a1a51) \
469 V(_Double, +, Double_add, 1269587413) \ 465 V(_Double, +, Double_add, 0x4bac5dd5) \
470 V(_Double, -, Double_sub, 1644506555) \ 466 V(_Double, -, Double_sub, 0x62052dbb) \
471 V(_Double, *, Double_mul, 600860888) \ 467 V(_Double, *, Double_mul, 0x23d068d8) \
472 V(_Double, /, Double_div, 1220198876) \ 468 V(_Double, /, Double_div, 0x48bac1dc) \
473 V(_IntegerImplementation, +, Integer_add, 239272130) \ 469 V(_IntegerImplementation, +, Integer_add, 0x0e4300c2) \
474 V(_IntegerImplementation, -, Integer_sub, 216175811) \ 470 V(_IntegerImplementation, -, Integer_sub, 0x0ce294c3) \
475 V(_IntegerImplementation, *, Integer_mul, 1301152164) \ 471 V(_IntegerImplementation, *, Integer_mul, 0x4d8e01a4) \
476 V(_IntegerImplementation, ~/, Integer_truncDivide, 1018128256) \ 472 V(_IntegerImplementation, ~/, Integer_truncDivide, 0x3caf6780) \
477 V(_IntegerImplementation, unary-, Integer_negate, 1507648892) \ 473 V(_IntegerImplementation, unary-, Integer_negate, 0x59dce57c) \
478 V(_IntegerImplementation, &, Integer_bitAnd, 1500136766) \ 474 V(_IntegerImplementation, &, Integer_bitAnd, 0x596a453e) \
479 V(_IntegerImplementation, |, Integer_bitOr, 119412028) \ 475 V(_IntegerImplementation, |, Integer_bitOr, 0x071e153c) \
480 V(_IntegerImplementation, ^, Integer_bitXor, 210430781) \ 476 V(_IntegerImplementation, ^, Integer_bitXor, 0x0c8aeb3d) \
481 V(_IntegerImplementation, >, Integer_greaterThan, 673741711) \ 477 V(_IntegerImplementation, >, Integer_greaterThan, 0x28287b8f) \
482 V(_IntegerImplementation, ==, Integer_equal, 272474439) \ 478 V(_IntegerImplementation, ==, Integer_equal, 0x103da147) \
483 V(_IntegerImplementation, <, Integer_lessThan, 652059836) \ 479 V(_IntegerImplementation, <, Integer_lessThan, 0x26dda4bc) \
484 V(_IntegerImplementation, <=, Integer_lessEqualThan, 512138528) \ 480 V(_IntegerImplementation, <=, Integer_lessEqualThan, 0x1e869d20) \
485 V(_IntegerImplementation, >=, Integer_greaterEqualThan, 1815180096) \ 481 V(_IntegerImplementation, >=, Integer_greaterEqualThan, 0x6c317340) \
486 V(_IntegerImplementation, <<, Integer_shl, 1127538624) \ 482 V(_IntegerImplementation, <<, Integer_shl, 0x4334dfc0) \
487 V(_IntegerImplementation, >>, Integer_sar, 1243972513) \ 483 V(_IntegerImplementation, >>, Integer_sar, 0x4a2583a1) \
488 484
489 // A list of core functions that internally dispatch based on received id. 485 // A list of core functions that internally dispatch based on received id.
490 #define POLYMORPHIC_TARGET_LIST(V) \ 486 #define POLYMORPHIC_TARGET_LIST(V) \
491 V(_StringBase, [], StringBaseCharAt, 754527301) \ 487 V(_StringBase, [], StringBaseCharAt, 0x2cf92c45) \
492 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 1508321565) \ 488 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 0x59e7291d) \
493 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 953411007) \ 489 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 0x38d3e5bf) \
494 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 433971756) \ 490 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 0x19dde22c) \
495 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1329446488) \ 491 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 0x4f3dbe58) \
496 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 137212209) \ 492 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 0x082db131) \
497 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 499907480) \ 493 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 0x1dcbfb98) \
498 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 1672834581) \ 494 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 0x63b56e15) \
499 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 966634744) \ 495 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 0x399dacf8) \
500 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 1197581758) \ 496 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 0x4761a5be) \
501 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 810805548) \ 497 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 0x3053e92c) \
502 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 1317196265) \ 498 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 0x4e82d1e9) \
503 V(_TypedList, _setUint8, ByteArrayBaseSetInt8, 1328908284) \ 499 V(_TypedList, _setUint8, ByteArrayBaseSetInt8, 0x4f3587fc) \
504 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 1827614958) \ 500 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 0x6cef30ee) \
505 V(_TypedList, _setUint16, ByteArrayBaseSetInt16, 1694054572) \ 501 V(_TypedList, _setUint16, ByteArrayBaseSetInt16, 0x64f938ac) \
506 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 915652649) \ 502 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 0x3693c029) \
507 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 1958474336) \ 503 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 0x74bbf260) \
508 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 1853026980) \ 504 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 0x6e72f2a4) \
509 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 1197862362) \ 505 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 0x4765edda) \
510 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 2093630771) \ 506 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 0x7cca4533) \
511 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 1982971324) \ 507 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 0x7631bdbc) \
512 508
513 // Forward declarations. 509 // Forward declarations.
514 class Function; 510 class Function;
515 511
516 // Class that recognizes the name and owner of a function and returns the 512 // Class that recognizes the name and owner of a function and returns the
517 // corresponding enum. See RECOGNIZED_LIST above for list of recognizable 513 // corresponding enum. See RECOGNIZED_LIST above for list of recognizable
518 // functions. 514 // functions.
519 class MethodRecognizer : public AllStatic { 515 class MethodRecognizer : public AllStatic {
520 public: 516 public:
521 enum Kind { 517 enum Kind {
(...skipping 21 matching lines...) Expand all
543 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp)) 539 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp))
544 540
545 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ 541 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \
546 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) 542 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp))
547 #endif // defined(DART_NO_SNAPSHOT). 543 #endif // defined(DART_NO_SNAPSHOT).
548 544
549 545
550 // List of recognized list factories: 546 // List of recognized list factories:
551 // (factory-name-symbol, result-cid, fingerprint). 547 // (factory-name-symbol, result-cid, fingerprint).
552 #define RECOGNIZED_LIST_FACTORY_LIST(V) \ 548 #define RECOGNIZED_LIST_FACTORY_LIST(V) \
553 V(_ListFactory, kArrayCid, 1661438741) \ 549 V(_ListFactory, kArrayCid, 0x63078b15) \
554 V(_GrowableListWithData, kGrowableObjectArrayCid, 631736030) \ 550 V(_GrowableListWithData, kGrowableObjectArrayCid, 0x25a786de) \
555 V(_GrowableListFactory, kGrowableObjectArrayCid, 1330464656) \ 551 V(_GrowableListFactory, kGrowableObjectArrayCid, 0x4f4d4790) \
556 V(_Int8ArrayFactory, kTypedDataInt8ArrayCid, 779569635) \ 552 V(_Int8ArrayFactory, kTypedDataInt8ArrayCid, 0x2e7749e3) \
557 V(_Uint8ArrayFactory, kTypedDataUint8ArrayCid, 1790399545) \ 553 V(_Uint8ArrayFactory, kTypedDataUint8ArrayCid, 0x6ab75439) \
558 V(_Uint8ClampedArrayFactory, kTypedDataUint8ClampedArrayCid, 405875159) \ 554 V(_Uint8ClampedArrayFactory, kTypedDataUint8ClampedArrayCid, 0x183129d7) \
559 V(_Int16ArrayFactory, kTypedDataInt16ArrayCid, 347431914) \ 555 V(_Int16ArrayFactory, kTypedDataInt16ArrayCid, 0x14b563ea) \
560 V(_Uint16ArrayFactory, kTypedDataUint16ArrayCid, 121990116) \ 556 V(_Uint16ArrayFactory, kTypedDataUint16ArrayCid, 0x07456be4) \
561 V(_Int32ArrayFactory, kTypedDataInt32ArrayCid, 1540657744) \ 557 V(_Int32ArrayFactory, kTypedDataInt32ArrayCid, 0x5bd49250) \
562 V(_Uint32ArrayFactory, kTypedDataUint32ArrayCid, 1012511652) \ 558 V(_Uint32ArrayFactory, kTypedDataUint32ArrayCid, 0x3c59b3a4) \
563 V(_Int64ArrayFactory, kTypedDataInt64ArrayCid, 1473796807) \ 559 V(_Int64ArrayFactory, kTypedDataInt64ArrayCid, 0x57d85ac7) \
564 V(_Uint64ArrayFactory, kTypedDataUint64ArrayCid, 738799620) \ 560 V(_Uint64ArrayFactory, kTypedDataUint64ArrayCid, 0x2c093004) \
565 V(_Float64ArrayFactory, kTypedDataFloat64ArrayCid, 1344005361) \ 561 V(_Float64ArrayFactory, kTypedDataFloat64ArrayCid, 0x501be4f1) \
566 V(_Float32ArrayFactory, kTypedDataFloat32ArrayCid, 1938690635) \ 562 V(_Float32ArrayFactory, kTypedDataFloat32ArrayCid, 0x738e124b) \
567 V(_Float32x4ArrayFactory, kTypedDataFloat32x4ArrayCid, 2055067416) \ 563 V(_Float32x4ArrayFactory, kTypedDataFloat32x4ArrayCid, 0x7a7dd718) \
568 564
569 565
570 // Class that recognizes factories and returns corresponding result cid. 566 // Class that recognizes factories and returns corresponding result cid.
571 class FactoryRecognizer : public AllStatic { 567 class FactoryRecognizer : public AllStatic {
572 public: 568 public:
573 // Return kDynamicCid if factory is not recognized. 569 // Return kDynamicCid if factory is not recognized.
574 static intptr_t ResultCid(const Function& factory); 570 static intptr_t ResultCid(const Function& factory);
575 }; 571 };
576 572
577 } // namespace dart 573 } // namespace dart
578 574
579 #endif // VM_METHOD_RECOGNIZER_H_ 575 #endif // VM_METHOD_RECOGNIZER_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698