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

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

Issue 12303013: Simd128Float32, Simd128Mask, and Simd128Float32List additions for dart:scalarlist (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix strict aliasing warning Created 7 years, 10 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/raw_object.h ('k') | runtime/vm/raw_object_snapshot.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/raw_object.h" 5 #include "vm/raw_object.h"
6 6
7 #include "vm/class_table.h" 7 #include "vm/class_table.h"
8 #include "vm/freelist.h" 8 #include "vm/freelist.h"
9 #include "vm/isolate.h" 9 #include "vm/isolate.h"
10 #include "vm/object.h" 10 #include "vm/object.h"
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 instance_size = Int64Array::InstanceSize(byte_array_length); 175 instance_size = Int64Array::InstanceSize(byte_array_length);
176 break; 176 break;
177 } 177 }
178 case kUint64ArrayCid: { 178 case kUint64ArrayCid: {
179 const RawUint64Array* raw_byte_array = 179 const RawUint64Array* raw_byte_array =
180 reinterpret_cast<const RawUint64Array*>(this); 180 reinterpret_cast<const RawUint64Array*>(this);
181 intptr_t byte_array_length = Smi::Value(raw_byte_array->ptr()->length_); 181 intptr_t byte_array_length = Smi::Value(raw_byte_array->ptr()->length_);
182 instance_size = Uint64Array::InstanceSize(byte_array_length); 182 instance_size = Uint64Array::InstanceSize(byte_array_length);
183 break; 183 break;
184 } 184 }
185 case kFloat32x4ArrayCid: {
186 const RawFloat32x4Array* raw_byte_array =
187 reinterpret_cast<const RawFloat32x4Array*>(this);
188 intptr_t byte_array_length = Smi::Value(raw_byte_array->ptr()->length_);
189 instance_size = Float32x4Array::InstanceSize(byte_array_length);
190 break;
191 }
185 case kFloat32ArrayCid: { 192 case kFloat32ArrayCid: {
186 const RawFloat32Array* raw_byte_array = 193 const RawFloat32Array* raw_byte_array =
187 reinterpret_cast<const RawFloat32Array*>(this); 194 reinterpret_cast<const RawFloat32Array*>(this);
188 intptr_t byte_array_length = Smi::Value(raw_byte_array->ptr()->length_); 195 intptr_t byte_array_length = Smi::Value(raw_byte_array->ptr()->length_);
189 instance_size = Float32Array::InstanceSize(byte_array_length); 196 instance_size = Float32Array::InstanceSize(byte_array_length);
190 break; 197 break;
191 } 198 }
192 case kFloat64ArrayCid: { 199 case kFloat64ArrayCid: {
193 const RawFloat64Array* raw_byte_array = 200 const RawFloat64Array* raw_byte_array =
194 reinterpret_cast<const RawFloat64Array*>(this); 201 reinterpret_cast<const RawFloat64Array*>(this);
(...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 } 761 }
755 762
756 763
757 intptr_t RawGrowableObjectArray::VisitGrowableObjectArrayPointers( 764 intptr_t RawGrowableObjectArray::VisitGrowableObjectArrayPointers(
758 RawGrowableObjectArray* raw_obj, ObjectPointerVisitor* visitor) { 765 RawGrowableObjectArray* raw_obj, ObjectPointerVisitor* visitor) {
759 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); 766 visitor->VisitPointers(raw_obj->from(), raw_obj->to());
760 return GrowableObjectArray::InstanceSize(); 767 return GrowableObjectArray::InstanceSize();
761 } 768 }
762 769
763 770
771 intptr_t RawFloat32x4::VisitFloat32x4Pointers(
772 RawFloat32x4* raw_obj,
773 ObjectPointerVisitor* visitor) {
774 ASSERT(raw_obj->IsHeapObject());
775 return Float32x4::InstanceSize();
776 }
777
778
779 intptr_t RawUint32x4::VisitUint32x4Pointers(
780 RawUint32x4* raw_obj,
781 ObjectPointerVisitor* visitor) {
782 ASSERT(raw_obj->IsHeapObject());
783 return Uint32x4::InstanceSize();
784 }
785
786
764 intptr_t RawByteArray::VisitByteArrayPointers(RawByteArray* raw_obj, 787 intptr_t RawByteArray::VisitByteArrayPointers(RawByteArray* raw_obj,
765 ObjectPointerVisitor* visitor) { 788 ObjectPointerVisitor* visitor) {
766 // ByteArray is an abstract class. 789 // ByteArray is an abstract class.
767 UNREACHABLE(); 790 UNREACHABLE();
768 return 0; 791 return 0;
769 } 792 }
770 793
771 794
772 intptr_t RawInt8Array::VisitInt8ArrayPointers( 795 intptr_t RawInt8Array::VisitInt8ArrayPointers(
773 RawInt8Array *raw_obj, ObjectPointerVisitor* visitor) { 796 RawInt8Array *raw_obj, ObjectPointerVisitor* visitor) {
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 intptr_t RawUint64Array::VisitUint64ArrayPointers( 875 intptr_t RawUint64Array::VisitUint64ArrayPointers(
853 RawUint64Array *raw_obj, ObjectPointerVisitor* visitor) { 876 RawUint64Array *raw_obj, ObjectPointerVisitor* visitor) {
854 // Make sure that we got here with the tagged pointer as this. 877 // Make sure that we got here with the tagged pointer as this.
855 ASSERT(raw_obj->IsHeapObject()); 878 ASSERT(raw_obj->IsHeapObject());
856 intptr_t length = Smi::Value(raw_obj->ptr()->length_); 879 intptr_t length = Smi::Value(raw_obj->ptr()->length_);
857 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); 880 visitor->VisitPointers(raw_obj->from(), raw_obj->to());
858 return Uint64Array::InstanceSize(length); 881 return Uint64Array::InstanceSize(length);
859 } 882 }
860 883
861 884
885 intptr_t RawFloat32x4Array::VisitFloat32x4ArrayPointers(
886 RawFloat32x4Array *raw_obj, ObjectPointerVisitor* visitor) {
887 // Make sure that we got here with the tagged pointer as this.
888 ASSERT(raw_obj->IsHeapObject());
889 intptr_t length = Smi::Value(raw_obj->ptr()->length_);
890 visitor->VisitPointers(raw_obj->from(), raw_obj->to());
891 return Float32x4Array::InstanceSize(length);
892 }
893
862 intptr_t RawFloat32Array::VisitFloat32ArrayPointers( 894 intptr_t RawFloat32Array::VisitFloat32ArrayPointers(
863 RawFloat32Array *raw_obj, ObjectPointerVisitor* visitor) { 895 RawFloat32Array *raw_obj, ObjectPointerVisitor* visitor) {
864 // Make sure that we got here with the tagged pointer as this. 896 // Make sure that we got here with the tagged pointer as this.
865 ASSERT(raw_obj->IsHeapObject()); 897 ASSERT(raw_obj->IsHeapObject());
866 intptr_t length = Smi::Value(raw_obj->ptr()->length_); 898 intptr_t length = Smi::Value(raw_obj->ptr()->length_);
867 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); 899 visitor->VisitPointers(raw_obj->from(), raw_obj->to());
868 return Float32Array::InstanceSize(length); 900 return Float32Array::InstanceSize(length);
869 } 901 }
870 902
871 903
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 985
954 intptr_t RawExternalUint64Array::VisitExternalUint64ArrayPointers( 986 intptr_t RawExternalUint64Array::VisitExternalUint64ArrayPointers(
955 RawExternalUint64Array* raw_obj, ObjectPointerVisitor* visitor) { 987 RawExternalUint64Array* raw_obj, ObjectPointerVisitor* visitor) {
956 // Make sure that we got here with the tagged pointer as this. 988 // Make sure that we got here with the tagged pointer as this.
957 ASSERT(raw_obj->IsHeapObject()); 989 ASSERT(raw_obj->IsHeapObject());
958 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); 990 visitor->VisitPointers(raw_obj->from(), raw_obj->to());
959 return ExternalUint64Array::InstanceSize(); 991 return ExternalUint64Array::InstanceSize();
960 } 992 }
961 993
962 994
995 intptr_t
996 RawExternalFloat32x4Array::VisitExternalFloat32x4ArrayPointers(
997 RawExternalFloat32x4Array* raw_obj, ObjectPointerVisitor* visitor) {
998 // Make sure that we got here with the tagged pointer as this.
999 ASSERT(raw_obj->IsHeapObject());
1000 visitor->VisitPointers(raw_obj->from(), raw_obj->to());
1001 return ExternalFloat32x4Array::InstanceSize();
1002 }
1003
1004
963 intptr_t RawExternalFloat32Array::VisitExternalFloat32ArrayPointers( 1005 intptr_t RawExternalFloat32Array::VisitExternalFloat32ArrayPointers(
964 RawExternalFloat32Array* raw_obj, ObjectPointerVisitor* visitor) { 1006 RawExternalFloat32Array* raw_obj, ObjectPointerVisitor* visitor) {
965 // Make sure that we got here with the tagged pointer as this. 1007 // Make sure that we got here with the tagged pointer as this.
966 ASSERT(raw_obj->IsHeapObject()); 1008 ASSERT(raw_obj->IsHeapObject());
967 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); 1009 visitor->VisitPointers(raw_obj->from(), raw_obj->to());
968 return ExternalFloat32Array::InstanceSize(); 1010 return ExternalFloat32Array::InstanceSize();
969 } 1011 }
970 1012
971 1013
972 intptr_t RawExternalFloat64Array::VisitExternalFloat64ArrayPointers( 1014 intptr_t RawExternalFloat64Array::VisitExternalFloat64ArrayPointers(
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 1049
1008 intptr_t RawWeakProperty::VisitWeakPropertyPointers( 1050 intptr_t RawWeakProperty::VisitWeakPropertyPointers(
1009 RawWeakProperty* raw_obj, ObjectPointerVisitor* visitor) { 1051 RawWeakProperty* raw_obj, ObjectPointerVisitor* visitor) {
1010 // Make sure that we got here with the tagged pointer as this. 1052 // Make sure that we got here with the tagged pointer as this.
1011 ASSERT(raw_obj->IsHeapObject()); 1053 ASSERT(raw_obj->IsHeapObject());
1012 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); 1054 visitor->VisitPointers(raw_obj->from(), raw_obj->to());
1013 return WeakProperty::InstanceSize(); 1055 return WeakProperty::InstanceSize();
1014 } 1056 }
1015 1057
1016 } // namespace dart 1058 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/raw_object.h ('k') | runtime/vm/raw_object_snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698