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

Side by Side Diff: src/ic.h

Issue 9403009: Count ICs that have type information. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: fix confusing --trace-opt output 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 #endif 158 #endif
159 159
160 Failure* TypeError(const char* type, 160 Failure* TypeError(const char* type,
161 Handle<Object> object, 161 Handle<Object> object,
162 Handle<Object> key); 162 Handle<Object> key);
163 Failure* ReferenceError(const char* type, Handle<String> name); 163 Failure* ReferenceError(const char* type, Handle<String> name);
164 164
165 // Access the target code for the given IC address. 165 // Access the target code for the given IC address.
166 static inline Code* GetTargetAtAddress(Address address); 166 static inline Code* GetTargetAtAddress(Address address);
167 static inline void SetTargetAtAddress(Address address, Code* target); 167 static inline void SetTargetAtAddress(Address address, Code* target);
168 static void PostPatching(); 168 static void PostPatching(Address address, Code* target, Code* old_target);
169 169
170 private: 170 private:
171 // Frame pointer for the frame that uses (calls) the IC. 171 // Frame pointer for the frame that uses (calls) the IC.
172 Address fp_; 172 Address fp_;
173 173
174 // All access to the program counter of an IC structure is indirect 174 // All access to the program counter of an IC structure is indirect
175 // to make the code GC safe. This feature is crucial since 175 // to make the code GC safe. This feature is crucial since
176 // GetProperty and SetProperty are called and they in turn might 176 // GetProperty and SetProperty are called and they in turn might
177 // invoke the garbage collector. 177 // invoke the garbage collector.
178 Address* pc_address_; 178 Address* pc_address_;
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 void patch(Code* code); 815 void patch(Code* code);
816 }; 816 };
817 817
818 818
819 // Helper for BinaryOpIC and CompareIC. 819 // Helper for BinaryOpIC and CompareIC.
820 void PatchInlinedSmiCode(Address address); 820 void PatchInlinedSmiCode(Address address);
821 821
822 } } // namespace v8::internal 822 } } // namespace v8::internal
823 823
824 #endif // V8_IC_H_ 824 #endif // V8_IC_H_
OLDNEW
« no previous file with comments | « src/ia32/full-codegen-ia32.cc ('k') | src/ic.cc » ('j') | src/objects-inl.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698