OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_PPC_MACRO_ASSEMBLER_PPC_H_ | 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_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 670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
681 // when control continues at the gc_required label. | 681 // when control continues at the gc_required label. |
682 void AllocateHeapNumber(Register result, Register scratch1, Register scratch2, | 682 void AllocateHeapNumber(Register result, Register scratch1, Register scratch2, |
683 Register heap_number_map, Label* gc_required, | 683 Register heap_number_map, Label* gc_required, |
684 TaggingMode tagging_mode = TAG_RESULT, | 684 TaggingMode tagging_mode = TAG_RESULT, |
685 MutableMode mode = IMMUTABLE); | 685 MutableMode mode = IMMUTABLE); |
686 void AllocateHeapNumberWithValue(Register result, DoubleRegister value, | 686 void AllocateHeapNumberWithValue(Register result, DoubleRegister value, |
687 Register scratch1, Register scratch2, | 687 Register scratch1, Register scratch2, |
688 Register heap_number_map, | 688 Register heap_number_map, |
689 Label* gc_required); | 689 Label* gc_required); |
690 | 690 |
691 // Copies a fixed number of fields of heap objects from src to dst. | |
692 void CopyFields(Register dst, Register src, RegList temps, int field_count); | |
693 | |
694 // Copies a number of bytes from src to dst. All registers are clobbered. On | 691 // Copies a number of bytes from src to dst. All registers are clobbered. On |
695 // exit src and dst will point to the place just after where the last byte was | 692 // exit src and dst will point to the place just after where the last byte was |
696 // read or written and length will be zero. | 693 // read or written and length will be zero. |
697 void CopyBytes(Register src, Register dst, Register length, Register scratch); | 694 void CopyBytes(Register src, Register dst, Register length, Register scratch); |
698 | 695 |
699 // Initialize fields with filler values. |count| fields starting at | 696 // Initialize fields with filler values. |count| fields starting at |
700 // |current_address| are overwritten with the value in |filler|. At the end | 697 // |current_address| are overwritten with the value in |filler|. At the end |
701 // the loop, |current_address| points at the next uninitialized field. | 698 // the loop, |current_address| points at the next uninitialized field. |
702 // |count| is assumed to be non-zero. | 699 // |count| is assumed to be non-zero. |
703 void InitializeNFieldsWithFiller(Register current_address, Register count, | 700 void InitializeNFieldsWithFiller(Register current_address, Register count, |
(...skipping 880 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1584 #define ACCESS_MASM(masm) \ | 1581 #define ACCESS_MASM(masm) \ |
1585 masm->stop(__FILE_LINE__); \ | 1582 masm->stop(__FILE_LINE__); \ |
1586 masm-> | 1583 masm-> |
1587 #else | 1584 #else |
1588 #define ACCESS_MASM(masm) masm-> | 1585 #define ACCESS_MASM(masm) masm-> |
1589 #endif | 1586 #endif |
1590 } // namespace internal | 1587 } // namespace internal |
1591 } // namespace v8 | 1588 } // namespace v8 |
1592 | 1589 |
1593 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1590 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
OLD | NEW |