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

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

Issue 11151005: Improve FastCloneShallowArray/ObjectStubs with VFP copying on ARM (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 8 years, 1 month 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 740 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 void AllocateHeapNumberWithValue(Register result, 751 void AllocateHeapNumberWithValue(Register result,
752 DwVfpRegister value, 752 DwVfpRegister value,
753 Register scratch1, 753 Register scratch1,
754 Register scratch2, 754 Register scratch2,
755 Register heap_number_map, 755 Register heap_number_map,
756 Label* gc_required); 756 Label* gc_required);
757 757
758 // Copies a fixed number of fields of heap objects from src to dst. 758 // Copies a fixed number of fields of heap objects from src to dst.
759 void CopyFields(Register dst, Register src, RegList temps, int field_count); 759 void CopyFields(Register dst, Register src, RegList temps, int field_count);
760 760
761 // Copy a fixed number of fields of from src to dst using NEON.
762 // A contiguous range of VFP registers is specified to hold temporary values;
763 // providing more registers will result in smaller code size and lower
764 // execution time. Both dst and src must be word aligned (so no tagged
765 // pointers allowed). On completion, dst and src will point to the end of the
766 // copied regions.
767 void VFPCopyFields(Register dst, Register src, int field_count,
768 SwVfpRegister first, SwVfpRegister last);
769
761 // Copies a number of bytes from src to dst. All registers are clobbered. On 770 // Copies a number of bytes from src to dst. All registers are clobbered. On
762 // exit src and dst will point to the place just after where the last byte was 771 // exit src and dst will point to the place just after where the last byte was
763 // read or written and length will be zero. 772 // read or written and length will be zero.
764 void CopyBytes(Register src, 773 void CopyBytes(Register src,
765 Register dst, 774 Register dst,
766 Register length, 775 Register length,
767 Register scratch); 776 Register scratch);
768 777
769 // Initialize fields with filler values. Fields starting at |start_offset| 778 // Initialize fields with filler values. Fields starting at |start_offset|
770 // not including end_offset are overwritten with the value in |filler|. At 779 // not including end_offset are overwritten with the value in |filler|. At
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
1417 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1426 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1418 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1427 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1419 #else 1428 #else
1420 #define ACCESS_MASM(masm) masm-> 1429 #define ACCESS_MASM(masm) masm->
1421 #endif 1430 #endif
1422 1431
1423 1432
1424 } } // namespace v8::internal 1433 } } // namespace v8::internal
1425 1434
1426 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1435 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698