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

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

Issue 1125623003: Move megamorphic lookup code to stub instead of inlining. Preformance loss < 5%, instruction size r… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 7 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) 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_STUB_CODE_H_ 5 #ifndef VM_STUB_CODE_H_
6 #define VM_STUB_CODE_H_ 6 #define VM_STUB_CODE_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/assembler.h" 9 #include "vm/assembler.h"
10 10
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 V(Subtype2TestCache) \ 68 V(Subtype2TestCache) \
69 V(Subtype3TestCache) \ 69 V(Subtype3TestCache) \
70 V(Deoptimize) \ 70 V(Deoptimize) \
71 V(DeoptimizeLazy) \ 71 V(DeoptimizeLazy) \
72 V(ICCallBreakpoint) \ 72 V(ICCallBreakpoint) \
73 V(ClosureCallBreakpoint) \ 73 V(ClosureCallBreakpoint) \
74 V(RuntimeCallBreakpoint) \ 74 V(RuntimeCallBreakpoint) \
75 V(UnoptimizedIdenticalWithNumberCheck) \ 75 V(UnoptimizedIdenticalWithNumberCheck) \
76 V(OptimizedIdenticalWithNumberCheck) \ 76 V(OptimizedIdenticalWithNumberCheck) \
77 V(DebugStepCheck) \ 77 V(DebugStepCheck) \
78 V(MegamorphicLookup) \
78 79
79 #define STUB_CODE_LIST(V) \ 80 #define STUB_CODE_LIST(V) \
80 BOOTSTRAP_STUB_CODE_LIST(V) \ 81 BOOTSTRAP_STUB_CODE_LIST(V) \
81 REST_STUB_CODE_LIST(V) 82 REST_STUB_CODE_LIST(V)
82 83
83 // class StubEntry is used to describe stub methods generated in dart to 84 // class StubEntry is used to describe stub methods generated in dart to
84 // abstract out common code executed from generated dart code. 85 // abstract out common code executed from generated dart code.
85 class StubEntry { 86 class StubEntry {
86 public: 87 public:
87 explicit StubEntry(const Code& code); 88 explicit StubEntry(const Code& code);
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 Assembler* assembler, 239 Assembler* assembler,
239 const Register left, 240 const Register left,
240 const Register right, 241 const Register right,
241 const Register temp1 = kNoRegister, 242 const Register temp1 = kNoRegister,
242 const Register temp2 = kNoRegister); 243 const Register temp2 = kNoRegister);
243 }; 244 };
244 245
245 } // namespace dart 246 } // namespace dart
246 247
247 #endif // VM_STUB_CODE_H_ 248 #endif // VM_STUB_CODE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698