OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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_BOOTSTRAP_NATIVES_H_ | 5 #ifndef VM_BOOTSTRAP_NATIVES_H_ |
6 #define VM_BOOTSTRAP_NATIVES_H_ | 6 #define VM_BOOTSTRAP_NATIVES_H_ |
7 | 7 |
8 #include "vm/native_entry.h" | 8 #include "vm/native_entry.h" |
9 | 9 |
10 // bootstrap dart natives used in the core dart library. | 10 // bootstrap dart natives used in the core dart library. |
11 | 11 |
12 namespace dart { | 12 namespace dart { |
13 | 13 |
14 // List of bootstrap native entry points used in the core dart library. | 14 // List of bootstrap native entry points used in the core dart library. |
15 #define BOOTSTRAP_NATIVE_LIST(V) \ | 15 #define BOOTSTRAP_NATIVE_LIST(V) \ |
16 V(Object_toString, 1) \ | 16 V(Object_toString, 1) \ |
17 V(Object_noSuchMethod, 3) \ | 17 V(Object_noSuchMethod, 3) \ |
18 V(Object_runtimeType, 1) \ | 18 V(Object_runtimeType, 1) \ |
19 V(AbstractType_toString, 1) \ | 19 V(AbstractType_toString, 1) \ |
20 V(Integer_bitAndFromInteger, 2) \ | 20 V(Integer_bitAndFromInteger, 2) \ |
21 V(Integer_bitOrFromInteger, 2) \ | 21 V(Integer_bitOrFromInteger, 2) \ |
22 V(Integer_bitXorFromInteger, 2) \ | 22 V(Integer_bitXorFromInteger, 2) \ |
23 V(Integer_addFromInteger, 2) \ | 23 V(Integer_addFromInteger, 2) \ |
24 V(Integer_subFromInteger, 2) \ | 24 V(Integer_subFromInteger, 2) \ |
25 V(Integer_mulFromInteger, 2) \ | 25 V(Integer_mulFromInteger, 2) \ |
26 V(Integer_truncDivFromInteger, 2) \ | 26 V(Integer_truncDivFromInteger, 2) \ |
27 V(Integer_moduloFromInteger, 2) \ | 27 V(Integer_moduloFromInteger, 2) \ |
28 V(Integer_greaterThanFromInteger, 2) \ | 28 V(Integer_greaterThanFromInteger, 2) \ |
29 V(Integer_equalToInteger, 2) \ | 29 V(Integer_equalToInteger, 2) \ |
| 30 V(Integer_parse, 1) \ |
30 V(ReceivePortImpl_factory, 1) \ | 31 V(ReceivePortImpl_factory, 1) \ |
31 V(ReceivePortImpl_closeInternal, 1) \ | 32 V(ReceivePortImpl_closeInternal, 1) \ |
32 V(SendPortImpl_sendInternal_, 3) \ | 33 V(SendPortImpl_sendInternal_, 3) \ |
33 V(Smi_shlFromInt, 2) \ | 34 V(Smi_shlFromInt, 2) \ |
34 V(Smi_shrFromInt, 2) \ | 35 V(Smi_shrFromInt, 2) \ |
35 V(Smi_bitNegate, 1) \ | 36 V(Smi_bitNegate, 1) \ |
36 V(Mint_bitNegate, 1) \ | 37 V(Mint_bitNegate, 1) \ |
37 V(Bigint_bitNegate, 1) \ | 38 V(Bigint_bitNegate, 1) \ |
38 V(Double_getIsNegative, 1) \ | 39 V(Double_getIsNegative, 1) \ |
39 V(Double_getIsInfinite, 1) \ | 40 V(Double_getIsInfinite, 1) \ |
40 V(Double_getIsNaN, 1) \ | 41 V(Double_getIsNaN, 1) \ |
41 V(Double_add, 2) \ | 42 V(Double_add, 2) \ |
42 V(Double_sub, 2) \ | 43 V(Double_sub, 2) \ |
43 V(Double_mul, 2) \ | 44 V(Double_mul, 2) \ |
44 V(Double_div, 2) \ | 45 V(Double_div, 2) \ |
45 V(Double_trunc_div, 2) \ | 46 V(Double_trunc_div, 2) \ |
46 V(Double_remainder, 2) \ | 47 V(Double_remainder, 2) \ |
47 V(Double_modulo, 2) \ | 48 V(Double_modulo, 2) \ |
48 V(Double_greaterThanFromInteger, 2) \ | 49 V(Double_greaterThanFromInteger, 2) \ |
49 V(Double_equalToInteger, 2) \ | 50 V(Double_equalToInteger, 2) \ |
50 V(Double_greaterThan, 2) \ | 51 V(Double_greaterThan, 2) \ |
51 V(Double_equal, 2) \ | 52 V(Double_equal, 2) \ |
52 V(Double_doubleFromInteger, 2) \ | 53 V(Double_doubleFromInteger, 2) \ |
53 V(Double_round, 1) \ | 54 V(Double_round, 1) \ |
54 V(Double_floor, 1) \ | 55 V(Double_floor, 1) \ |
55 V(Double_ceil, 1) \ | 56 V(Double_ceil, 1) \ |
56 V(Double_truncate, 1) \ | 57 V(Double_truncate, 1) \ |
57 V(Double_toInt, 1) \ | 58 V(Double_toInt, 1) \ |
| 59 V(Double_parse, 1) \ |
58 V(Double_toStringAsFixed, 2) \ | 60 V(Double_toStringAsFixed, 2) \ |
59 V(Double_toStringAsExponential, 2) \ | 61 V(Double_toStringAsExponential, 2) \ |
60 V(Double_toStringAsPrecision, 2) \ | 62 V(Double_toStringAsPrecision, 2) \ |
61 V(Double_pow, 2) \ | 63 V(Double_pow, 2) \ |
62 V(JSSyntaxRegExp_factory, 4) \ | 64 V(JSSyntaxRegExp_factory, 4) \ |
63 V(JSSyntaxRegExp_getPattern, 1) \ | 65 V(JSSyntaxRegExp_getPattern, 1) \ |
64 V(JSSyntaxRegExp_multiLine, 1) \ | 66 V(JSSyntaxRegExp_multiLine, 1) \ |
65 V(JSSyntaxRegExp_ignoreCase, 1) \ | 67 V(JSSyntaxRegExp_ignoreCase, 1) \ |
66 V(JSSyntaxRegExp_getGroupCount, 1) \ | 68 V(JSSyntaxRegExp_getGroupCount, 1) \ |
67 V(JSSyntaxRegExp_ExecuteMatch, 3) \ | 69 V(JSSyntaxRegExp_ExecuteMatch, 3) \ |
68 V(ObjectArray_allocate, 2) \ | 70 V(ObjectArray_allocate, 2) \ |
69 V(ObjectArray_getIndexed, 2) \ | 71 V(ObjectArray_getIndexed, 2) \ |
70 V(ObjectArray_setIndexed, 3) \ | 72 V(ObjectArray_setIndexed, 3) \ |
71 V(ObjectArray_getLength, 1) \ | 73 V(ObjectArray_getLength, 1) \ |
72 V(ObjectArray_copyFromObjectArray, 5) \ | 74 V(ObjectArray_copyFromObjectArray, 5) \ |
73 V(StringBase_createFromCodePoints, 1) \ | 75 V(StringBase_createFromCodePoints, 1) \ |
74 V(StringBase_substringUnchecked, 3) \ | 76 V(StringBase_substringUnchecked, 3) \ |
75 V(String_getHashCode, 1) \ | 77 V(String_getHashCode, 1) \ |
76 V(String_getLength, 1) \ | 78 V(String_getLength, 1) \ |
77 V(String_charAt, 2) \ | 79 V(String_charAt, 2) \ |
78 V(String_charCodeAt, 2) \ | 80 V(String_charCodeAt, 2) \ |
79 V(String_concat, 2) \ | 81 V(String_concat, 2) \ |
80 V(String_toLowerCase, 1) \ | 82 V(String_toLowerCase, 1) \ |
81 V(String_toUpperCase, 1) \ | 83 V(String_toUpperCase, 1) \ |
82 V(Strings_concatAll, 1) \ | 84 V(Strings_concatAll, 1) \ |
83 V(MathNatives_sqrt, 1) \ | 85 V(Math_sqrt, 1) \ |
84 V(MathNatives_sin, 1) \ | 86 V(Math_sin, 1) \ |
85 V(MathNatives_cos, 1) \ | 87 V(Math_cos, 1) \ |
86 V(MathNatives_tan, 1) \ | 88 V(Math_tan, 1) \ |
87 V(MathNatives_asin, 1) \ | 89 V(Math_asin, 1) \ |
88 V(MathNatives_acos, 1) \ | 90 V(Math_acos, 1) \ |
89 V(MathNatives_atan, 1) \ | 91 V(Math_atan, 1) \ |
90 V(MathNatives_atan2, 2) \ | 92 V(Math_atan2, 2) \ |
91 V(MathNatives_exp, 1) \ | 93 V(Math_exp, 1) \ |
92 V(MathNatives_log, 1) \ | 94 V(Math_log, 1) \ |
93 V(MathNatives_random, 0) \ | 95 V(Math_random, 0) \ |
94 V(MathNatives_parseInt, 1) \ | |
95 V(MathNatives_parseDouble, 1) \ | |
96 V(DateNatives_currentTimeMillis, 0) \ | 96 V(DateNatives_currentTimeMillis, 0) \ |
97 V(DateNatives_timeZoneName, 1) \ | 97 V(DateNatives_timeZoneName, 1) \ |
98 V(DateNatives_timeZoneOffsetInSeconds, 1) \ | 98 V(DateNatives_timeZoneOffsetInSeconds, 1) \ |
99 V(DateNatives_localTimeZoneAdjustmentInSeconds, 0) \ | 99 V(DateNatives_localTimeZoneAdjustmentInSeconds, 0) \ |
100 V(AssertionError_throwNew, 2) \ | 100 V(AssertionError_throwNew, 2) \ |
101 V(TypeError_throwNew, 5) \ | 101 V(TypeError_throwNew, 5) \ |
102 V(FallThroughError_throwNew, 1) \ | 102 V(FallThroughError_throwNew, 1) \ |
103 V(AbstractClassInstantiationError_throwNew, 2) \ | 103 V(AbstractClassInstantiationError_throwNew, 2) \ |
104 V(NoSuchMethodError_throwNew, 2) \ | 104 V(NoSuchMethodError_throwNew, 2) \ |
105 V(Stopwatch_now, 0) \ | 105 V(Stopwatch_now, 0) \ |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 static void DN_##name(Dart_NativeArguments args); | 207 static void DN_##name(Dart_NativeArguments args); |
208 | 208 |
209 BOOTSTRAP_NATIVE_LIST(DECLARE_BOOTSTRAP_NATIVE) | 209 BOOTSTRAP_NATIVE_LIST(DECLARE_BOOTSTRAP_NATIVE) |
210 | 210 |
211 #undef DECLARE_BOOTSTRAP_NATIVE | 211 #undef DECLARE_BOOTSTRAP_NATIVE |
212 }; | 212 }; |
213 | 213 |
214 } // namespace dart | 214 } // namespace dart |
215 | 215 |
216 #endif // VM_BOOTSTRAP_NATIVES_H_ | 216 #endif // VM_BOOTSTRAP_NATIVES_H_ |
OLD | NEW |