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

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

Issue 155283: Allow access through the global proxy to use ICs. (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
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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 Object* value); 72 Object* value);
73 73
74 static Object* ComputeLoadInterceptor(String* name, 74 static Object* ComputeLoadInterceptor(String* name,
75 JSObject* receiver, 75 JSObject* receiver,
76 JSObject* holder); 76 JSObject* holder);
77 77
78 static Object* ComputeLoadNormal(String* name, JSObject* receiver); 78 static Object* ComputeLoadNormal(String* name, JSObject* receiver);
79 79
80 80
81 static Object* ComputeLoadGlobal(String* name, 81 static Object* ComputeLoadGlobal(String* name,
82 GlobalObject* receiver, 82 JSObject* receiver,
83 GlobalObject* holder,
83 JSGlobalPropertyCell* cell, 84 JSGlobalPropertyCell* cell,
84 bool is_dont_delete); 85 bool is_dont_delete);
85 86
86 87
87 // --- 88 // ---
88 89
89 static Object* ComputeKeyedLoadField(String* name, 90 static Object* ComputeKeyedLoadField(String* name,
90 JSObject* receiver, 91 JSObject* receiver,
91 JSObject* holder, 92 JSObject* holder,
92 int field_index); 93 int field_index);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 JSObject* receiver); 158 JSObject* receiver);
158 159
159 static Object* ComputeCallInterceptor(int argc, 160 static Object* ComputeCallInterceptor(int argc,
160 String* name, 161 String* name,
161 Object* object, 162 Object* object,
162 JSObject* holder); 163 JSObject* holder);
163 164
164 static Object* ComputeCallGlobal(int argc, 165 static Object* ComputeCallGlobal(int argc,
165 InLoopFlag in_loop, 166 InLoopFlag in_loop,
166 String* name, 167 String* name,
167 GlobalObject* receiver, 168 JSObject* receiver,
169 GlobalObject* holder,
168 JSGlobalPropertyCell* cell, 170 JSGlobalPropertyCell* cell,
169 JSFunction* function); 171 JSFunction* function);
170 172
171 // --- 173 // ---
172 174
173 static Object* ComputeCallInitialize(int argc, InLoopFlag in_loop); 175 static Object* ComputeCallInitialize(int argc, InLoopFlag in_loop);
174 static Object* ComputeCallPreMonomorphic(int argc, InLoopFlag in_loop); 176 static Object* ComputeCallPreMonomorphic(int argc, InLoopFlag in_loop);
175 static Object* ComputeCallNormal(int argc, InLoopFlag in_loop); 177 static Object* ComputeCallNormal(int argc, InLoopFlag in_loop);
176 static Object* ComputeCallMegamorphic(int argc, InLoopFlag in_loop); 178 static Object* ComputeCallMegamorphic(int argc, InLoopFlag in_loop);
177 static Object* ComputeCallMiss(int argc); 179 static Object* ComputeCallMiss(int argc);
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 AccessorInfo* callback, 430 AccessorInfo* callback,
429 String* name); 431 String* name);
430 Object* CompileLoadConstant(JSObject* object, 432 Object* CompileLoadConstant(JSObject* object,
431 JSObject* holder, 433 JSObject* holder,
432 Object* value, 434 Object* value,
433 String* name); 435 String* name);
434 Object* CompileLoadInterceptor(JSObject* object, 436 Object* CompileLoadInterceptor(JSObject* object,
435 JSObject* holder, 437 JSObject* holder,
436 String* name); 438 String* name);
437 439
438 Object* CompileLoadGlobal(GlobalObject* object, 440 Object* CompileLoadGlobal(JSObject* object,
441 GlobalObject* holder,
439 JSGlobalPropertyCell* holder, 442 JSGlobalPropertyCell* holder,
440 String* name, 443 String* name,
441 bool is_dont_delete); 444 bool is_dont_delete);
442 445
443 private: 446 private:
444 Object* GetCode(PropertyType type, String* name); 447 Object* GetCode(PropertyType type, String* name);
445 }; 448 };
446 449
447 450
448 class KeyedLoadStubCompiler: public StubCompiler { 451 class KeyedLoadStubCompiler: public StubCompiler {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 JSObject* holder, 515 JSObject* holder,
513 int index, 516 int index,
514 String* name); 517 String* name);
515 Object* CompileCallConstant(Object* object, 518 Object* CompileCallConstant(Object* object,
516 JSObject* holder, 519 JSObject* holder,
517 JSFunction* function, 520 JSFunction* function,
518 CheckType check); 521 CheckType check);
519 Object* CompileCallInterceptor(Object* object, 522 Object* CompileCallInterceptor(Object* object,
520 JSObject* holder, 523 JSObject* holder,
521 String* name); 524 String* name);
522 Object* CompileCallGlobal(GlobalObject* object, 525 Object* CompileCallGlobal(JSObject* object,
526 GlobalObject* holder,
523 JSGlobalPropertyCell* cell, 527 JSGlobalPropertyCell* cell,
524 JSFunction* function, 528 JSFunction* function,
525 String* name); 529 String* name);
526 530
527 private: 531 private:
528 const ParameterCount arguments_; 532 const ParameterCount arguments_;
529 const InLoopFlag in_loop_; 533 const InLoopFlag in_loop_;
530 534
531 const ParameterCount& arguments() { return arguments_; } 535 const ParameterCount& arguments() { return arguments_; }
532 536
533 Object* GetCode(PropertyType type, String* name); 537 Object* GetCode(PropertyType type, String* name);
534 }; 538 };
535 539
536 540
537 } } // namespace v8::internal 541 } } // namespace v8::internal
538 542
539 #endif // V8_STUB_CACHE_H_ 543 #endif // V8_STUB_CACHE_H_
OLDNEW
« src/arm/stub-cache-arm.cc ('K') | « src/ic.cc ('k') | src/stub-cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698