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

Side by Side Diff: src/x64/stub-cache-x64.cc

Issue 91803003: Move responsibility for definition of ExtraICState bits into the ICs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: A couple more nits. Created 7 years 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
« no previous file with comments | « src/x64/ic-x64.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 622 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 return_value_operand, 633 return_value_operand,
634 restore_context ? &context_restore_operand : NULL); 634 restore_context ? &context_restore_operand : NULL);
635 } 635 }
636 636
637 637
638 class CallInterceptorCompiler BASE_EMBEDDED { 638 class CallInterceptorCompiler BASE_EMBEDDED {
639 public: 639 public:
640 CallInterceptorCompiler(StubCompiler* stub_compiler, 640 CallInterceptorCompiler(StubCompiler* stub_compiler,
641 const ParameterCount& arguments, 641 const ParameterCount& arguments,
642 Register name, 642 Register name,
643 Code::ExtraICState extra_ic_state) 643 ExtraICState extra_ic_state)
644 : stub_compiler_(stub_compiler), 644 : stub_compiler_(stub_compiler),
645 arguments_(arguments), 645 arguments_(arguments),
646 name_(name), 646 name_(name),
647 extra_ic_state_(extra_ic_state) {} 647 extra_ic_state_(extra_ic_state) {}
648 648
649 void Compile(MacroAssembler* masm, 649 void Compile(MacroAssembler* masm,
650 Handle<JSObject> object, 650 Handle<JSObject> object,
651 Handle<JSObject> holder, 651 Handle<JSObject> holder,
652 Handle<Name> name, 652 Handle<Name> name,
653 LookupResult* lookup, 653 LookupResult* lookup,
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 // Leave the internal frame. 818 // Leave the internal frame.
819 } 819 }
820 820
821 __ CompareRoot(rax, Heap::kNoInterceptorResultSentinelRootIndex); 821 __ CompareRoot(rax, Heap::kNoInterceptorResultSentinelRootIndex);
822 __ j(not_equal, interceptor_succeeded); 822 __ j(not_equal, interceptor_succeeded);
823 } 823 }
824 824
825 StubCompiler* stub_compiler_; 825 StubCompiler* stub_compiler_;
826 const ParameterCount& arguments_; 826 const ParameterCount& arguments_;
827 Register name_; 827 Register name_;
828 Code::ExtraICState extra_ic_state_; 828 ExtraICState extra_ic_state_;
829 }; 829 };
830 830
831 831
832 void StoreStubCompiler::GenerateRestoreName(MacroAssembler* masm, 832 void StoreStubCompiler::GenerateRestoreName(MacroAssembler* masm,
833 Label* label, 833 Label* label,
834 Handle<Name> name) { 834 Handle<Name> name) {
835 if (!label->is_unused()) { 835 if (!label->is_unused()) {
836 __ bind(label); 836 __ bind(label);
837 __ Move(this->name(), name); 837 __ Move(this->name(), name);
838 } 838 }
(...skipping 2376 matching lines...) Expand 10 before | Expand all | Expand 10 after
3215 // ----------------------------------- 3215 // -----------------------------------
3216 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); 3216 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss);
3217 } 3217 }
3218 3218
3219 3219
3220 #undef __ 3220 #undef __
3221 3221
3222 } } // namespace v8::internal 3222 } } // namespace v8::internal
3223 3223
3224 #endif // V8_TARGET_ARCH_X64 3224 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/x64/ic-x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698