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

Side by Side Diff: src/arm/stub-cache-arm.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 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 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 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 // Invoke the function. 389 // Invoke the function.
390 __ InvokeFunction(r1, arguments, JUMP_FUNCTION); 390 __ InvokeFunction(r1, arguments, JUMP_FUNCTION);
391 } 391 }
392 392
393 393
394 static void PushInterceptorArguments(MacroAssembler* masm, 394 static void PushInterceptorArguments(MacroAssembler* masm,
395 Register receiver, 395 Register receiver,
396 Register holder, 396 Register holder,
397 Register name, 397 Register name,
398 JSObject* holder_obj) { 398 JSObject* holder_obj) {
399 __ push(receiver);
400 __ push(holder);
401 __ push(name); 399 __ push(name);
402 InterceptorInfo* interceptor = holder_obj->GetNamedInterceptor(); 400 InterceptorInfo* interceptor = holder_obj->GetNamedInterceptor();
403 ASSERT(!Heap::InNewSpace(interceptor)); 401 ASSERT(!Heap::InNewSpace(interceptor));
404 402 Register scratch = name;
405 Register scratch = receiver;
406 __ mov(scratch, Operand(Handle<Object>(interceptor))); 403 __ mov(scratch, Operand(Handle<Object>(interceptor)));
407 __ push(scratch); 404 __ push(scratch);
405 __ push(receiver);
406 __ push(holder);
408 __ ldr(scratch, FieldMemOperand(scratch, InterceptorInfo::kDataOffset)); 407 __ ldr(scratch, FieldMemOperand(scratch, InterceptorInfo::kDataOffset));
409 __ push(scratch); 408 __ push(scratch);
410 } 409 }
411 410
412 411
413 static void CompileCallLoadPropertyWithInterceptor(MacroAssembler* masm, 412 static void CompileCallLoadPropertyWithInterceptor(MacroAssembler* masm,
414 Register receiver, 413 Register receiver,
415 Register holder, 414 Register holder,
416 Register name, 415 Register name,
417 JSObject* holder_obj) { 416 JSObject* holder_obj) {
(...skipping 1476 matching lines...) Expand 10 before | Expand all | Expand 10 after
1894 __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); 1893 __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET);
1895 1894
1896 // Return the generated code. 1895 // Return the generated code.
1897 return GetCode(); 1896 return GetCode();
1898 } 1897 }
1899 1898
1900 1899
1901 #undef __ 1900 #undef __
1902 1901
1903 } } // namespace v8::internal 1902 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698