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

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

Issue 8187: Serendipitously arrange the tags so that String.length() becomes a branch-fre... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 12 years, 1 month 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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698