Home | History | Annotate | Download | only in src

Lines Matching refs:ic

35 #include "ic-inl.h"
43 char IC::TransitionMarkFromState(IC::State state) {
61 void IC::TraceIC(const char* type,
112 IC::IC(FrameDepth depth, Isolate* isolate) : isolate_(isolate) {
114 // To improve the performance of the (much used) IC code, we unfold
116 // ~35% speedup when running DeltaBlue with the '--nouse-ic' flag.
142 Address IC::OriginalCodeAddress() const {
144 // Compute the JavaScript frame for the frame pointer of this IC
159 // place where the call to DebugBreakXXX is and where the IC
200 // IC::GetCodeCacheHolder is not applicable.
204 // IC::GetCodeCacheHolder is not applicable.
207 Map* map = IC::GetCodeCacheHolder(receiver, cache_holder)->map();
227 IC::State IC::StateFrom(Code* target, Object* receiver, Object* name) {
228 IC::State state = target->ic_state();
246 // Call stubs handle this later to allow extra IC state
267 RelocInfo::Mode IC::ComputeMode() {
280 Failure* IC::TypeError(const char* type,
291 Failure* IC::ReferenceError(const char* type, Handle<String> name) {
299 static int ComputeTypeInfoCountDelta(IC::State old_state, IC::State new_state) {
309 void IC::PostPatching(Address address, Code* target, Code* old_target) {
340 void IC::Clear(Address address) {
427 // be able to IC it anyway and regular lookup should work fine.
650 // If we return a null handle, the IC will not be patched.
1271 // If the property is read-only, we leave the IC in its current state.
1373 // TODO(ulan): find out why we patch this site even with --no-use-ic
1404 // where there is extra room in the object, we leave the IC in its
1554 // remain monomorphic. If this optimistic assumption is not true, the IC
1587 // version of the IC.
1852 // where there is extra room in the object, we leave the IC in its
1915 // Static IC stub generators.
1918 // Used from ic-<arch>.cc.
1922 CallIC ic(isolate);
1923 IC::State state = IC::StateFrom(ic.target(), args[0], args[1]);
1924 Code::ExtraICState extra_ic_state = ic.target()->extra_ic_state();
1925 MaybeObject* maybe_result = ic.LoadFunction(state,
1946 // Used from ic-<arch>.cc.
1950 KeyedCallIC ic(isolate);
1951 IC::State state = IC::StateFrom(ic.target(), args[0], args[1]);
1953 ic.LoadFunction(state, args.at<Object>(0), args.at<Object>(1));
1966 // Used from ic-<arch>.cc.
1970 LoadIC ic(isolate);
1971 IC::State state = IC::StateFrom(ic.target(), args[0], args[1]);
1972 return ic.Load(state, args.at<Object>(0), args.at<String>(1));
1976 // Used from ic-<arch>.cc
1980 KeyedLoadIC ic(isolate);
1981 IC::State state = IC::StateFrom(ic.target(), args[0], args[1]);
1982 return ic.Load(state, args.at<Object>(0), args.at<Object>(1), false);
1989 KeyedLoadIC ic(isolate);
1990 IC::State state = IC::StateFrom(ic.target(), args[0], args[1]);
1991 return ic.Load(state, args.at<Object>(0), args.at<Object>(1), true);
1995 // Used from ic-<arch>.cc.
1999 StoreIC ic(isolate);
2000 IC::State state = IC::StateFrom(ic.target(), args[0], args[1]);
2001 Code::ExtraICState extra_ic_state = ic.target()->extra_ic_state();
2002 return ic.Store(state,
2071 // Used from ic-<arch>.cc.
2075 KeyedStoreIC ic(isolate);
2076 IC::State state = IC::StateFrom(ic.target(), args[0], args[1]);
2077 Code::ExtraICState extra_ic_state = ic.target()->extra_ic_state();
2078 return ic.Store(state,
2090 KeyedStoreIC ic(isolate);
2091 Code::ExtraICState extra_ic_state = ic.target()->extra_ic_state();
2108 KeyedStoreIC ic(isolate);
2109 IC::State state = IC::StateFrom(ic.target(), args[0], args[1]);
2110 Code::ExtraICState extra_ic_state = ic.target()->extra_ic_state();
2111 return ic.Store(state,
2298 UnaryOpIC ic(isolate);
2299 ic.patch(*code);
2375 BinaryOpIC ic(isolate);
2376 ic.patch(*code);
2380 PatchInlinedSmiCode(ic.address());
2528 CompareIC ic(isolate, static_cast<Token::Value>(args.smi_at(2)));
2529 ic.UpdateCaches(args.at<Object>(0), args.at<Object>(1));
2530 return ic.target();
2548 ToBooleanIC ic(isolate);
2549 ic.patch(*code);
2567 Address IC::AddressFromUtilityId(IC::UtilityId id) {