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

Side by Side Diff: src/stub-cache.h

Issue 150225: Improved code for megamorphic stub on ia32. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 5 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
« src/ia32/stub-cache-ia32.cc ('K') | « src/ia32/stub-cache-ia32.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 189
190 // Update cache for entry hash(name, map). 190 // Update cache for entry hash(name, map).
191 static Code* Set(String* name, Map* map, Code* code); 191 static Code* Set(String* name, Map* map, Code* code);
192 192
193 // Clear the lookup table (@ mark compact collection). 193 // Clear the lookup table (@ mark compact collection).
194 static void Clear(); 194 static void Clear();
195 195
196 // Functions for generating stubs at startup. 196 // Functions for generating stubs at startup.
197 static void GenerateMiss(MacroAssembler* masm); 197 static void GenerateMiss(MacroAssembler* masm);
198 198
199 // Generate code for probing the stub cache table. 199 // Generate code for probing the stub cache table.
Kasper Lund 2009/07/02 12:53:08 I think you should add a note about the contract h
200 static void GenerateProbe(MacroAssembler* masm, 200 static void GenerateProbe(MacroAssembler* masm,
201 Code::Flags flags, 201 Code::Flags flags,
202 Register receiver, 202 Register receiver,
203 Register name, 203 Register name,
204 Register scratch); 204 Register scratch,
205 Register extra);
Kasper Lund 2009/07/02 12:53:08 Will this change break the compilation of all non-
205 206
206 enum Table { 207 enum Table {
207 kPrimary, 208 kPrimary,
208 kSecondary 209 kSecondary
209 }; 210 };
210 211
211 private: 212 private:
212 friend class SCTableReference; 213 friend class SCTableReference;
213 static const int kPrimaryTableSize = 2048; 214 static const int kPrimaryTableSize = 2048;
214 static const int kSecondaryTableSize = 512; 215 static const int kSecondaryTableSize = 512;
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 529
529 const ParameterCount& arguments() { return arguments_; } 530 const ParameterCount& arguments() { return arguments_; }
530 531
531 Object* GetCode(PropertyType type, String* name); 532 Object* GetCode(PropertyType type, String* name);
532 }; 533 };
533 534
534 535
535 } } // namespace v8::internal 536 } } // namespace v8::internal
536 537
537 #endif // V8_STUB_CACHE_H_ 538 #endif // V8_STUB_CACHE_H_
OLDNEW
« src/ia32/stub-cache-ia32.cc ('K') | « src/ia32/stub-cache-ia32.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698