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

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

Issue 221133002: Begins work on ARM64, first assembler test. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: adds files Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/intermediate_language_arm64.cc ('k') | runtime/vm/isolate_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM64.
6 #if defined(TARGET_ARCH_ARM64)
7
8 #include "vm/intrinsifier.h"
9
10 #include "vm/assembler.h"
11 #include "vm/flow_graph_compiler.h"
12 #include "vm/object.h"
13 #include "vm/object_store.h"
14 #include "vm/symbols.h"
15
16 namespace dart {
17
18 #define __ assembler->
19
20 void Intrinsifier::List_Allocate(Assembler* assembler) {
21 UNIMPLEMENTED();
22 }
23
24
25 void Intrinsifier::Array_getLength(Assembler* assembler) {
26 UNIMPLEMENTED();
27 }
28
29
30 void Intrinsifier::ImmutableList_getLength(Assembler* assembler) {
31 UNIMPLEMENTED();
32 }
33
34
35 void Intrinsifier::Array_getIndexed(Assembler* assembler) {
36 UNIMPLEMENTED();
37 }
38
39
40 void Intrinsifier::ImmutableList_getIndexed(Assembler* assembler) {
41 UNIMPLEMENTED();
42 }
43
44
45 void Intrinsifier::Array_setIndexed(Assembler* assembler) {
46 UNIMPLEMENTED();
47 }
48
49
50 // Allocate a GrowableObjectArray using the backing array specified.
51 // On stack: type argument (+1), data (+0).
52 void Intrinsifier::GrowableList_Allocate(Assembler* assembler) {
53 UNIMPLEMENTED();
54 }
55
56
57 void Intrinsifier::GrowableList_getLength(Assembler* assembler) {
58 UNIMPLEMENTED();
59 }
60
61
62 void Intrinsifier::GrowableList_getCapacity(Assembler* assembler) {
63 UNIMPLEMENTED();
64 }
65
66
67 void Intrinsifier::GrowableList_getIndexed(Assembler* assembler) {
68 UNIMPLEMENTED();
69 }
70
71
72 // Set value into growable object array at specified index.
73 // On stack: growable array (+2), index (+1), value (+0).
74 void Intrinsifier::GrowableList_setIndexed(Assembler* assembler) {
75 UNIMPLEMENTED();
76 }
77
78
79 // Set length of growable object array. The length cannot
80 // be greater than the length of the data container.
81 // On stack: growable array (+1), length (+0).
82 void Intrinsifier::GrowableList_setLength(Assembler* assembler) {
83 UNIMPLEMENTED();
84 }
85
86
87 // Set data of growable object array.
88 // On stack: growable array (+1), data (+0).
89 void Intrinsifier::GrowableList_setData(Assembler* assembler) {
90 UNIMPLEMENTED();
91 }
92
93
94 void Intrinsifier::GrowableList_add(Assembler* assembler) {
95 UNIMPLEMENTED();
96 }
97
98
99 // Gets the length of a TypedData.
100 void Intrinsifier::TypedData_getLength(Assembler* assembler) {
101 UNIMPLEMENTED();
102 }
103
104
105 #define TYPED_DATA_ALLOCATOR(clazz) \
106 void Intrinsifier::TypedData_##clazz##_new(Assembler* assembler) { \
107 UNIMPLEMENTED(); \
108 } \
109 void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) { \
110 UNIMPLEMENTED(); \
111 }
112 CLASS_LIST_TYPED_DATA(TYPED_DATA_ALLOCATOR)
113 #undef TYPED_DATA_ALLOCATOR
114
115
116 void Intrinsifier::Integer_addFromInteger(Assembler* assembler) {
117 UNIMPLEMENTED();
118 }
119
120
121 void Intrinsifier::Integer_add(Assembler* assembler) {
122 UNIMPLEMENTED();
123 }
124
125
126 void Intrinsifier::Integer_subFromInteger(Assembler* assembler) {
127 UNIMPLEMENTED();
128 }
129
130
131 void Intrinsifier::Integer_sub(Assembler* assembler) {
132 UNIMPLEMENTED();
133 }
134
135
136 void Intrinsifier::Integer_mulFromInteger(Assembler* assembler) {
137 UNIMPLEMENTED();
138 }
139
140
141 void Intrinsifier::Integer_mul(Assembler* assembler) {
142 UNIMPLEMENTED();
143 }
144
145
146 // Implementation:
147 // res = left % right;
148 // if (res < 0) {
149 // if (right < 0) {
150 // res = res - right;
151 // } else {
152 // res = res + right;
153 // }
154 // }
155 void Intrinsifier::Integer_moduloFromInteger(Assembler* assembler) {
156 UNIMPLEMENTED();
157 }
158
159
160 void Intrinsifier::Integer_truncDivide(Assembler* assembler) {
161 UNIMPLEMENTED();
162 }
163
164
165 void Intrinsifier::Integer_negate(Assembler* assembler) {
166 UNIMPLEMENTED();
167 }
168
169
170 void Intrinsifier::Integer_bitAndFromInteger(Assembler* assembler) {
171 UNIMPLEMENTED();
172 }
173
174
175 void Intrinsifier::Integer_bitAnd(Assembler* assembler) {
176 UNIMPLEMENTED();
177 }
178
179
180 void Intrinsifier::Integer_bitOrFromInteger(Assembler* assembler) {
181 UNIMPLEMENTED();
182 }
183
184
185 void Intrinsifier::Integer_bitOr(Assembler* assembler) {
186 UNIMPLEMENTED();
187 }
188
189
190 void Intrinsifier::Integer_bitXorFromInteger(Assembler* assembler) {
191 UNIMPLEMENTED();
192 }
193
194
195 void Intrinsifier::Integer_bitXor(Assembler* assembler) {
196 UNIMPLEMENTED();
197 }
198
199
200 void Intrinsifier::Integer_shl(Assembler* assembler) {
201 UNIMPLEMENTED();
202 }
203
204
205 void Intrinsifier::Integer_greaterThanFromInt(Assembler* assembler) {
206 UNIMPLEMENTED();
207 }
208
209
210 void Intrinsifier::Integer_lessThan(Assembler* assembler) {
211 UNIMPLEMENTED();
212 }
213
214
215 void Intrinsifier::Integer_greaterThan(Assembler* assembler) {
216 UNIMPLEMENTED();
217 }
218
219
220 void Intrinsifier::Integer_lessEqualThan(Assembler* assembler) {
221 UNIMPLEMENTED();
222 }
223
224
225 void Intrinsifier::Integer_greaterEqualThan(Assembler* assembler) {
226 UNIMPLEMENTED();
227 }
228
229
230 // This is called for Smi, Mint and Bigint receivers. The right argument
231 // can be Smi, Mint, Bigint or double.
232 void Intrinsifier::Integer_equalToInteger(Assembler* assembler) {
233 UNIMPLEMENTED();
234 }
235
236
237 void Intrinsifier::Integer_equal(Assembler* assembler) {
238 UNIMPLEMENTED();
239 }
240
241
242 void Intrinsifier::Integer_sar(Assembler* assembler) {
243 UNIMPLEMENTED();
244 }
245
246
247 void Intrinsifier::Smi_bitNegate(Assembler* assembler) {
248 UNIMPLEMENTED();
249 }
250
251
252 void Intrinsifier::Smi_bitLength(Assembler* assembler) {
253 UNIMPLEMENTED();
254 }
255
256
257 void Intrinsifier::Double_greaterThan(Assembler* assembler) {
258 UNIMPLEMENTED();
259 }
260
261
262 void Intrinsifier::Double_greaterEqualThan(Assembler* assembler) {
263 UNIMPLEMENTED();
264 }
265
266
267 void Intrinsifier::Double_lessThan(Assembler* assembler) {
268 UNIMPLEMENTED();
269 }
270
271
272 void Intrinsifier::Double_equal(Assembler* assembler) {
273 UNIMPLEMENTED();
274 }
275
276
277 void Intrinsifier::Double_lessEqualThan(Assembler* assembler) {
278 UNIMPLEMENTED();
279 }
280
281
282 void Intrinsifier::Double_add(Assembler* assembler) {
283 UNIMPLEMENTED();
284 }
285
286
287 void Intrinsifier::Double_mul(Assembler* assembler) {
288 UNIMPLEMENTED();
289 }
290
291
292 void Intrinsifier::Double_sub(Assembler* assembler) {
293 UNIMPLEMENTED();
294 }
295
296
297 void Intrinsifier::Double_div(Assembler* assembler) {
298 UNIMPLEMENTED();
299 }
300
301
302 // Left is double right is integer (Bigint, Mint or Smi)
303 void Intrinsifier::Double_mulFromInteger(Assembler* assembler) {
304 UNIMPLEMENTED();
305 }
306
307
308 void Intrinsifier::Double_fromInteger(Assembler* assembler) {
309 UNIMPLEMENTED();
310 }
311
312
313 void Intrinsifier::Double_getIsNaN(Assembler* assembler) {
314 UNIMPLEMENTED();
315 }
316
317
318 void Intrinsifier::Double_getIsNegative(Assembler* assembler) {
319 UNIMPLEMENTED();
320 }
321
322
323 void Intrinsifier::Double_toInt(Assembler* assembler) {
324 UNIMPLEMENTED();
325 }
326
327
328 void Intrinsifier::Math_sqrt(Assembler* assembler) {
329 UNIMPLEMENTED();
330 }
331
332
333 // var state = ((_A * (_state[kSTATE_LO])) + _state[kSTATE_HI]) & _MASK_64;
334 // _state[kSTATE_LO] = state & _MASK_32;
335 // _state[kSTATE_HI] = state >> 32;
336 void Intrinsifier::Random_nextState(Assembler* assembler) {
337 UNIMPLEMENTED();
338 }
339
340
341 void Intrinsifier::Object_equal(Assembler* assembler) {
342 UNIMPLEMENTED();
343 }
344
345
346 void Intrinsifier::String_getHashCode(Assembler* assembler) {
347 UNIMPLEMENTED();
348 }
349
350
351 void Intrinsifier::String_getLength(Assembler* assembler) {
352 UNIMPLEMENTED();
353 }
354
355
356 void Intrinsifier::String_codeUnitAt(Assembler* assembler) {
357 UNIMPLEMENTED();
358 }
359
360
361 void Intrinsifier::String_getIsEmpty(Assembler* assembler) {
362 UNIMPLEMENTED();
363 }
364
365
366 void Intrinsifier::OneByteString_getHashCode(Assembler* assembler) {
367 UNIMPLEMENTED();
368 }
369
370
371 // Arg0: OneByteString (receiver).
372 // Arg1: Start index as Smi.
373 // Arg2: End index as Smi.
374 // The indexes must be valid.
375 void Intrinsifier::OneByteString_substringUnchecked(Assembler* assembler) {
376 UNIMPLEMENTED();
377 }
378
379
380 void Intrinsifier::OneByteString_setAt(Assembler* assembler) {
381 UNIMPLEMENTED();
382 }
383
384
385 void Intrinsifier::OneByteString_allocate(Assembler* assembler) {
386 UNIMPLEMENTED();
387 }
388
389
390 // TODO(srdjan): Add combinations (one-byte/two-byte/external strings).
391 void StringEquality(Assembler* assembler, intptr_t string_cid) {
392 UNIMPLEMENTED();
393 }
394
395
396 void Intrinsifier::OneByteString_equality(Assembler* assembler) {
397 UNIMPLEMENTED();
398 }
399
400
401 void Intrinsifier::TwoByteString_equality(Assembler* assembler) {
402 UNIMPLEMENTED();
403 }
404
405
406 } // namespace dart
407
408 #endif // defined TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language_arm64.cc ('k') | runtime/vm/isolate_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698