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

Side by Side Diff: runtime/lib/simd128.cc

Issue 23480005: Change Bool::Get to return a handle instead of a pointer to a raw object. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 3 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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/exceptions.h" 7 #include "vm/exceptions.h"
8 #include "vm/native_entry.h" 8 #include "vm/native_entry.h"
9 #include "vm/object.h" 9 #include "vm/object.h"
10 #include "vm/symbols.h" 10 #include "vm/symbols.h"
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 uint32_t _y = self.y(); 584 uint32_t _y = self.y();
585 uint32_t _z = self.z(); 585 uint32_t _z = self.z();
586 uint32_t _w = static_cast<uint32_t>(w.AsInt64Value() & 0xFFFFFFFF); 586 uint32_t _w = static_cast<uint32_t>(w.AsInt64Value() & 0xFFFFFFFF);
587 return Uint32x4::New(_x, _y, _z, _w); 587 return Uint32x4::New(_x, _y, _z, _w);
588 } 588 }
589 589
590 590
591 DEFINE_NATIVE_ENTRY(Uint32x4_getFlagX, 1) { 591 DEFINE_NATIVE_ENTRY(Uint32x4_getFlagX, 1) {
592 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0)); 592 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
593 uint32_t value = self.x(); 593 uint32_t value = self.x();
594 return value != 0 ? Bool::True().raw() : Bool::False().raw(); 594 return Bool::Get(value != 0).raw();
595 } 595 }
596 596
597 597
598 DEFINE_NATIVE_ENTRY(Uint32x4_getFlagY, 1) { 598 DEFINE_NATIVE_ENTRY(Uint32x4_getFlagY, 1) {
599 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0)); 599 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
600 uint32_t value = self.y(); 600 uint32_t value = self.y();
601 return value != 0 ? Bool::True().raw() : Bool::False().raw(); 601 return Bool::Get(value != 0).raw();
602 } 602 }
603 603
604 604
605 DEFINE_NATIVE_ENTRY(Uint32x4_getFlagZ, 1) { 605 DEFINE_NATIVE_ENTRY(Uint32x4_getFlagZ, 1) {
606 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0)); 606 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
607 uint32_t value = self.z(); 607 uint32_t value = self.z();
608 return value != 0 ? Bool::True().raw() : Bool::False().raw(); 608 return Bool::Get(value != 0).raw();
609 } 609 }
610 610
611 611
612 DEFINE_NATIVE_ENTRY(Uint32x4_getFlagW, 1) { 612 DEFINE_NATIVE_ENTRY(Uint32x4_getFlagW, 1) {
613 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0)); 613 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
614 uint32_t value = self.w(); 614 uint32_t value = self.w();
615 return value != 0 ? Bool::True().raw() : Bool::False().raw(); 615 return Bool::Get(value != 0).raw();
616 } 616 }
617 617
618 618
619 DEFINE_NATIVE_ENTRY(Uint32x4_setFlagX, 2) { 619 DEFINE_NATIVE_ENTRY(Uint32x4_setFlagX, 2) {
620 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0)); 620 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, self, arguments->NativeArgAt(0));
621 GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagX, arguments->NativeArgAt(1)); 621 GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagX, arguments->NativeArgAt(1));
622 uint32_t _x = self.x(); 622 uint32_t _x = self.x();
623 uint32_t _y = self.y(); 623 uint32_t _y = self.y();
624 uint32_t _z = self.z(); 624 uint32_t _z = self.z();
625 uint32_t _w = self.w(); 625 uint32_t _w = self.w();
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
704 } 704 }
705 705
706 706
707 DEFINE_NATIVE_ENTRY(Uint32x4_toFloat32x4, 1) { 707 DEFINE_NATIVE_ENTRY(Uint32x4_toFloat32x4, 1) {
708 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, v, arguments->NativeArgAt(0)); 708 GET_NON_NULL_NATIVE_ARGUMENT(Uint32x4, v, arguments->NativeArgAt(0));
709 return Float32x4::New(v.value()); 709 return Float32x4::New(v.value());
710 } 710 }
711 711
712 712
713 } // namespace dart 713 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/lib/regexp.cc ('k') | runtime/vm/code_generator.cc » ('j') | runtime/vm/object.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698