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

Side by Side Diff: src/ic.h

Issue 177683002: Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 9 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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 // Code generator routines. 408 // Code generator routines.
409 static void GenerateMiss(MacroAssembler* masm); 409 static void GenerateMiss(MacroAssembler* masm);
410 static void GenerateRuntimeGetProperty(MacroAssembler* masm); 410 static void GenerateRuntimeGetProperty(MacroAssembler* masm);
411 static void GenerateInitialize(MacroAssembler* masm) { GenerateMiss(masm); } 411 static void GenerateInitialize(MacroAssembler* masm) { GenerateMiss(masm); }
412 static void GeneratePreMonomorphic(MacroAssembler* masm) { 412 static void GeneratePreMonomorphic(MacroAssembler* masm) {
413 GenerateMiss(masm); 413 GenerateMiss(masm);
414 } 414 }
415 static void GenerateGeneric(MacroAssembler* masm); 415 static void GenerateGeneric(MacroAssembler* masm);
416 static void GenerateString(MacroAssembler* masm); 416 static void GenerateString(MacroAssembler* masm);
417 static void GenerateIndexedInterceptor(MacroAssembler* masm); 417 static void GenerateIndexedInterceptor(MacroAssembler* masm);
418 static void GenerateNonStrictArguments(MacroAssembler* masm); 418 static void GenerateSloppyArguments(MacroAssembler* masm);
419 419
420 // Bit mask to be tested against bit field for the cases when 420 // Bit mask to be tested against bit field for the cases when
421 // generic stub should go into slow case. 421 // generic stub should go into slow case.
422 // Access check is necessary explicitly since generic stub does not perform 422 // Access check is necessary explicitly since generic stub does not perform
423 // map checks. 423 // map checks.
424 static const int kSlowCaseBitFieldMask = 424 static const int kSlowCaseBitFieldMask =
425 (1 << Map::kIsAccessCheckNeeded) | (1 << Map::kHasIndexedInterceptor); 425 (1 << Map::kIsAccessCheckNeeded) | (1 << Map::kHasIndexedInterceptor);
426 426
427 protected: 427 protected:
428 virtual Code::Kind kind() const { return Code::KEYED_LOAD_IC; } 428 virtual Code::Kind kind() const { return Code::KEYED_LOAD_IC; }
(...skipping 16 matching lines...) Expand all
445 // Stub accessors. 445 // Stub accessors.
446 static Handle<Code> pre_monomorphic_stub(Isolate* isolate) { 446 static Handle<Code> pre_monomorphic_stub(Isolate* isolate) {
447 return isolate->builtins()->KeyedLoadIC_PreMonomorphic(); 447 return isolate->builtins()->KeyedLoadIC_PreMonomorphic();
448 } 448 }
449 virtual Handle<Code> pre_monomorphic_stub() { 449 virtual Handle<Code> pre_monomorphic_stub() {
450 return pre_monomorphic_stub(isolate()); 450 return pre_monomorphic_stub(isolate());
451 } 451 }
452 Handle<Code> indexed_interceptor_stub() { 452 Handle<Code> indexed_interceptor_stub() {
453 return isolate()->builtins()->KeyedLoadIC_IndexedInterceptor(); 453 return isolate()->builtins()->KeyedLoadIC_IndexedInterceptor();
454 } 454 }
455 Handle<Code> non_strict_arguments_stub() { 455 Handle<Code> sloppy_arguments_stub() {
456 return isolate()->builtins()->KeyedLoadIC_NonStrictArguments(); 456 return isolate()->builtins()->KeyedLoadIC_SloppyArguments();
457 } 457 }
458 Handle<Code> string_stub() { 458 Handle<Code> string_stub() {
459 return isolate()->builtins()->KeyedLoadIC_String(); 459 return isolate()->builtins()->KeyedLoadIC_String();
460 } 460 }
461 461
462 static void Clear(Isolate* isolate, Address address, Code* target); 462 static void Clear(Isolate* isolate, Address address, Code* target);
463 463
464 friend class IC; 464 friend class IC;
465 }; 465 };
466 466
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 // Code generators for stub routines. Only called once at startup. 598 // Code generators for stub routines. Only called once at startup.
599 static void GenerateInitialize(MacroAssembler* masm) { GenerateMiss(masm); } 599 static void GenerateInitialize(MacroAssembler* masm) { GenerateMiss(masm); }
600 static void GeneratePreMonomorphic(MacroAssembler* masm) { 600 static void GeneratePreMonomorphic(MacroAssembler* masm) {
601 GenerateMiss(masm); 601 GenerateMiss(masm);
602 } 602 }
603 static void GenerateMiss(MacroAssembler* masm); 603 static void GenerateMiss(MacroAssembler* masm);
604 static void GenerateSlow(MacroAssembler* masm); 604 static void GenerateSlow(MacroAssembler* masm);
605 static void GenerateRuntimeSetProperty(MacroAssembler* masm, 605 static void GenerateRuntimeSetProperty(MacroAssembler* masm,
606 StrictModeFlag strict_mode); 606 StrictModeFlag strict_mode);
607 static void GenerateGeneric(MacroAssembler* masm, StrictModeFlag strict_mode); 607 static void GenerateGeneric(MacroAssembler* masm, StrictModeFlag strict_mode);
608 static void GenerateNonStrictArguments(MacroAssembler* masm); 608 static void GenerateSloppyArguments(MacroAssembler* masm);
609 609
610 protected: 610 protected:
611 virtual Code::Kind kind() const { return Code::KEYED_STORE_IC; } 611 virtual Code::Kind kind() const { return Code::KEYED_STORE_IC; }
612 612
613 virtual void UpdateMegamorphicCache(HeapType* type, Name* name, Code* code) {} 613 virtual void UpdateMegamorphicCache(HeapType* type, Name* name, Code* code) {}
614 614
615 virtual Handle<Code> pre_monomorphic_stub() { 615 virtual Handle<Code> pre_monomorphic_stub() {
616 return pre_monomorphic_stub(isolate(), strict_mode()); 616 return pre_monomorphic_stub(isolate(), strict_mode());
617 } 617 }
618 static Handle<Code> pre_monomorphic_stub(Isolate* isolate, 618 static Handle<Code> pre_monomorphic_stub(Isolate* isolate,
(...skipping 27 matching lines...) Expand all
646 646
647 // Stub accessors. 647 // Stub accessors.
648 virtual Handle<Code> generic_stub() const { 648 virtual Handle<Code> generic_stub() const {
649 if (strict_mode() == kStrictMode) { 649 if (strict_mode() == kStrictMode) {
650 return isolate()->builtins()->KeyedStoreIC_Generic_Strict(); 650 return isolate()->builtins()->KeyedStoreIC_Generic_Strict();
651 } else { 651 } else {
652 return isolate()->builtins()->KeyedStoreIC_Generic(); 652 return isolate()->builtins()->KeyedStoreIC_Generic();
653 } 653 }
654 } 654 }
655 655
656 Handle<Code> non_strict_arguments_stub() { 656 Handle<Code> sloppy_arguments_stub() {
657 return isolate()->builtins()->KeyedStoreIC_NonStrictArguments(); 657 return isolate()->builtins()->KeyedStoreIC_SloppyArguments();
658 } 658 }
659 659
660 static void Clear(Isolate* isolate, Address address, Code* target); 660 static void Clear(Isolate* isolate, Address address, Code* target);
661 661
662 KeyedAccessStoreMode GetStoreMode(Handle<JSObject> receiver, 662 KeyedAccessStoreMode GetStoreMode(Handle<JSObject> receiver,
663 Handle<Object> key, 663 Handle<Object> key,
664 Handle<Object> value); 664 Handle<Object> value);
665 665
666 Handle<Map> ComputeTransitionedMap(Handle<JSObject> receiver, 666 Handle<Map> ComputeTransitionedMap(Handle<JSObject> receiver,
667 KeyedAccessStoreMode store_mode); 667 KeyedAccessStoreMode store_mode);
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ElementsTransitionAndStoreIC_Miss); 906 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ElementsTransitionAndStoreIC_Miss);
907 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_Miss); 907 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_Miss);
908 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_MissWithAllocationSite); 908 DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_MissWithAllocationSite);
909 DECLARE_RUNTIME_FUNCTION(MaybeObject*, CompareNilIC_Miss); 909 DECLARE_RUNTIME_FUNCTION(MaybeObject*, CompareNilIC_Miss);
910 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ToBooleanIC_Miss); 910 DECLARE_RUNTIME_FUNCTION(MaybeObject*, ToBooleanIC_Miss);
911 911
912 912
913 } } // namespace v8::internal 913 } } // namespace v8::internal
914 914
915 #endif // V8_IC_H_ 915 #endif // V8_IC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698