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

Side by Side Diff: runtime/vm/deopt_instructions.h

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.cc ('k') | runtime/vm/deopt_instructions.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) 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 #ifndef VM_DEOPT_INSTRUCTIONS_H_ 5 #ifndef VM_DEOPT_INSTRUCTIONS_H_
6 #define VM_DEOPT_INSTRUCTIONS_H_ 6 #define VM_DEOPT_INSTRUCTIONS_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/assembler.h" 9 #include "vm/assembler.h"
10 #include "vm/code_generator.h" 10 #include "vm/code_generator.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 } 127 }
128 128
129 void DeferFloat32x4Materialization(simd128_value_t value, 129 void DeferFloat32x4Materialization(simd128_value_t value,
130 RawFloat32x4** slot) { 130 RawFloat32x4** slot) {
131 deferred_boxes_ = new DeferredFloat32x4( 131 deferred_boxes_ = new DeferredFloat32x4(
132 value, 132 value,
133 reinterpret_cast<RawInstance**>(slot), 133 reinterpret_cast<RawInstance**>(slot),
134 deferred_boxes_); 134 deferred_boxes_);
135 } 135 }
136 136
137 void DeferFloat64x2Materialization(simd128_value_t value,
138 RawFloat64x2** slot) {
139 deferred_boxes_ = new DeferredFloat64x2(
140 value,
141 reinterpret_cast<RawInstance**>(slot),
142 deferred_boxes_);
143 }
144
137 void DeferInt32x4Materialization(simd128_value_t value, 145 void DeferInt32x4Materialization(simd128_value_t value,
138 RawInt32x4** slot) { 146 RawInt32x4** slot) {
139 deferred_boxes_ = new DeferredInt32x4( 147 deferred_boxes_ = new DeferredInt32x4(
140 value, 148 value,
141 reinterpret_cast<RawInstance**>(slot), 149 reinterpret_cast<RawInstance**>(slot),
142 deferred_boxes_); 150 deferred_boxes_);
143 } 151 }
144 152
145 DeferredObject* GetDeferredObject(intptr_t idx) const { 153 DeferredObject* GetDeferredObject(intptr_t idx) const {
146 return deferred_objects_[idx]; 154 return deferred_objects_[idx];
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 // the deopt-info array. 211 // the deopt-info array.
204 class DeoptInstr : public ZoneAllocated { 212 class DeoptInstr : public ZoneAllocated {
205 public: 213 public:
206 enum Kind { 214 enum Kind {
207 kRetAddress, 215 kRetAddress,
208 kConstant, 216 kConstant,
209 kRegister, 217 kRegister,
210 kFpuRegister, 218 kFpuRegister,
211 kInt64FpuRegister, 219 kInt64FpuRegister,
212 kFloat32x4FpuRegister, 220 kFloat32x4FpuRegister,
221 kFloat64x2FpuRegister,
213 kInt32x4FpuRegister, 222 kInt32x4FpuRegister,
214 kStackSlot, 223 kStackSlot,
215 kDoubleStackSlot, 224 kDoubleStackSlot,
216 kInt64StackSlot, 225 kInt64StackSlot,
217 kFloat32x4StackSlot, 226 kFloat32x4StackSlot,
227 kFloat64x2StackSlot,
218 kInt32x4StackSlot, 228 kInt32x4StackSlot,
219 kPcMarker, 229 kPcMarker,
220 kPp, 230 kPp,
221 kCallerFp, 231 kCallerFp,
222 kCallerPp, 232 kCallerPp,
223 kCallerPc, 233 kCallerPc,
224 kSuffix, 234 kSuffix,
225 kMaterializedObjectRef, 235 kMaterializedObjectRef,
226 kMaterializeObject 236 kMaterializeObject
227 }; 237 };
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 DeoptInfo* info, 382 DeoptInfo* info,
373 Smi* reason); 383 Smi* reason);
374 384
375 private: 385 private:
376 static const intptr_t kEntrySize = 3; 386 static const intptr_t kEntrySize = 3;
377 }; 387 };
378 388
379 } // namespace dart 389 } // namespace dart
380 390
381 #endif // VM_DEOPT_INSTRUCTIONS_H_ 391 #endif // VM_DEOPT_INSTRUCTIONS_H_
OLDNEW
« no previous file with comments | « runtime/vm/deferred_objects.cc ('k') | runtime/vm/deopt_instructions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698