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

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

Issue 9460015: Do not count invocations but usage of a function, i.e., increment a function's counter at IC calls … (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 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/code_generator_ia32.cc ('k') | runtime/vm/code_generator_x64.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 4
5 #ifndef VM_CODE_GENERATOR_X64_H_ 5 #ifndef VM_CODE_GENERATOR_X64_H_
6 #define VM_CODE_GENERATOR_X64_H_ 6 #define VM_CODE_GENERATOR_X64_H_
7 7
8 #ifndef VM_CODE_GENERATOR_H_ 8 #ifndef VM_CODE_GENERATOR_H_
9 #error Do not include code_generator_x64.h directly; use code_generator.h. 9 #error Do not include code_generator_x64.h directly; use code_generator.h.
10 #endif 10 #endif
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 // Treat the first 'num_arguments - num_names' arguments as positional and 116 // Treat the first 'num_arguments - num_names' arguments as positional and
117 // treat the following 'num_names' arguments as named optional arguments. 117 // treat the following 'num_names' arguments as named optional arguments.
118 static const Array& ArgumentsDescriptor( 118 static const Array& ArgumentsDescriptor(
119 int num_arguments, 119 int num_arguments,
120 const Array& optional_arguments_names); 120 const Array& optional_arguments_names);
121 121
122 virtual bool IsOptimizing() const { 122 virtual bool IsOptimizing() const {
123 return false; 123 return false;
124 } 124 }
125 125
126 virtual void CountBackwardLoop(); 126 void GenerateReturnEpilog(ReturnNode* node);
127 127
128 void GenerateReturnEpilog(ReturnNode* node); 128 // Return true if the VM may optimize functions.
129 static bool CanOptimize();
129 130
130 private: 131 private:
131 // TODO(srdjan): Remove the friendship once the two compilers are properly 132 // TODO(srdjan): Remove the friendship once the two compilers are properly
132 // structured. 133 // structured.
133 friend class OptimizingCodeGenerator; 134 friend class OptimizingCodeGenerator;
134 135
135 // Forward declarations. 136 // Forward declarations.
136 class DescriptorList; 137 class DescriptorList;
137 class HandlerList; 138 class HandlerList;
138 139
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 DescriptorList* pc_descriptors_list_; 224 DescriptorList* pc_descriptors_list_;
224 HandlerList* exception_handlers_list_; 225 HandlerList* exception_handlers_list_;
225 int try_index_; 226 int try_index_;
226 227
227 DISALLOW_IMPLICIT_CONSTRUCTORS(CodeGenerator); 228 DISALLOW_IMPLICIT_CONSTRUCTORS(CodeGenerator);
228 }; 229 };
229 230
230 } // namespace dart 231 } // namespace dart
231 232
232 #endif // VM_CODE_GENERATOR_X64_H_ 233 #endif // VM_CODE_GENERATOR_X64_H_
OLDNEW
« no previous file with comments | « runtime/vm/code_generator_ia32.cc ('k') | runtime/vm/code_generator_x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698