| 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 "include/dart_api.h" | 7 #include "include/dart_api.h" | 
| 8 | 8 | 
| 9 #include "vm/bigint_operations.h" | 9 #include "vm/bigint_operations.h" | 
| 10 #include "vm/exceptions.h" | 10 #include "vm/exceptions.h" | 
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 245   UNALIGNED_GETTER_UINT64(ByteArray); | 245   UNALIGNED_GETTER_UINT64(ByteArray); | 
| 246 } | 246 } | 
| 247 | 247 | 
| 248 | 248 | 
| 249 DEFINE_NATIVE_ENTRY(ByteArray_setUint64, 3) { | 249 DEFINE_NATIVE_ENTRY(ByteArray_setUint64, 3) { | 
| 250   UNALIGNED_SETTER_UINT64(ByteArray); | 250   UNALIGNED_SETTER_UINT64(ByteArray); | 
| 251 } | 251 } | 
| 252 | 252 | 
| 253 | 253 | 
| 254 DEFINE_NATIVE_ENTRY(ByteArray_getFloat32x4, 2) { | 254 DEFINE_NATIVE_ENTRY(ByteArray_getFloat32x4, 2) { | 
| 255   UNALIGNED_GETTER(ByteArray, Float32x4, simd_value_t); | 255   UNALIGNED_GETTER(ByteArray, Float32x4, simd128_value_t); | 
| 256 } | 256 } | 
| 257 | 257 | 
| 258 | 258 | 
| 259 DEFINE_NATIVE_ENTRY(ByteArray_setFloat32x4, 3) { | 259 DEFINE_NATIVE_ENTRY(ByteArray_setFloat32x4, 3) { | 
| 260   UNALIGNED_SETTER(ByteArray, Float32x4, value, simd_value_t); | 260   UNALIGNED_SETTER(ByteArray, Float32x4, value, simd128_value_t); | 
| 261 } | 261 } | 
| 262 | 262 | 
| 263 | 263 | 
| 264 DEFINE_NATIVE_ENTRY(ByteArray_getFloat32, 2) { | 264 DEFINE_NATIVE_ENTRY(ByteArray_getFloat32, 2) { | 
| 265   UNALIGNED_GETTER(ByteArray, Double, float); | 265   UNALIGNED_GETTER(ByteArray, Double, float); | 
| 266 } | 266 } | 
| 267 | 267 | 
| 268 | 268 | 
| 269 DEFINE_NATIVE_ENTRY(ByteArray_setFloat32, 3) { | 269 DEFINE_NATIVE_ENTRY(ByteArray_setFloat32, 3) { | 
| 270   UNALIGNED_SETTER(ByteArray, Double, value, float); | 270   UNALIGNED_SETTER(ByteArray, Double, value, float); | 
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 614   LengthCheck(len, Float32x4Array::kMaxElements); | 614   LengthCheck(len, Float32x4Array::kMaxElements); | 
| 615   return Float32x4Array::New(len); | 615   return Float32x4Array::New(len); | 
| 616 } | 616 } | 
| 617 | 617 | 
| 618 | 618 | 
| 619 DEFINE_NATIVE_ENTRY(Float32x4List_newTransferable, 1) { | 619 DEFINE_NATIVE_ENTRY(Float32x4List_newTransferable, 1) { | 
| 620   const int kAlignment = 16; | 620   const int kAlignment = 16; | 
| 621   GET_NON_NULL_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 621   GET_NON_NULL_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 
| 622   intptr_t len = length.Value(); | 622   intptr_t len = length.Value(); | 
| 623   LengthCheck(len, Float32x4Array::kMaxElements); | 623   LengthCheck(len, Float32x4Array::kMaxElements); | 
| 624   simd_value_t* bytes = OS::AllocateAlignedArray<simd_value_t>(len, kAlignment); | 624   simd128_value_t* bytes = | 
|  | 625       OS::AllocateAlignedArray<simd128_value_t>(len, kAlignment); | 
| 625   const ExternalFloat32x4Array& obj = | 626   const ExternalFloat32x4Array& obj = | 
| 626       ExternalFloat32x4Array::Handle(ExternalFloat32x4Array::New(bytes, len)); | 627       ExternalFloat32x4Array::Handle(ExternalFloat32x4Array::New(bytes, len)); | 
| 627   obj.AddFinalizer(bytes, PeerFinalizer); | 628   obj.AddFinalizer(bytes, PeerFinalizer); | 
| 628   return obj.raw(); | 629   return obj.raw(); | 
| 629 } | 630 } | 
| 630 | 631 | 
| 631 | 632 | 
| 632 DEFINE_NATIVE_ENTRY(Float32x4Array_getIndexed, 2) { | 633 DEFINE_NATIVE_ENTRY(Float32x4Array_getIndexed, 2) { | 
| 633   GETTER(Float32x4Array, Float32x4, simd_value_t); | 634   GETTER(Float32x4Array, Float32x4, simd128_value_t); | 
| 634 } | 635 } | 
| 635 | 636 | 
| 636 | 637 | 
| 637 DEFINE_NATIVE_ENTRY(Float32x4Array_setIndexed, 3) { | 638 DEFINE_NATIVE_ENTRY(Float32x4Array_setIndexed, 3) { | 
| 638   SETTER(Float32x4Array, Float32x4, value, simd_value_t); | 639   SETTER(Float32x4Array, Float32x4, value, simd128_value_t); | 
| 639 } | 640 } | 
| 640 | 641 | 
| 641 | 642 | 
| 642 // Float32Array | 643 // Float32Array | 
| 643 | 644 | 
| 644 DEFINE_NATIVE_ENTRY(Float32Array_new, 1) { | 645 DEFINE_NATIVE_ENTRY(Float32Array_new, 1) { | 
| 645   GET_NON_NULL_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 646   GET_NON_NULL_NATIVE_ARGUMENT(Smi, length, arguments->NativeArgAt(0)); | 
| 646   intptr_t len = length.Value(); | 647   intptr_t len = length.Value(); | 
| 647   LengthCheck(len, Float32Array::kMaxElements); | 648   LengthCheck(len, Float32Array::kMaxElements); | 
| 648   return Float32Array::New(len); | 649   return Float32Array::New(len); | 
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 809 | 810 | 
| 810 | 811 | 
| 811 DEFINE_NATIVE_ENTRY(ExternalUint64Array_setIndexed, 3) { | 812 DEFINE_NATIVE_ENTRY(ExternalUint64Array_setIndexed, 3) { | 
| 812   SETTER_UINT64(ExternalUint64Array); | 813   SETTER_UINT64(ExternalUint64Array); | 
| 813 } | 814 } | 
| 814 | 815 | 
| 815 | 816 | 
| 816 // ExternalFloat32x4Array | 817 // ExternalFloat32x4Array | 
| 817 | 818 | 
| 818 DEFINE_NATIVE_ENTRY(ExternalFloat32x4Array_getIndexed, 2) { | 819 DEFINE_NATIVE_ENTRY(ExternalFloat32x4Array_getIndexed, 2) { | 
| 819   GETTER(ExternalFloat32x4Array, Float32x4, simd_value_t); | 820   GETTER(ExternalFloat32x4Array, Float32x4, simd128_value_t); | 
| 820 } | 821 } | 
| 821 | 822 | 
| 822 | 823 | 
| 823 DEFINE_NATIVE_ENTRY(ExternalFloat32x4Array_setIndexed, 3) { | 824 DEFINE_NATIVE_ENTRY(ExternalFloat32x4Array_setIndexed, 3) { | 
| 824   SETTER(ExternalFloat32x4Array, Float32x4, value, simd_value_t); | 825   SETTER(ExternalFloat32x4Array, Float32x4, value, simd128_value_t); | 
| 825 } | 826 } | 
| 826 | 827 | 
| 827 | 828 | 
| 828 // ExternalFloat32Array | 829 // ExternalFloat32Array | 
| 829 | 830 | 
| 830 DEFINE_NATIVE_ENTRY(ExternalFloat32Array_getIndexed, 2) { | 831 DEFINE_NATIVE_ENTRY(ExternalFloat32Array_getIndexed, 2) { | 
| 831   GETTER(ExternalFloat32Array, Double, float); | 832   GETTER(ExternalFloat32Array, Double, float); | 
| 832 } | 833 } | 
| 833 | 834 | 
| 834 | 835 | 
| 835 DEFINE_NATIVE_ENTRY(ExternalFloat32Array_setIndexed, 3) { | 836 DEFINE_NATIVE_ENTRY(ExternalFloat32Array_setIndexed, 3) { | 
| 836   SETTER(ExternalFloat32Array, Double, value, float); | 837   SETTER(ExternalFloat32Array, Double, value, float); | 
| 837 } | 838 } | 
| 838 | 839 | 
| 839 | 840 | 
| 840 // ExternalFloat64Array | 841 // ExternalFloat64Array | 
| 841 | 842 | 
| 842 DEFINE_NATIVE_ENTRY(ExternalFloat64Array_getIndexed, 2) { | 843 DEFINE_NATIVE_ENTRY(ExternalFloat64Array_getIndexed, 2) { | 
| 843   GETTER(ExternalFloat64Array, Double, double); | 844   GETTER(ExternalFloat64Array, Double, double); | 
| 844 } | 845 } | 
| 845 | 846 | 
| 846 | 847 | 
| 847 DEFINE_NATIVE_ENTRY(ExternalFloat64Array_setIndexed, 3) { | 848 DEFINE_NATIVE_ENTRY(ExternalFloat64Array_setIndexed, 3) { | 
| 848   SETTER(ExternalFloat64Array, Double, value, double); | 849   SETTER(ExternalFloat64Array, Double, value, double); | 
| 849 } | 850 } | 
| 850 | 851 | 
| 851 }  // namespace dart | 852 }  // namespace dart | 
| OLD | NEW | 
|---|