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

Side by Side Diff: src/ic.h

Issue 238973003: Handlify Object::GetPrototype and (most) callers. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Minor Created 6 years, 8 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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 return target()->is_store_stub() || target()->is_keyed_store_stub(); 128 return target()->is_store_stub() || target()->is_keyed_store_stub();
129 } 129 }
130 #endif 130 #endif
131 131
132 // Determines which map must be used for keeping the code stub. 132 // Determines which map must be used for keeping the code stub.
133 // These methods should not be called with undefined or null. 133 // These methods should not be called with undefined or null.
134 static inline InlineCacheHolderFlag GetCodeCacheForObject(Object* object); 134 static inline InlineCacheHolderFlag GetCodeCacheForObject(Object* object);
135 // TODO(verwaest): This currently returns a HeapObject rather than JSObject* 135 // TODO(verwaest): This currently returns a HeapObject rather than JSObject*
136 // since loading the IC for loading the length from strings are stored on 136 // since loading the IC for loading the length from strings are stored on
137 // the string map directly, rather than on the JSObject-typed prototype. 137 // the string map directly, rather than on the JSObject-typed prototype.
138 static inline HeapObject* GetCodeCacheHolder(Isolate* isolate, 138 static inline Handle<HeapObject> GetCodeCacheHolder(
139 Object* object, 139 Isolate* isolate,
140 InlineCacheHolderFlag holder); 140 Handle<Object> object,
141 InlineCacheHolderFlag holder);
141 142
142 static inline InlineCacheHolderFlag GetCodeCacheFlag(HeapType* type); 143 static inline InlineCacheHolderFlag GetCodeCacheFlag(HeapType* type);
143 static inline Handle<Map> GetCodeCacheHolder(InlineCacheHolderFlag flag, 144 static inline Handle<Map> GetCodeCacheHolder(InlineCacheHolderFlag flag,
144 HeapType* type, 145 HeapType* type,
145 Isolate* isolate); 146 Isolate* isolate);
146 147
147 static bool IsCleared(Code* code) { 148 static bool IsCleared(Code* code) {
148 InlineCacheState state = code->ic_state(); 149 InlineCacheState state = code->ic_state();
149 return state == UNINITIALIZED || state == PREMONOMORPHIC; 150 return state == UNINITIALIZED || state == PREMONOMORPHIC;
150 } 151 }
(...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after
976 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ElementsTransitionAndStoreIC_Miss); 977 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ElementsTransitionAndStoreIC_Miss);
977 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_Miss); 978 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_Miss);
978 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_MissWithAllocationSite); 979 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_MissWithAllocationSite);
979 DECLARE_RUNTIME_FUNCTION(MaybeObject*, CompareNilIC_Miss); 980 DECLARE_RUNTIME_FUNCTION(MaybeObject*, CompareNilIC_Miss);
980 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ToBooleanIC_Miss); 981 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ToBooleanIC_Miss);
981 982
982 983
983 } } // namespace v8::internal 984 } } // namespace v8::internal
984 985
985 #endif // V8_IC_H_ 986 #endif // V8_IC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698