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

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

Issue 151146: Treat the builtins object like other global objects (with... (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
« no previous file with comments | « src/runtime.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 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 JSGlobalObject* receiver, 82 GlobalObject* receiver,
83 JSGlobalPropertyCell* cell, 83 JSGlobalPropertyCell* cell,
84 bool is_dont_delete); 84 bool is_dont_delete);
85 85
86 86
87 // --- 87 // ---
88 88
89 static Object* ComputeKeyedLoadField(String* name, 89 static Object* ComputeKeyedLoadField(String* name,
90 JSObject* receiver, 90 JSObject* receiver,
91 JSObject* holder, 91 JSObject* holder,
92 int field_index); 92 int field_index);
(...skipping 19 matching lines...) Expand all
112 JSFunction* receiver); 112 JSFunction* receiver);
113 113
114 // --- 114 // ---
115 115
116 static Object* ComputeStoreField(String* name, 116 static Object* ComputeStoreField(String* name,
117 JSObject* receiver, 117 JSObject* receiver,
118 int field_index, 118 int field_index,
119 Map* transition = NULL); 119 Map* transition = NULL);
120 120
121 static Object* ComputeStoreGlobal(String* name, 121 static Object* ComputeStoreGlobal(String* name,
122 JSGlobalObject* receiver, 122 GlobalObject* receiver,
123 JSGlobalPropertyCell* cell); 123 JSGlobalPropertyCell* cell);
124 124
125 static Object* ComputeStoreCallback(String* name, 125 static Object* ComputeStoreCallback(String* name,
126 JSObject* receiver, 126 JSObject* receiver,
127 AccessorInfo* callback); 127 AccessorInfo* callback);
128 128
129 static Object* ComputeStoreInterceptor(String* name, JSObject* receiver); 129 static Object* ComputeStoreInterceptor(String* name, JSObject* receiver);
130 130
131 // --- 131 // ---
132 132
(...skipping 24 matching lines...) Expand all
157 JSObject* receiver); 157 JSObject* receiver);
158 158
159 static Object* ComputeCallInterceptor(int argc, 159 static Object* ComputeCallInterceptor(int argc,
160 String* name, 160 String* name,
161 Object* object, 161 Object* object,
162 JSObject* holder); 162 JSObject* holder);
163 163
164 static Object* ComputeCallGlobal(int argc, 164 static Object* ComputeCallGlobal(int argc,
165 InLoopFlag in_loop, 165 InLoopFlag in_loop,
166 String* name, 166 String* name,
167 JSGlobalObject* receiver, 167 GlobalObject* receiver,
168 JSGlobalPropertyCell* cell, 168 JSGlobalPropertyCell* cell,
169 JSFunction* function); 169 JSFunction* function);
170 170
171 // --- 171 // ---
172 172
173 static Object* ComputeCallInitialize(int argc, InLoopFlag in_loop); 173 static Object* ComputeCallInitialize(int argc, InLoopFlag in_loop);
174 static Object* ComputeCallPreMonomorphic(int argc, InLoopFlag in_loop); 174 static Object* ComputeCallPreMonomorphic(int argc, InLoopFlag in_loop);
175 static Object* ComputeCallNormal(int argc, InLoopFlag in_loop); 175 static Object* ComputeCallNormal(int argc, InLoopFlag in_loop);
176 static Object* ComputeCallMegamorphic(int argc, InLoopFlag in_loop); 176 static Object* ComputeCallMegamorphic(int argc, InLoopFlag in_loop);
177 static Object* ComputeCallMiss(int argc); 177 static Object* ComputeCallMiss(int argc);
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 AccessorInfo* callback, 426 AccessorInfo* callback,
427 String* name); 427 String* name);
428 Object* CompileLoadConstant(JSObject* object, 428 Object* CompileLoadConstant(JSObject* object,
429 JSObject* holder, 429 JSObject* holder,
430 Object* value, 430 Object* value,
431 String* name); 431 String* name);
432 Object* CompileLoadInterceptor(JSObject* object, 432 Object* CompileLoadInterceptor(JSObject* object,
433 JSObject* holder, 433 JSObject* holder,
434 String* name); 434 String* name);
435 435
436 Object* CompileLoadGlobal(JSGlobalObject* object, 436 Object* CompileLoadGlobal(GlobalObject* object,
437 JSGlobalPropertyCell* holder, 437 JSGlobalPropertyCell* holder,
438 String* name, 438 String* name,
439 bool is_dont_delete); 439 bool is_dont_delete);
440 440
441 private: 441 private:
442 Object* GetCode(PropertyType type, String* name); 442 Object* GetCode(PropertyType type, String* name);
443 }; 443 };
444 444
445 445
446 class KeyedLoadStubCompiler: public StubCompiler { 446 class KeyedLoadStubCompiler: public StubCompiler {
(...skipping 25 matching lines...) Expand all
472 class StoreStubCompiler: public StubCompiler { 472 class StoreStubCompiler: public StubCompiler {
473 public: 473 public:
474 Object* CompileStoreField(JSObject* object, 474 Object* CompileStoreField(JSObject* object,
475 int index, 475 int index,
476 Map* transition, 476 Map* transition,
477 String* name); 477 String* name);
478 Object* CompileStoreCallback(JSObject* object, 478 Object* CompileStoreCallback(JSObject* object,
479 AccessorInfo* callbacks, 479 AccessorInfo* callbacks,
480 String* name); 480 String* name);
481 Object* CompileStoreInterceptor(JSObject* object, String* name); 481 Object* CompileStoreInterceptor(JSObject* object, String* name);
482 Object* CompileStoreGlobal(JSGlobalObject* object, 482 Object* CompileStoreGlobal(GlobalObject* object,
483 JSGlobalPropertyCell* holder, 483 JSGlobalPropertyCell* holder,
484 String* name); 484 String* name);
485 485
486 486
487 private: 487 private:
488 Object* GetCode(PropertyType type, String* name); 488 Object* GetCode(PropertyType type, String* name);
489 }; 489 };
490 490
491 491
492 class KeyedStoreStubCompiler: public StubCompiler { 492 class KeyedStoreStubCompiler: public StubCompiler {
(...skipping 17 matching lines...) Expand all
510 JSObject* holder, 510 JSObject* holder,
511 int index, 511 int index,
512 String* name); 512 String* name);
513 Object* CompileCallConstant(Object* object, 513 Object* CompileCallConstant(Object* object,
514 JSObject* holder, 514 JSObject* holder,
515 JSFunction* function, 515 JSFunction* function,
516 CheckType check); 516 CheckType check);
517 Object* CompileCallInterceptor(Object* object, 517 Object* CompileCallInterceptor(Object* object,
518 JSObject* holder, 518 JSObject* holder,
519 String* name); 519 String* name);
520 Object* CompileCallGlobal(JSGlobalObject* object, 520 Object* CompileCallGlobal(GlobalObject* object,
521 JSGlobalPropertyCell* cell, 521 JSGlobalPropertyCell* cell,
522 JSFunction* function, 522 JSFunction* function,
523 String* name); 523 String* name);
524 524
525 private: 525 private:
526 const ParameterCount arguments_; 526 const ParameterCount arguments_;
527 const InLoopFlag in_loop_; 527 const InLoopFlag in_loop_;
528 528
529 const ParameterCount& arguments() { return arguments_; } 529 const ParameterCount& arguments() { return arguments_; }
530 530
531 Object* GetCode(PropertyType type, String* name); 531 Object* GetCode(PropertyType type, String* name);
532 }; 532 };
533 533
534 534
535 } } // namespace v8::internal 535 } } // namespace v8::internal
536 536
537 #endif // V8_STUB_CACHE_H_ 537 #endif // V8_STUB_CACHE_H_
OLDNEW
« no previous file with comments | « src/runtime.cc ('k') | src/stub-cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698