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

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, 2 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
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 723 matching lines...) Expand 10 before | Expand all | Expand 10 after
734 void AllocateHeapNumberWithValue(Register result, 734 void AllocateHeapNumberWithValue(Register result,
735 DwVfpRegister value, 735 DwVfpRegister value,
736 Register scratch1, 736 Register scratch1,
737 Register scratch2, 737 Register scratch2,
738 Register heap_number_map, 738 Register heap_number_map,
739 Label* gc_required); 739 Label* gc_required);
740 740
741 // Copies a fixed number of fields of heap objects from src to dst. 741 // Copies a fixed number of fields of heap objects from src to dst.
742 void CopyFields(Register dst, Register src, RegList temps, int field_count); 742 void CopyFields(Register dst, Register src, RegList temps, int field_count);
743 743
744 // Copy a fixed number of fields of from src to dst using NEON.
745 // A contiguous range of VFP registers is specified to hold temporary values;
746 // providing more registers will result in smaller code size and lower
747 // execution time. Both dst and src must be word aligned (so no tagged
748 // pointers allowed). On completion, dst and src will point to the end of the
749 // copied regions.
750 void VFPCopyFields(Register dst, Register src, int field_count,
751 SwVfpRegister first, SwVfpRegister last);
752
744 // Copies a number of bytes from src to dst. All registers are clobbered. On 753 // Copies a number of bytes from src to dst. All registers are clobbered. On
745 // exit src and dst will point to the place just after where the last byte was 754 // exit src and dst will point to the place just after where the last byte was
746 // read or written and length will be zero. 755 // read or written and length will be zero.
747 void CopyBytes(Register src, 756 void CopyBytes(Register src,
748 Register dst, 757 Register dst,
749 Register length, 758 Register length,
750 Register scratch); 759 Register scratch);
751 760
752 // Initialize fields with filler values. Fields starting at |start_offset| 761 // Initialize fields with filler values. Fields starting at |start_offset|
753 // not including end_offset are overwritten with the value in |filler|. At 762 // not including end_offset are overwritten with the value in |filler|. At
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
1399 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1408 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1400 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1409 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1401 #else 1410 #else
1402 #define ACCESS_MASM(masm) masm-> 1411 #define ACCESS_MASM(masm) masm->
1403 #endif 1412 #endif
1404 1413
1405 1414
1406 } } // namespace v8::internal 1415 } } // namespace v8::internal
1407 1416
1408 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1417 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698