Chromium Code Reviews| 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 #include "vm/bootstrap_natives.h" | 5 #include "vm/bootstrap_natives.h" |
| 6 | 6 |
| 7 #include "vm/bigint_operations.h" | 7 #include "vm/bigint_operations.h" |
| 8 #include "vm/exceptions.h" | 8 #include "vm/exceptions.h" |
| 9 #include "vm/native_entry.h" | 9 #include "vm/native_entry.h" |
| 10 #include "vm/object.h" | 10 #include "vm/object.h" |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 278 // Int8Array | 278 // Int8Array |
| 279 | 279 |
| 280 DEFINE_NATIVE_ENTRY(Int8Array_new, 1) { | 280 DEFINE_NATIVE_ENTRY(Int8Array_new, 1) { |
| 281 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 281 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 282 intptr_t len = length.Value(); | 282 intptr_t len = length.Value(); |
| 283 LengthCheck(len, Int8Array::kMaxElements); | 283 LengthCheck(len, Int8Array::kMaxElements); |
| 284 return Int8Array::New(len); | 284 return Int8Array::New(len); |
| 285 } | 285 } |
| 286 | 286 |
| 287 | 287 |
| 288 DEFINE_NATIVE_ENTRY(Int8Array_newTransferrable, 1) { | |
| 289 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 290 intptr_t len = length.Value(); | |
| 291 LengthCheck(len, Int8Array::kMaxElements); | |
| 292 int8_t* bytes = OS::AllocateAlignedArray<int8_t>(len, | |
|
cshapiro
2012/11/30 18:40:26
newline after the open paren and 4 space indent
Cutch
2012/11/30 19:27:10
Done.
| |
| 293 ExternalByteArrayData<int8_t>::kAlignment); | |
| 294 return ExternalInt8Array::New(bytes, | |
| 295 len, | |
| 296 bytes, | |
| 297 OS::AlignedFree); | |
| 298 } | |
| 299 | |
| 300 | |
| 288 DEFINE_NATIVE_ENTRY(Int8Array_getIndexed, 2) { | 301 DEFINE_NATIVE_ENTRY(Int8Array_getIndexed, 2) { |
| 289 GETTER(Int8Array, Smi, int8_t); | 302 GETTER(Int8Array, Smi, int8_t); |
| 290 } | 303 } |
| 291 | 304 |
| 292 | 305 |
| 293 DEFINE_NATIVE_ENTRY(Int8Array_setIndexed, 3) { | 306 DEFINE_NATIVE_ENTRY(Int8Array_setIndexed, 3) { |
| 294 SETTER(Int8Array, Smi, Value, int8_t); | 307 SETTER(Int8Array, Smi, Value, int8_t); |
| 295 } | 308 } |
| 296 | 309 |
| 297 | 310 |
| 298 // Uint8Array | 311 // Uint8Array |
| 299 | 312 |
| 300 DEFINE_NATIVE_ENTRY(Uint8Array_new, 1) { | 313 DEFINE_NATIVE_ENTRY(Uint8Array_new, 1) { |
| 301 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 314 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 302 intptr_t len = length.Value(); | 315 intptr_t len = length.Value(); |
| 303 LengthCheck(len, Uint8Array::kMaxElements); | 316 LengthCheck(len, Uint8Array::kMaxElements); |
| 304 return Uint8Array::New(len); | 317 return Uint8Array::New(len); |
| 305 } | 318 } |
| 306 | 319 |
| 307 | 320 |
| 321 DEFINE_NATIVE_ENTRY(Uint8Array_newTransferrable, 1) { | |
| 322 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 323 intptr_t len = length.Value(); | |
| 324 LengthCheck(len, Uint8Array::kMaxElements); | |
| 325 uint8_t* bytes = OS::AllocateAlignedArray<uint8_t>(len, | |
| 326 ExternalByteArrayData<uint8_t>::kAlignment); | |
| 327 return ExternalUint8Array::New(bytes, | |
| 328 len, | |
| 329 bytes, | |
| 330 OS::AlignedFree); | |
| 331 } | |
| 332 | |
| 333 | |
| 308 DEFINE_NATIVE_ENTRY(Uint8Array_getIndexed, 2) { | 334 DEFINE_NATIVE_ENTRY(Uint8Array_getIndexed, 2) { |
| 309 GETTER(Uint8Array, Smi, uint8_t); | 335 GETTER(Uint8Array, Smi, uint8_t); |
| 310 } | 336 } |
| 311 | 337 |
| 312 | 338 |
| 313 DEFINE_NATIVE_ENTRY(Uint8Array_setIndexed, 3) { | 339 DEFINE_NATIVE_ENTRY(Uint8Array_setIndexed, 3) { |
| 314 SETTER(Uint8Array, Smi, Value, uint8_t); | 340 SETTER(Uint8Array, Smi, Value, uint8_t); |
| 315 } | 341 } |
| 316 | 342 |
| 317 | 343 |
| 318 // Int16Array | 344 // Int16Array |
| 319 | 345 |
| 320 DEFINE_NATIVE_ENTRY(Int16Array_new, 1) { | 346 DEFINE_NATIVE_ENTRY(Int16Array_new, 1) { |
| 321 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 347 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 322 intptr_t len = length.Value(); | 348 intptr_t len = length.Value(); |
| 323 LengthCheck(len, Int16Array::kMaxElements); | 349 LengthCheck(len, Int16Array::kMaxElements); |
| 324 return Int16Array::New(len); | 350 return Int16Array::New(len); |
| 325 } | 351 } |
| 326 | 352 |
| 327 | 353 |
| 354 DEFINE_NATIVE_ENTRY(Int16Array_newTransferrable, 1) { | |
| 355 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 356 intptr_t len = length.Value(); | |
| 357 LengthCheck(len, Int16Array::kMaxElements); | |
| 358 int16_t* bytes = OS::AllocateAlignedArray<int16_t>(len, | |
| 359 ExternalByteArrayData<int16_t>::kAlignment); | |
| 360 return ExternalInt16Array::New(bytes, | |
| 361 len, | |
| 362 bytes, | |
| 363 OS::AlignedFree); | |
| 364 } | |
| 365 | |
| 366 | |
| 328 DEFINE_NATIVE_ENTRY(Int16Array_getIndexed, 2) { | 367 DEFINE_NATIVE_ENTRY(Int16Array_getIndexed, 2) { |
| 329 GETTER(Int16Array, Smi, int16_t); | 368 GETTER(Int16Array, Smi, int16_t); |
| 330 } | 369 } |
| 331 | 370 |
| 332 | 371 |
| 333 DEFINE_NATIVE_ENTRY(Int16Array_setIndexed, 3) { | 372 DEFINE_NATIVE_ENTRY(Int16Array_setIndexed, 3) { |
| 334 SETTER(Int16Array, Smi, Value, int16_t); | 373 SETTER(Int16Array, Smi, Value, int16_t); |
| 335 } | 374 } |
| 336 | 375 |
| 337 | 376 |
| 338 // Uint16Array | 377 // Uint16Array |
| 339 | 378 |
| 340 DEFINE_NATIVE_ENTRY(Uint16Array_new, 1) { | 379 DEFINE_NATIVE_ENTRY(Uint16Array_new, 1) { |
| 341 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 380 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 342 intptr_t len = length.Value(); | 381 intptr_t len = length.Value(); |
| 343 LengthCheck(len, Uint16Array::kMaxElements); | 382 LengthCheck(len, Uint16Array::kMaxElements); |
| 344 return Uint16Array::New(len); | 383 return Uint16Array::New(len); |
| 345 } | 384 } |
| 346 | 385 |
| 347 | 386 |
| 387 DEFINE_NATIVE_ENTRY(Uint16Array_newTransferrable, 1) { | |
| 388 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 389 intptr_t len = length.Value(); | |
| 390 LengthCheck(len, Uint16Array::kMaxElements); | |
| 391 uint16_t* bytes = OS::AllocateAlignedArray<uint16_t>(len, | |
| 392 ExternalByteArrayData<uint16_t>::kAlignment); | |
| 393 return ExternalUint16Array::New(bytes, | |
| 394 len, | |
| 395 bytes, | |
| 396 OS::AlignedFree); | |
| 397 } | |
| 398 | |
| 399 | |
| 348 DEFINE_NATIVE_ENTRY(Uint16Array_getIndexed, 2) { | 400 DEFINE_NATIVE_ENTRY(Uint16Array_getIndexed, 2) { |
| 349 GETTER(Uint16Array, Smi, uint16_t); | 401 GETTER(Uint16Array, Smi, uint16_t); |
| 350 } | 402 } |
| 351 | 403 |
| 352 | 404 |
| 353 DEFINE_NATIVE_ENTRY(Uint16Array_setIndexed, 3) { | 405 DEFINE_NATIVE_ENTRY(Uint16Array_setIndexed, 3) { |
| 354 SETTER(Uint16Array, Smi, Value, uint16_t); | 406 SETTER(Uint16Array, Smi, Value, uint16_t); |
| 355 } | 407 } |
| 356 | 408 |
| 357 | 409 |
| 358 // Int32Array | 410 // Int32Array |
| 359 | 411 |
| 360 DEFINE_NATIVE_ENTRY(Int32Array_new, 1) { | 412 DEFINE_NATIVE_ENTRY(Int32Array_new, 1) { |
| 361 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 413 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 362 intptr_t len = length.Value(); | 414 intptr_t len = length.Value(); |
| 363 LengthCheck(len, Int32Array::kMaxElements); | 415 LengthCheck(len, Int32Array::kMaxElements); |
| 364 return Int32Array::New(len); | 416 return Int32Array::New(len); |
| 365 } | 417 } |
| 366 | 418 |
| 367 | 419 |
| 420 DEFINE_NATIVE_ENTRY(Int32Array_newTransferrable, 1) { | |
| 421 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 422 intptr_t len = length.Value(); | |
| 423 LengthCheck(len, Int32Array::kMaxElements); | |
| 424 int32_t* bytes = OS::AllocateAlignedArray<int32_t>(len, | |
| 425 ExternalByteArrayData<int32_t>::kAlignment); | |
| 426 return ExternalInt32Array::New(bytes, | |
| 427 len, | |
| 428 bytes, | |
| 429 OS::AlignedFree); | |
| 430 } | |
| 431 | |
| 432 | |
| 368 DEFINE_NATIVE_ENTRY(Int32Array_getIndexed, 2) { | 433 DEFINE_NATIVE_ENTRY(Int32Array_getIndexed, 2) { |
| 369 GETTER(Int32Array, Integer, int32_t); | 434 GETTER(Int32Array, Integer, int32_t); |
| 370 } | 435 } |
| 371 | 436 |
| 372 | 437 |
| 373 DEFINE_NATIVE_ENTRY(Int32Array_setIndexed, 3) { | 438 DEFINE_NATIVE_ENTRY(Int32Array_setIndexed, 3) { |
| 374 SETTER(Int32Array, Integer, AsInt64Value, int32_t); | 439 SETTER(Int32Array, Integer, AsInt64Value, int32_t); |
| 375 } | 440 } |
| 376 | 441 |
| 377 | 442 |
| 378 // Uint32Array | 443 // Uint32Array |
| 379 | 444 |
| 380 DEFINE_NATIVE_ENTRY(Uint32Array_new, 1) { | 445 DEFINE_NATIVE_ENTRY(Uint32Array_new, 1) { |
| 381 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 446 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 382 intptr_t len = length.Value(); | 447 intptr_t len = length.Value(); |
| 383 LengthCheck(len, Uint32Array::kMaxElements); | 448 LengthCheck(len, Uint32Array::kMaxElements); |
| 384 return Uint32Array::New(len); | 449 return Uint32Array::New(len); |
| 385 } | 450 } |
| 386 | 451 |
| 387 | 452 |
| 453 DEFINE_NATIVE_ENTRY(Uint32Array_newTransferrable, 1) { | |
| 454 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 455 intptr_t len = length.Value(); | |
| 456 LengthCheck(len, Uint32Array::kMaxElements); | |
| 457 uint32_t* bytes = OS::AllocateAlignedArray<uint32_t>(len, | |
| 458 ExternalByteArrayData<uint32_t>::kAlignment); | |
| 459 return ExternalUint32Array::New(bytes, | |
| 460 len, | |
| 461 bytes, | |
| 462 OS::AlignedFree); | |
| 463 } | |
| 464 | |
| 465 | |
| 388 DEFINE_NATIVE_ENTRY(Uint32Array_getIndexed, 2) { | 466 DEFINE_NATIVE_ENTRY(Uint32Array_getIndexed, 2) { |
| 389 GETTER(Uint32Array, Integer, uint32_t); | 467 GETTER(Uint32Array, Integer, uint32_t); |
| 390 } | 468 } |
| 391 | 469 |
| 392 | 470 |
| 393 DEFINE_NATIVE_ENTRY(Uint32Array_setIndexed, 3) { | 471 DEFINE_NATIVE_ENTRY(Uint32Array_setIndexed, 3) { |
| 394 SETTER(Uint32Array, Integer, AsInt64Value, uint32_t); | 472 SETTER(Uint32Array, Integer, AsInt64Value, uint32_t); |
| 395 } | 473 } |
| 396 | 474 |
| 397 | 475 |
| 398 // Int64Array | 476 // Int64Array |
| 399 | 477 |
| 400 DEFINE_NATIVE_ENTRY(Int64Array_new, 1) { | 478 DEFINE_NATIVE_ENTRY(Int64Array_new, 1) { |
| 401 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 479 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 402 intptr_t len = length.Value(); | 480 intptr_t len = length.Value(); |
| 403 LengthCheck(len, Int64Array::kMaxElements); | 481 LengthCheck(len, Int64Array::kMaxElements); |
| 404 return Int64Array::New(len); | 482 return Int64Array::New(len); |
| 405 } | 483 } |
| 406 | 484 |
| 407 | 485 |
| 486 DEFINE_NATIVE_ENTRY(Int64Array_newTransferrable, 1) { | |
| 487 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 488 intptr_t len = length.Value(); | |
| 489 LengthCheck(len, Int64Array::kMaxElements); | |
| 490 int64_t* bytes = OS::AllocateAlignedArray<int64_t>(len, | |
| 491 ExternalByteArrayData<int64_t>::kAlignment); | |
| 492 return ExternalInt64Array::New(bytes, | |
| 493 len, | |
| 494 bytes, | |
| 495 OS::AlignedFree); | |
| 496 } | |
| 497 | |
| 498 | |
| 408 DEFINE_NATIVE_ENTRY(Int64Array_getIndexed, 2) { | 499 DEFINE_NATIVE_ENTRY(Int64Array_getIndexed, 2) { |
| 409 GETTER(Int64Array, Integer, int64_t); | 500 GETTER(Int64Array, Integer, int64_t); |
| 410 } | 501 } |
| 411 | 502 |
| 412 | 503 |
| 413 DEFINE_NATIVE_ENTRY(Int64Array_setIndexed, 3) { | 504 DEFINE_NATIVE_ENTRY(Int64Array_setIndexed, 3) { |
| 414 SETTER(Int64Array, Integer, AsInt64Value, int64_t); | 505 SETTER(Int64Array, Integer, AsInt64Value, int64_t); |
| 415 } | 506 } |
| 416 | 507 |
| 417 | 508 |
| 418 // Uint64Array | 509 // Uint64Array |
| 419 | 510 |
| 420 DEFINE_NATIVE_ENTRY(Uint64Array_new, 1) { | 511 DEFINE_NATIVE_ENTRY(Uint64Array_new, 1) { |
| 421 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 512 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 422 intptr_t len = length.Value(); | 513 intptr_t len = length.Value(); |
| 423 LengthCheck(len, Uint64Array::kMaxElements); | 514 LengthCheck(len, Uint64Array::kMaxElements); |
| 424 return Uint64Array::New(len); | 515 return Uint64Array::New(len); |
| 425 } | 516 } |
| 426 | 517 |
| 427 | 518 |
| 519 DEFINE_NATIVE_ENTRY(Uint64Array_newTransferrable, 1) { | |
| 520 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 521 intptr_t len = length.Value(); | |
| 522 LengthCheck(len, Uint64Array::kMaxElements); | |
| 523 uint64_t* bytes = OS::AllocateAlignedArray<uint64_t>(len, | |
| 524 ExternalByteArrayData<uint64_t>::kAlignment); | |
| 525 return ExternalUint64Array::New(bytes, | |
| 526 len, | |
| 527 bytes, | |
| 528 OS::AlignedFree); | |
| 529 } | |
| 530 | |
| 531 | |
| 428 DEFINE_NATIVE_ENTRY(Uint64Array_getIndexed, 2) { | 532 DEFINE_NATIVE_ENTRY(Uint64Array_getIndexed, 2) { |
| 429 GETTER_UINT64(Uint64Array); | 533 GETTER_UINT64(Uint64Array); |
| 430 } | 534 } |
| 431 | 535 |
| 432 | 536 |
| 433 DEFINE_NATIVE_ENTRY(Uint64Array_setIndexed, 3) { | 537 DEFINE_NATIVE_ENTRY(Uint64Array_setIndexed, 3) { |
| 434 SETTER_UINT64(Uint64Array); | 538 SETTER_UINT64(Uint64Array); |
| 435 } | 539 } |
| 436 | 540 |
| 437 | 541 |
| 438 // Float32Array | 542 // Float32Array |
| 439 | 543 |
| 440 DEFINE_NATIVE_ENTRY(Float32Array_new, 1) { | 544 DEFINE_NATIVE_ENTRY(Float32Array_new, 1) { |
| 441 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 545 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 442 intptr_t len = length.Value(); | 546 intptr_t len = length.Value(); |
| 443 LengthCheck(len, Float32Array::kMaxElements); | 547 LengthCheck(len, Float32Array::kMaxElements); |
| 444 return Float32Array::New(len); | 548 return Float32Array::New(len); |
| 445 } | 549 } |
| 446 | 550 |
| 447 | 551 |
| 552 DEFINE_NATIVE_ENTRY(Float32Array_newTransferrable, 1) { | |
| 553 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 554 intptr_t len = length.Value(); | |
| 555 LengthCheck(len, Float32Array::kMaxElements); | |
| 556 float* bytes = OS::AllocateAlignedArray<float>(len, | |
| 557 ExternalByteArrayData<float>::kAlignment); | |
| 558 return ExternalFloat32Array::New(bytes, | |
| 559 len, | |
| 560 bytes, | |
| 561 OS::AlignedFree); | |
| 562 } | |
| 563 | |
| 564 | |
| 448 DEFINE_NATIVE_ENTRY(Float32Array_getIndexed, 2) { | 565 DEFINE_NATIVE_ENTRY(Float32Array_getIndexed, 2) { |
| 449 GETTER(Float32Array, Double, float); | 566 GETTER(Float32Array, Double, float); |
| 450 } | 567 } |
| 451 | 568 |
| 452 | 569 |
| 453 DEFINE_NATIVE_ENTRY(Float32Array_setIndexed, 3) { | 570 DEFINE_NATIVE_ENTRY(Float32Array_setIndexed, 3) { |
| 454 SETTER(Float32Array, Double, value, float); | 571 SETTER(Float32Array, Double, value, float); |
| 455 } | 572 } |
| 456 | 573 |
| 457 | 574 |
| 458 // Float64Array | 575 // Float64Array |
| 459 | 576 |
| 460 DEFINE_NATIVE_ENTRY(Float64Array_new, 1) { | 577 DEFINE_NATIVE_ENTRY(Float64Array_new, 1) { |
| 461 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 578 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); |
| 462 intptr_t len = length.Value(); | 579 intptr_t len = length.Value(); |
| 463 LengthCheck(len, Float64Array::kMaxElements); | 580 LengthCheck(len, Float64Array::kMaxElements); |
| 464 return Float64Array::New(len); | 581 return Float64Array::New(len); |
| 465 } | 582 } |
| 466 | 583 |
| 467 | 584 |
| 585 DEFINE_NATIVE_ENTRY(Float64Array_newTransferrable, 1) { | |
| 586 GET_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | |
| 587 intptr_t len = length.Value(); | |
| 588 LengthCheck(len, Float64Array::kMaxElements); | |
| 589 double* bytes = OS::AllocateAlignedArray<double>(len, | |
| 590 ExternalByteArrayData<double>::kAlignment); | |
| 591 return ExternalFloat64Array::New(bytes, | |
| 592 len, | |
| 593 bytes, | |
| 594 OS::AlignedFree); | |
| 595 } | |
| 596 | |
| 597 | |
| 468 DEFINE_NATIVE_ENTRY(Float64Array_getIndexed, 2) { | 598 DEFINE_NATIVE_ENTRY(Float64Array_getIndexed, 2) { |
| 469 GETTER(Float64Array, Double, double); | 599 GETTER(Float64Array, Double, double); |
| 470 } | 600 } |
| 471 | 601 |
| 472 | 602 |
| 473 DEFINE_NATIVE_ENTRY(Float64Array_setIndexed, 3) { | 603 DEFINE_NATIVE_ENTRY(Float64Array_setIndexed, 3) { |
| 474 SETTER(Float64Array, Double, value, double); | 604 SETTER(Float64Array, Double, value, double); |
| 475 } | 605 } |
| 476 | 606 |
| 477 | 607 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 588 DEFINE_NATIVE_ENTRY(ExternalFloat64Array_getIndexed, 2) { | 718 DEFINE_NATIVE_ENTRY(ExternalFloat64Array_getIndexed, 2) { |
| 589 GETTER(ExternalFloat64Array, Double, double); | 719 GETTER(ExternalFloat64Array, Double, double); |
| 590 } | 720 } |
| 591 | 721 |
| 592 | 722 |
| 593 DEFINE_NATIVE_ENTRY(ExternalFloat64Array_setIndexed, 3) { | 723 DEFINE_NATIVE_ENTRY(ExternalFloat64Array_setIndexed, 3) { |
| 594 SETTER(ExternalFloat64Array, Double, value, double); | 724 SETTER(ExternalFloat64Array, Double, value, double); |
| 595 } | 725 } |
| 596 | 726 |
| 597 } // namespace dart | 727 } // namespace dart |
| OLD | NEW |