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

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

Issue 10875030: Add support for XMM registers in SSA code generation pipeline. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fix a bug pointed out by Florian Created 8 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
« no previous file with comments | « runtime/vm/assembler_ia32_test.cc ('k') | runtime/vm/assembler_macros_ia32.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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 // The class 'AssemblerMacros' contains assembler instruction groups that 4 // The class 'AssemblerMacros' contains assembler instruction groups that
5 // are used in Dart. 5 // are used in Dart.
6 6
7 #ifndef VM_ASSEMBLER_MACROS_IA32_H_ 7 #ifndef VM_ASSEMBLER_MACROS_IA32_H_
8 #define VM_ASSEMBLER_MACROS_IA32_H_ 8 #define VM_ASSEMBLER_MACROS_IA32_H_
9 9
10 #ifndef VM_ASSEMBLER_MACROS_H_ 10 #ifndef VM_ASSEMBLER_MACROS_H_
(...skipping 12 matching lines...) Expand all
23 23
24 class AssemblerMacros : public AllStatic { 24 class AssemblerMacros : public AllStatic {
25 public: 25 public:
26 // Inlined allocation of an instance of class 'cls', code has no runtime 26 // Inlined allocation of an instance of class 'cls', code has no runtime
27 // calls. Jump to 'failure' if the instance cannot be allocated here. 27 // calls. Jump to 'failure' if the instance cannot be allocated here.
28 // Allocated instance is returned in 'instance_reg'. 28 // Allocated instance is returned in 'instance_reg'.
29 // Only the tags field of the object is initialized. 29 // Only the tags field of the object is initialized.
30 static void TryAllocate(Assembler* assembler, 30 static void TryAllocate(Assembler* assembler,
31 const Class& cls, 31 const Class& cls,
32 Label* failure, 32 Label* failure,
33 bool near_jump,
33 Register instance_reg); 34 Register instance_reg);
34 35
35 // Set up a dart frame on entry with a frame pointer and PC information to 36 // Set up a dart frame on entry with a frame pointer and PC information to
36 // enable easy access to the RawInstruction object of code corresponding 37 // enable easy access to the RawInstruction object of code corresponding
37 // to this frame. 38 // to this frame.
38 // The dart frame layout is as follows: 39 // The dart frame layout is as follows:
39 // .... 40 // ....
40 // ret PC 41 // ret PC
41 // saved EBP <=== EBP 42 // saved EBP <=== EBP
42 // pc (used to derive the RawInstruction Object of the dart code) 43 // pc (used to derive the RawInstruction Object of the dart code)
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 // pushl ebp (size is 1 byte) 75 // pushl ebp (size is 1 byte)
75 // movl ebp, esp (size is 2 bytes) 76 // movl ebp, esp (size is 2 bytes)
76 // call L (size is 5 bytes) 77 // call L (size is 5 bytes)
77 // L: 78 // L:
78 static const intptr_t kOffsetOfSavedPCfromEntrypoint = 8; 79 static const intptr_t kOffsetOfSavedPCfromEntrypoint = 8;
79 }; 80 };
80 81
81 } // namespace dart. 82 } // namespace dart.
82 83
83 #endif // VM_ASSEMBLER_MACROS_IA32_H_ 84 #endif // VM_ASSEMBLER_MACROS_IA32_H_
OLDNEW
« no previous file with comments | « runtime/vm/assembler_ia32_test.cc ('k') | runtime/vm/assembler_macros_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698