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

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

Issue 1327002: Simplify passing of AccessorInfo to interceptors: (Closed)
Patch Set: . Created 10 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
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 __ movq(dst, FieldOperand(dst, offset)); 131 __ movq(dst, FieldOperand(dst, offset));
132 } 132 }
133 } 133 }
134 134
135 135
136 static void PushInterceptorArguments(MacroAssembler* masm, 136 static void PushInterceptorArguments(MacroAssembler* masm,
137 Register receiver, 137 Register receiver,
138 Register holder, 138 Register holder,
139 Register name, 139 Register name,
140 JSObject* holder_obj) { 140 JSObject* holder_obj) {
141 __ push(receiver);
142 __ push(holder);
143 __ push(name); 141 __ push(name);
144 InterceptorInfo* interceptor = holder_obj->GetNamedInterceptor(); 142 InterceptorInfo* interceptor = holder_obj->GetNamedInterceptor();
145 ASSERT(!Heap::InNewSpace(interceptor)); 143 ASSERT(!Heap::InNewSpace(interceptor));
146 __ movq(kScratchRegister, Handle<Object>(interceptor), 144 __ Move(kScratchRegister, Handle<Object>(interceptor));
147 RelocInfo::EMBEDDED_OBJECT);
148 __ push(kScratchRegister); 145 __ push(kScratchRegister);
146 __ push(receiver);
147 __ push(holder);
149 __ push(FieldOperand(kScratchRegister, InterceptorInfo::kDataOffset)); 148 __ push(FieldOperand(kScratchRegister, InterceptorInfo::kDataOffset));
150 } 149 }
151 150
152 151
153 void StubCache::GenerateProbe(MacroAssembler* masm, 152 void StubCache::GenerateProbe(MacroAssembler* masm,
154 Code::Flags flags, 153 Code::Flags flags,
155 Register receiver, 154 Register receiver,
156 Register name, 155 Register name,
157 Register scratch, 156 Register scratch,
158 Register extra) { 157 Register extra) {
(...skipping 1801 matching lines...) Expand 10 before | Expand all | Expand 10 after
1960 __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); 1959 __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET);
1961 1960
1962 // Return the generated code. 1961 // Return the generated code.
1963 return GetCode(); 1962 return GetCode();
1964 } 1963 }
1965 1964
1966 1965
1967 #undef __ 1966 #undef __
1968 1967
1969 } } // namespace v8::internal 1968 } } // namespace v8::internal
OLDNEW
« src/ia32/stub-cache-ia32.cc ('K') | « src/stub-cache.cc ('k') | test/cctest/test-api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698