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

Side by Side Diff: src/arm/macro-assembler-arm.h

Issue 2024002: Pass key and receiver in registers for keyed load IC on ARM... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 7 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
« no previous file with comments | « src/arm/ic-arm.cc ('k') | src/arm/stub-cache-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 Register scratch, 277 Register scratch,
278 Label* miss); 278 Label* miss);
279 279
280 280
281 // --------------------------------------------------------------------------- 281 // ---------------------------------------------------------------------------
282 // Allocation support 282 // Allocation support
283 283
284 // Allocate an object in new space. The object_size is specified in words (not 284 // Allocate an object in new space. The object_size is specified in words (not
285 // bytes). If the new space is exhausted control continues at the gc_required 285 // bytes). If the new space is exhausted control continues at the gc_required
286 // label. The allocated object is returned in result. If the flag 286 // label. The allocated object is returned in result. If the flag
287 // tag_allocated_object is true the result is tagged as as a heap object. 287 // tag_allocated_object is true the result is tagged as as a heap object. All
288 // registers are clobbered also when control continues at the gc_required
289 // label.
288 void AllocateInNewSpace(int object_size, 290 void AllocateInNewSpace(int object_size,
289 Register result, 291 Register result,
290 Register scratch1, 292 Register scratch1,
291 Register scratch2, 293 Register scratch2,
292 Label* gc_required, 294 Label* gc_required,
293 AllocationFlags flags); 295 AllocationFlags flags);
294 void AllocateInNewSpace(Register object_size, 296 void AllocateInNewSpace(Register object_size,
295 Register result, 297 Register result,
296 Register scratch1, 298 Register scratch1,
297 Register scratch2, 299 Register scratch2,
(...skipping 23 matching lines...) Expand all
321 Register length, 323 Register length,
322 Register scratch1, 324 Register scratch1,
323 Register scratch2, 325 Register scratch2,
324 Label* gc_required); 326 Label* gc_required);
325 void AllocateAsciiConsString(Register result, 327 void AllocateAsciiConsString(Register result,
326 Register length, 328 Register length,
327 Register scratch1, 329 Register scratch1,
328 Register scratch2, 330 Register scratch2,
329 Label* gc_required); 331 Label* gc_required);
330 332
331 // Allocates a heap number or jumps to the need_gc label if the young space 333 // Allocates a heap number or jumps to the gc_required label if the young
332 // is full and a scavenge is needed. 334 // space is full and a scavenge is needed. All registers are clobbered also
335 // when control continues at the gc_required label.
333 void AllocateHeapNumber(Register result, 336 void AllocateHeapNumber(Register result,
334 Register scratch1, 337 Register scratch1,
335 Register scratch2, 338 Register scratch2,
336 Label* gc_required); 339 Label* gc_required);
337 340
338 // --------------------------------------------------------------------------- 341 // ---------------------------------------------------------------------------
339 // Support functions. 342 // Support functions.
340 343
341 // Try to get function prototype of a function and puts the value in 344 // Try to get function prototype of a function and puts the value in
342 // the result register. Checks that the function really is a 345 // the result register. Checks that the function really is a
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 630 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
628 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 631 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
629 #else 632 #else
630 #define ACCESS_MASM(masm) masm-> 633 #define ACCESS_MASM(masm) masm->
631 #endif 634 #endif
632 635
633 636
634 } } // namespace v8::internal 637 } } // namespace v8::internal
635 638
636 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 639 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/ic-arm.cc ('k') | src/arm/stub-cache-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698