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

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

Issue 151019: Changed the global object representation (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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 JSObject* holder, 71 JSObject* holder,
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,
82 JSGlobalObject* receiver,
83 JSGlobalPropertyCell* cell);
84
85
81 // --- 86 // ---
82 87
83 static Object* ComputeKeyedLoadField(String* name, 88 static Object* ComputeKeyedLoadField(String* name,
84 JSObject* receiver, 89 JSObject* receiver,
85 JSObject* holder, 90 JSObject* holder,
86 int field_index); 91 int field_index);
87 92
88 static Object* ComputeKeyedLoadCallback(String* name, 93 static Object* ComputeKeyedLoadCallback(String* name,
89 JSObject* receiver, 94 JSObject* receiver,
90 JSObject* holder, 95 JSObject* holder,
(...skipping 14 matching lines...) Expand all
105 static Object* ComputeKeyedLoadFunctionPrototype(String* name, 110 static Object* ComputeKeyedLoadFunctionPrototype(String* name,
106 JSFunction* receiver); 111 JSFunction* receiver);
107 112
108 // --- 113 // ---
109 114
110 static Object* ComputeStoreField(String* name, 115 static Object* ComputeStoreField(String* name,
111 JSObject* receiver, 116 JSObject* receiver,
112 int field_index, 117 int field_index,
113 Map* transition = NULL); 118 Map* transition = NULL);
114 119
120 static Object* ComputeStoreGlobal(String* name,
121 JSGlobalObject* receiver,
122 JSGlobalPropertyCell* cell);
123
115 static Object* ComputeStoreCallback(String* name, 124 static Object* ComputeStoreCallback(String* name,
116 JSObject* receiver, 125 JSObject* receiver,
117 AccessorInfo* callback); 126 AccessorInfo* callback);
118 127
119 static Object* ComputeStoreInterceptor(String* name, JSObject* receiver); 128 static Object* ComputeStoreInterceptor(String* name, JSObject* receiver);
120 129
121 // --- 130 // ---
122 131
123 static Object* ComputeKeyedStoreField(String* name, 132 static Object* ComputeKeyedStoreField(String* name,
124 JSObject* receiver, 133 JSObject* receiver,
(...skipping 19 matching lines...) Expand all
144 static Object* ComputeCallNormal(int argc, 153 static Object* ComputeCallNormal(int argc,
145 InLoopFlag in_loop, 154 InLoopFlag in_loop,
146 String* name, 155 String* name,
147 JSObject* receiver); 156 JSObject* receiver);
148 157
149 static Object* ComputeCallInterceptor(int argc, 158 static Object* ComputeCallInterceptor(int argc,
150 String* name, 159 String* name,
151 Object* object, 160 Object* object,
152 JSObject* holder); 161 JSObject* holder);
153 162
163 static Object* ComputeCallGlobal(int argc,
164 InLoopFlag in_loop,
165 String* name,
166 JSGlobalObject* receiver,
167 JSGlobalPropertyCell* cell,
168 JSFunction* function);
169
154 // --- 170 // ---
155 171
156 static Object* ComputeCallInitialize(int argc, InLoopFlag in_loop); 172 static Object* ComputeCallInitialize(int argc, InLoopFlag in_loop);
157 static Object* ComputeCallPreMonomorphic(int argc, InLoopFlag in_loop); 173 static Object* ComputeCallPreMonomorphic(int argc, InLoopFlag in_loop);
158 static Object* ComputeCallNormal(int argc, InLoopFlag in_loop); 174 static Object* ComputeCallNormal(int argc, InLoopFlag in_loop);
159 static Object* ComputeCallMegamorphic(int argc, InLoopFlag in_loop); 175 static Object* ComputeCallMegamorphic(int argc, InLoopFlag in_loop);
160 static Object* ComputeCallMiss(int argc); 176 static Object* ComputeCallMiss(int argc);
161 177
162 // Finds the Code object stored in the Heap::non_monomorphic_cache(). 178 // Finds the Code object stored in the Heap::non_monomorphic_cache().
163 static Code* FindCallInitialize(int argc, InLoopFlag in_loop); 179 static Code* FindCallInitialize(int argc, InLoopFlag in_loop);
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 AccessorInfo* callback, 425 AccessorInfo* callback,
410 String* name); 426 String* name);
411 Object* CompileLoadConstant(JSObject* object, 427 Object* CompileLoadConstant(JSObject* object,
412 JSObject* holder, 428 JSObject* holder,
413 Object* value, 429 Object* value,
414 String* name); 430 String* name);
415 Object* CompileLoadInterceptor(JSObject* object, 431 Object* CompileLoadInterceptor(JSObject* object,
416 JSObject* holder, 432 JSObject* holder,
417 String* name); 433 String* name);
418 434
435 Object* CompileLoadGlobal(JSGlobalObject* object,
436 JSGlobalPropertyCell* holder,
437 String* name);
438
419 private: 439 private:
420 Object* GetCode(PropertyType type, String* name); 440 Object* GetCode(PropertyType type, String* name);
421 }; 441 };
422 442
423 443
424 class KeyedLoadStubCompiler: public StubCompiler { 444 class KeyedLoadStubCompiler: public StubCompiler {
425 public: 445 public:
426 Object* CompileLoadField(String* name, 446 Object* CompileLoadField(String* name,
427 JSObject* object, 447 JSObject* object,
428 JSObject* holder, 448 JSObject* holder,
(...skipping 21 matching lines...) Expand all
450 class StoreStubCompiler: public StubCompiler { 470 class StoreStubCompiler: public StubCompiler {
451 public: 471 public:
452 Object* CompileStoreField(JSObject* object, 472 Object* CompileStoreField(JSObject* object,
453 int index, 473 int index,
454 Map* transition, 474 Map* transition,
455 String* name); 475 String* name);
456 Object* CompileStoreCallback(JSObject* object, 476 Object* CompileStoreCallback(JSObject* object,
457 AccessorInfo* callbacks, 477 AccessorInfo* callbacks,
458 String* name); 478 String* name);
459 Object* CompileStoreInterceptor(JSObject* object, String* name); 479 Object* CompileStoreInterceptor(JSObject* object, String* name);
480 Object* CompileStoreGlobal(JSGlobalObject* object,
481 JSGlobalPropertyCell* holder,
482 String* name);
483
460 484
461 private: 485 private:
462 Object* GetCode(PropertyType type, String* name); 486 Object* GetCode(PropertyType type, String* name);
463 }; 487 };
464 488
465 489
466 class KeyedStoreStubCompiler: public StubCompiler { 490 class KeyedStoreStubCompiler: public StubCompiler {
467 public: 491 public:
468 Object* CompileStoreField(JSObject* object, 492 Object* CompileStoreField(JSObject* object,
469 int index, 493 int index,
(...skipping 15 matching lines...) Expand all
485 String* name, 509 String* name,
486 Code::Flags flags); 510 Code::Flags flags);
487 Object* CompileCallConstant(Object* object, 511 Object* CompileCallConstant(Object* object,
488 JSObject* holder, 512 JSObject* holder,
489 JSFunction* function, 513 JSFunction* function,
490 CheckType check, 514 CheckType check,
491 Code::Flags flags); 515 Code::Flags flags);
492 Object* CompileCallInterceptor(Object* object, 516 Object* CompileCallInterceptor(Object* object,
493 JSObject* holder, 517 JSObject* holder,
494 String* name); 518 String* name);
519 Object* CompileCallGlobal(JSGlobalObject* object,
520 JSGlobalPropertyCell* cell,
521 JSFunction* function,
522 String* name);
495 523
496 private: 524 private:
497 const ParameterCount arguments_; 525 const ParameterCount arguments_;
498 526
499 const ParameterCount& arguments() { return arguments_; } 527 const ParameterCount& arguments() { return arguments_; }
500 528
501 Object* GetCode(PropertyType type, String* name); 529 Object* GetCode(PropertyType type, String* name);
502 }; 530 };
503 531
504 532
505 } } // namespace v8::internal 533 } } // namespace v8::internal
506 534
507 #endif // V8_STUB_CACHE_H_ 535 #endif // V8_STUB_CACHE_H_
OLDNEW
« no previous file with comments | « src/runtime.cc ('k') | src/stub-cache.cc » ('j') | test/cctest/test-api.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698