OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |