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

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

Issue 573003: ia32: Fuse map and type checks in call ICs for API functions. (Closed)
Patch Set: Rewrote a comment. Created 10 years, 10 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
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 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 static void GenerateLoadMiss(MacroAssembler* masm, Code::Kind kind); 380 static void GenerateLoadMiss(MacroAssembler* masm, Code::Kind kind);
381 381
382 // Check the integrity of the prototype chain to make sure that the 382 // Check the integrity of the prototype chain to make sure that the
383 // current IC is still valid. 383 // current IC is still valid.
384 Register CheckPrototypes(JSObject* object, 384 Register CheckPrototypes(JSObject* object,
385 Register object_reg, 385 Register object_reg,
386 JSObject* holder, 386 JSObject* holder,
387 Register holder_reg, 387 Register holder_reg,
388 Register scratch, 388 Register scratch,
389 String* name, 389 String* name,
390 Label* miss) {
391 return CheckPrototypes(object, object_reg, holder, holder_reg, scratch,
392 name, kInvalidProtoDepth, miss);
393 }
394 Register CheckPrototypes(JSObject* object,
Mads Ager (chromium) 2010/02/08 08:56:58 Add vertical space between the function declaratio
Vitaly Repeshko 2010/02/09 16:15:24 Done.
395 Register object_reg,
396 JSObject* holder,
397 Register holder_reg,
398 Register scratch,
399 String* name,
400 int save_at_depth,
390 Label* miss); 401 Label* miss);
391 402
392 protected: 403 protected:
393 Object* GetCodeWithFlags(Code::Flags flags, const char* name); 404 Object* GetCodeWithFlags(Code::Flags flags, const char* name);
394 Object* GetCodeWithFlags(Code::Flags flags, String* name); 405 Object* GetCodeWithFlags(Code::Flags flags, String* name);
395 406
396 MacroAssembler* masm() { return &masm_; } 407 MacroAssembler* masm() { return &masm_; }
397 void set_failure(Failure* failure) { failure_ = failure; } 408 void set_failure(Failure* failure) { failure_ = failure; }
398 409
399 void GenerateLoadField(JSObject* object, 410 void GenerateLoadField(JSObject* object,
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 Object* CompileConstructStub(SharedFunctionInfo* shared); 584 Object* CompileConstructStub(SharedFunctionInfo* shared);
574 585
575 private: 586 private:
576 Object* GetCode(); 587 Object* GetCode();
577 }; 588 };
578 589
579 590
580 } } // namespace v8::internal 591 } } // namespace v8::internal
581 592
582 #endif // V8_STUB_CACHE_H_ 593 #endif // V8_STUB_CACHE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698