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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 | 91 |
92 static Object* ComputeKeyedLoadConstant(String* name, JSObject* receiver, | 92 static Object* ComputeKeyedLoadConstant(String* name, JSObject* receiver, |
93 JSObject* holder, Object* value); | 93 JSObject* holder, Object* value); |
94 | 94 |
95 static Object* ComputeKeyedLoadInterceptor(String* name, | 95 static Object* ComputeKeyedLoadInterceptor(String* name, |
96 JSObject* receiver, | 96 JSObject* receiver, |
97 JSObject* holder); | 97 JSObject* holder); |
98 | 98 |
99 static Object* ComputeKeyedLoadArrayLength(String* name, JSArray* receiver); | 99 static Object* ComputeKeyedLoadArrayLength(String* name, JSArray* receiver); |
100 | 100 |
101 static Object* ComputeKeyedLoadShortStringLength(String* name, | 101 static Object* ComputeKeyedLoadStringLength(String* name, |
102 String* receiver); | 102 String* receiver); |
103 | |
104 static Object* ComputeKeyedLoadMediumStringLength(String* name, | |
105 String* receiver); | |
106 | |
107 static Object* ComputeKeyedLoadLongStringLength(String* name, | |
108 String* receiver); | |
109 | 103 |
110 static Object* ComputeKeyedLoadFunctionPrototype(String* name, | 104 static Object* ComputeKeyedLoadFunctionPrototype(String* name, |
111 JSFunction* receiver); | 105 JSFunction* receiver); |
112 | 106 |
113 // --- | 107 // --- |
114 | 108 |
115 static Object* ComputeStoreField(String* name, | 109 static Object* ComputeStoreField(String* name, |
116 JSObject* receiver, | 110 JSObject* receiver, |
117 int field_index, | 111 int field_index, |
118 Map* transition = NULL); | 112 Map* transition = NULL); |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 JSObject* holder, | 328 JSObject* holder, |
335 Register receiver, | 329 Register receiver, |
336 Register name, | 330 Register name, |
337 Register scratch1, | 331 Register scratch1, |
338 Register scratch2, | 332 Register scratch2, |
339 Label* miss_label); | 333 Label* miss_label); |
340 static void GenerateLoadArrayLength(MacroAssembler* masm, | 334 static void GenerateLoadArrayLength(MacroAssembler* masm, |
341 Register receiver, | 335 Register receiver, |
342 Register scratch, | 336 Register scratch, |
343 Label* miss_label); | 337 Label* miss_label); |
344 static void GenerateLoadShortStringLength(MacroAssembler* masm, | 338 static void GenerateLoadStringLength(MacroAssembler* masm, |
345 Register receiver, | 339 Register receiver, |
346 Register scratch, | 340 Register scratch, |
347 Label* miss_label); | 341 Label* miss_label); |
348 static void GenerateLoadMediumStringLength(MacroAssembler* masm, | |
349 Register receiver, | |
350 Register scratch, | |
351 Label* miss_label); | |
352 static void GenerateLoadLongStringLength(MacroAssembler* masm, | |
353 Register receiver, | |
354 Register scratch, | |
355 Label* miss_label); | |
356 static void GenerateLoadFunctionPrototype(MacroAssembler* masm, | 342 static void GenerateLoadFunctionPrototype(MacroAssembler* masm, |
357 Register receiver, | 343 Register receiver, |
358 Register scratch1, | 344 Register scratch1, |
359 Register scratch2, | 345 Register scratch2, |
360 Label* miss_label); | 346 Label* miss_label); |
361 static void GenerateStoreField(MacroAssembler* masm, | 347 static void GenerateStoreField(MacroAssembler* masm, |
362 Builtins::Name storage_extend, | 348 Builtins::Name storage_extend, |
363 JSObject* object, | 349 JSObject* object, |
364 int index, | 350 int index, |
365 Map* transition, | 351 Map* transition, |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 JSObject* holder, | 394 JSObject* holder, |
409 AccessorInfo* callback); | 395 AccessorInfo* callback); |
410 Object* CompileLoadConstant(String* name, | 396 Object* CompileLoadConstant(String* name, |
411 JSObject* object, | 397 JSObject* object, |
412 JSObject* holder, | 398 JSObject* holder, |
413 Object* value); | 399 Object* value); |
414 Object* CompileLoadInterceptor(JSObject* object, | 400 Object* CompileLoadInterceptor(JSObject* object, |
415 JSObject* holder, | 401 JSObject* holder, |
416 String* name); | 402 String* name); |
417 Object* CompileLoadArrayLength(String* name); | 403 Object* CompileLoadArrayLength(String* name); |
418 Object* CompileLoadShortStringLength(String* name); | 404 Object* CompileLoadStringLength(String* name); |
419 Object* CompileLoadMediumStringLength(String* name); | |
420 Object* CompileLoadLongStringLength(String* name); | |
421 Object* CompileLoadFunctionPrototype(String* name); | 405 Object* CompileLoadFunctionPrototype(String* name); |
422 | 406 |
423 private: | 407 private: |
424 Object* GetCode(PropertyType); | 408 Object* GetCode(PropertyType); |
425 }; | 409 }; |
426 | 410 |
427 | 411 |
428 class StoreStubCompiler: public StubCompiler { | 412 class StoreStubCompiler: public StubCompiler { |
429 public: | 413 public: |
430 Object* CompileStoreField(JSObject* object, | 414 Object* CompileStoreField(JSObject* object, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 | 455 |
472 const ParameterCount& arguments() { return arguments_; } | 456 const ParameterCount& arguments() { return arguments_; } |
473 | 457 |
474 Object* GetCode(PropertyType type); | 458 Object* GetCode(PropertyType type); |
475 }; | 459 }; |
476 | 460 |
477 | 461 |
478 } } // namespace v8::internal | 462 } } // namespace v8::internal |
479 | 463 |
480 #endif // V8_STUB_CACHE_H_ | 464 #endif // V8_STUB_CACHE_H_ |
OLD | NEW |