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

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

Issue 172653002: Unbox/Box Float64x2 and inline typed array loads and stores (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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/deferred_objects.h ('k') | runtime/vm/deopt_instructions.h » ('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) 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/deferred_objects.h" 5 #include "vm/deferred_objects.h"
6 6
7 #include "vm/deopt_instructions.h" 7 #include "vm/deopt_instructions.h"
8 #include "vm/flags.h" 8 #include "vm/flags.h"
9 #include "vm/object.h" 9 #include "vm/object.h"
10 10
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 float x = raw_float32x4->x(); 47 float x = raw_float32x4->x();
48 float y = raw_float32x4->y(); 48 float y = raw_float32x4->y();
49 float z = raw_float32x4->z(); 49 float z = raw_float32x4->z();
50 float w = raw_float32x4->w(); 50 float w = raw_float32x4->w();
51 OS::PrintErr("materializing Float32x4 at %" Px ": %g,%g,%g,%g\n", 51 OS::PrintErr("materializing Float32x4 at %" Px ": %g,%g,%g,%g\n",
52 reinterpret_cast<uword>(slot()), x, y, z, w); 52 reinterpret_cast<uword>(slot()), x, y, z, w);
53 } 53 }
54 } 54 }
55 55
56 56
57 void DeferredFloat64x2::Materialize(DeoptContext* deopt_context) {
58 RawFloat64x2** float64x2_slot = reinterpret_cast<RawFloat64x2**>(slot());
59 RawFloat64x2* raw_float64x2 = Float64x2::New(value());
60 *float64x2_slot = raw_float64x2;
61
62 if (FLAG_trace_deoptimization_verbose) {
63 double x = raw_float64x2->x();
64 double y = raw_float64x2->y();
65 OS::PrintErr("materializing Float64x2 at %" Px ": %g,%g\n",
66 reinterpret_cast<uword>(slot()), x, y);
67 }
68 }
69
70
57 void DeferredInt32x4::Materialize(DeoptContext* deopt_context) { 71 void DeferredInt32x4::Materialize(DeoptContext* deopt_context) {
58 RawInt32x4** int32x4_slot = reinterpret_cast<RawInt32x4**>(slot()); 72 RawInt32x4** int32x4_slot = reinterpret_cast<RawInt32x4**>(slot());
59 RawInt32x4* raw_int32x4 = Int32x4::New(value()); 73 RawInt32x4* raw_int32x4 = Int32x4::New(value());
60 *int32x4_slot = raw_int32x4; 74 *int32x4_slot = raw_int32x4;
61 75
62 if (FLAG_trace_deoptimization_verbose) { 76 if (FLAG_trace_deoptimization_verbose) {
63 uint32_t x = raw_int32x4->x(); 77 uint32_t x = raw_int32x4->x();
64 uint32_t y = raw_int32x4->y(); 78 uint32_t y = raw_int32x4->y();
65 uint32_t z = raw_int32x4->z(); 79 uint32_t z = raw_int32x4->z();
66 uint32_t w = raw_int32x4->w(); 80 uint32_t w = raw_int32x4->w();
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 OS::PrintErr(" %s <- %s\n", 127 OS::PrintErr(" %s <- %s\n",
114 String::Handle(field.name()).ToCString(), 128 String::Handle(field.name()).ToCString(),
115 value.ToCString()); 129 value.ToCString());
116 } 130 }
117 } 131 }
118 132
119 object_ = &obj; 133 object_ = &obj;
120 } 134 }
121 135
122 } // namespace dart 136 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/deferred_objects.h ('k') | runtime/vm/deopt_instructions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698