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

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

Issue 181453002: Reset trunk to 3.24.35.4 (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: Created 6 years, 9 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
« no previous file with comments | « src/spaces.cc ('k') | src/stub-cache.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 82
83 Handle<Code> FindIC(Handle<Name> name, 83 Handle<Code> FindIC(Handle<Name> name,
84 Handle<Map> stub_holder_map, 84 Handle<Map> stub_holder_map,
85 Code::Kind kind, 85 Code::Kind kind,
86 ExtraICState extra_state = kNoExtraICState, 86 ExtraICState extra_state = kNoExtraICState,
87 InlineCacheHolderFlag cache_holder = OWN_MAP); 87 InlineCacheHolderFlag cache_holder = OWN_MAP);
88 88
89 Handle<Code> FindHandler(Handle<Name> name, 89 Handle<Code> FindHandler(Handle<Name> name,
90 Handle<Map> map, 90 Handle<Map> map,
91 Code::Kind kind, 91 Code::Kind kind,
92 InlineCacheHolderFlag cache_holder, 92 InlineCacheHolderFlag cache_holder = OWN_MAP);
93 Code::StubType type);
94 93
95 Handle<Code> ComputeMonomorphicIC(Code::Kind kind, 94 Handle<Code> ComputeMonomorphicIC(Handle<Name> name,
96 Handle<Name> name,
97 Handle<HeapType> type, 95 Handle<HeapType> type,
98 Handle<Code> handler, 96 Handle<Code> handler,
99 ExtraICState extra_ic_state); 97 ExtraICState extra_ic_state);
100 98
101 Handle<Code> ComputeLoadNonexistent(Handle<Name> name, Handle<HeapType> type); 99 Handle<Code> ComputeLoadNonexistent(Handle<Name> name, Handle<HeapType> type);
102 100
103 Handle<Code> ComputeKeyedLoadElement(Handle<Map> receiver_map); 101 Handle<Code> ComputeKeyedLoadElement(Handle<Map> receiver_map);
104 102
105 Handle<Code> ComputeKeyedStoreElement(Handle<Map> receiver_map, 103 Handle<Code> ComputeKeyedStoreElement(Handle<Map> receiver_map,
106 StrictModeFlag strict_mode, 104 StrictModeFlag strict_mode,
(...skipping 10 matching lines...) Expand all
117 Handle<Code> ComputeCompareNil(Handle<Map> receiver_map, 115 Handle<Code> ComputeCompareNil(Handle<Map> receiver_map,
118 CompareNilICStub& stub); 116 CompareNilICStub& stub);
119 117
120 // --- 118 // ---
121 119
122 Handle<Code> ComputeLoadElementPolymorphic(MapHandleList* receiver_maps); 120 Handle<Code> ComputeLoadElementPolymorphic(MapHandleList* receiver_maps);
123 Handle<Code> ComputeStoreElementPolymorphic(MapHandleList* receiver_maps, 121 Handle<Code> ComputeStoreElementPolymorphic(MapHandleList* receiver_maps,
124 KeyedAccessStoreMode store_mode, 122 KeyedAccessStoreMode store_mode,
125 StrictModeFlag strict_mode); 123 StrictModeFlag strict_mode);
126 124
127 Handle<Code> ComputePolymorphicIC(Code::Kind kind, 125 Handle<Code> ComputePolymorphicIC(TypeHandleList* types,
128 TypeHandleList* types,
129 CodeHandleList* handlers, 126 CodeHandleList* handlers,
130 int number_of_valid_maps, 127 int number_of_valid_maps,
131 Handle<Name> name, 128 Handle<Name> name,
132 ExtraICState extra_ic_state); 129 ExtraICState extra_ic_state);
133 130
134 // Finds the Code object stored in the Heap::non_monomorphic_cache(). 131 // Finds the Code object stored in the Heap::non_monomorphic_cache().
135 Code* FindPreMonomorphicIC(Code::Kind kind, ExtraICState extra_ic_state); 132 Code* FindPreMonomorphicIC(Code::Kind kind, ExtraICState extra_ic_state);
136 133
137 // Update cache for entry hash(name, map). 134 // Update cache for entry hash(name, map).
138 Code* Set(Name* name, Map* map, Code* code); 135 Code* Set(Name* name, Map* map, Code* code);
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 Handle<JSObject> holder, 397 Handle<JSObject> holder,
401 Register holder_reg, 398 Register holder_reg,
402 Register scratch1, 399 Register scratch1,
403 Register scratch2, 400 Register scratch2,
404 Handle<Name> name, 401 Handle<Name> name,
405 Label* miss, 402 Label* miss,
406 PrototypeCheckType check = CHECK_ALL_MAPS); 403 PrototypeCheckType check = CHECK_ALL_MAPS);
407 404
408 void GenerateBooleanCheck(Register object, Label* miss); 405 void GenerateBooleanCheck(Register object, Label* miss);
409 406
410 static void GenerateFastApiCall(MacroAssembler* masm,
411 const CallOptimization& optimization,
412 Handle<Map> receiver_map,
413 Register receiver,
414 Register scratch,
415 bool is_store,
416 int argc,
417 Register* values);
418
419 protected: 407 protected:
420 Handle<Code> GetCodeWithFlags(Code::Flags flags, const char* name); 408 Handle<Code> GetCodeWithFlags(Code::Flags flags, const char* name);
421 Handle<Code> GetCodeWithFlags(Code::Flags flags, Handle<Name> name); 409 Handle<Code> GetCodeWithFlags(Code::Flags flags, Handle<Name> name);
422 410
423 ExtraICState extra_state() { return extra_ic_state_; } 411 ExtraICState extra_state() { return extra_ic_state_; }
424 412
425 MacroAssembler* masm() { return &masm_; } 413 MacroAssembler* masm() { return &masm_; }
426 void set_failure(Failure* failure) { failure_ = failure; } 414 void set_failure(Failure* failure) { failure_ = failure; }
427 415
428 static void LookupPostInterceptor(Handle<JSObject> holder, 416 static void LookupPostInterceptor(Handle<JSObject> holder,
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 Handle<JSFunction> constant_function_; 844 Handle<JSFunction> constant_function_;
857 bool is_simple_api_call_; 845 bool is_simple_api_call_;
858 Handle<FunctionTemplateInfo> expected_receiver_type_; 846 Handle<FunctionTemplateInfo> expected_receiver_type_;
859 Handle<CallHandlerInfo> api_call_info_; 847 Handle<CallHandlerInfo> api_call_info_;
860 }; 848 };
861 849
862 850
863 } } // namespace v8::internal 851 } } // namespace v8::internal
864 852
865 #endif // V8_STUB_CACHE_H_ 853 #endif // V8_STUB_CACHE_H_
OLDNEW
« no previous file with comments | « src/spaces.cc ('k') | src/stub-cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698