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