OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 5 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 void AllocateTwoByteSlicedString(Register result, Register scratch1, | 669 void AllocateTwoByteSlicedString(Register result, Register scratch1, |
670 Register scratch2, Label* gc_required); | 670 Register scratch2, Label* gc_required); |
671 void AllocateOneByteSlicedString(Register result, Register scratch1, | 671 void AllocateOneByteSlicedString(Register result, Register scratch1, |
672 Register scratch2, Label* gc_required); | 672 Register scratch2, Label* gc_required); |
673 | 673 |
674 // Allocate and initialize a JSValue wrapper with the specified {constructor} | 674 // Allocate and initialize a JSValue wrapper with the specified {constructor} |
675 // and {value}. | 675 // and {value}. |
676 void AllocateJSValue(Register result, Register constructor, Register value, | 676 void AllocateJSValue(Register result, Register constructor, Register value, |
677 Register scratch, Label* gc_required); | 677 Register scratch, Label* gc_required); |
678 | 678 |
679 // Copy memory, byte-by-byte, from source to destination. Not optimized for | |
680 // long or aligned copies. | |
681 // The contents of index and scratch are destroyed. | |
682 void CopyBytes(Register source, Register destination, Register length, | |
683 Register scratch); | |
684 | |
685 // Initialize fields with filler values. Fields starting at |current_address| | 679 // Initialize fields with filler values. Fields starting at |current_address| |
686 // not including |end_address| are overwritten with the value in |filler|. At | 680 // not including |end_address| are overwritten with the value in |filler|. At |
687 // the end the loop, |current_address| takes the value of |end_address|. | 681 // the end the loop, |current_address| takes the value of |end_address|. |
688 void InitializeFieldsWithFiller(Register current_address, | 682 void InitializeFieldsWithFiller(Register current_address, |
689 Register end_address, Register filler); | 683 Register end_address, Register filler); |
690 | 684 |
691 // --------------------------------------------------------------------------- | 685 // --------------------------------------------------------------------------- |
692 // Support functions. | 686 // Support functions. |
693 | 687 |
694 // Check a boolean-bit of a Smi field. | 688 // Check a boolean-bit of a Smi field. |
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1062 inline Operand NativeContextOperand() { | 1056 inline Operand NativeContextOperand() { |
1063 return ContextOperand(esi, Context::NATIVE_CONTEXT_INDEX); | 1057 return ContextOperand(esi, Context::NATIVE_CONTEXT_INDEX); |
1064 } | 1058 } |
1065 | 1059 |
1066 #define ACCESS_MASM(masm) masm-> | 1060 #define ACCESS_MASM(masm) masm-> |
1067 | 1061 |
1068 } // namespace internal | 1062 } // namespace internal |
1069 } // namespace v8 | 1063 } // namespace v8 |
1070 | 1064 |
1071 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 1065 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |