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

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

Issue 1696043002: [runtime] Unify and simplify how frames are marked (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: All platforms Created 4 years, 9 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
OLDNEW
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_MIPS_MACRO_ASSEMBLER_MIPS_H_ 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/globals.h" 9 #include "src/globals.h"
10 #include "src/mips/assembler-mips.h" 10 #include "src/mips/assembler-mips.h"
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 lw(src3, MemOperand(sp, 0 * kPointerSize)); 755 lw(src3, MemOperand(sp, 0 * kPointerSize));
756 lw(src2, MemOperand(sp, 1 * kPointerSize)); 756 lw(src2, MemOperand(sp, 1 * kPointerSize));
757 lw(src1, MemOperand(sp, 2 * kPointerSize)); 757 lw(src1, MemOperand(sp, 2 * kPointerSize));
758 Addu(sp, sp, 3 * kPointerSize); 758 Addu(sp, sp, 3 * kPointerSize);
759 } 759 }
760 760
761 void Pop(uint32_t count = 1) { 761 void Pop(uint32_t count = 1) {
762 Addu(sp, sp, Operand(count * kPointerSize)); 762 Addu(sp, sp, Operand(count * kPointerSize));
763 } 763 }
764 764
765 // Push a fixed frame, consisting of ra, fp.
766 void PushCommonFrame(Register marker_reg = no_reg);
767
768 // Push a standard frame, consisting of ra, fp, context and JS function.
769 void PushStandardFrame(Register function_reg);
770
771 void PopCommonFrame(Register marker_reg = no_reg);
772
765 // Push and pop the registers that can hold pointers, as defined by the 773 // Push and pop the registers that can hold pointers, as defined by the
766 // RegList constant kSafepointSavedRegisters. 774 // RegList constant kSafepointSavedRegisters.
767 void PushSafepointRegisters(); 775 void PushSafepointRegisters();
768 void PopSafepointRegisters(); 776 void PopSafepointRegisters();
769 // Store value in register src in the safepoint stack slot for 777 // Store value in register src in the safepoint stack slot for
770 // register dst. 778 // register dst.
771 void StoreToSafepointRegisterSlot(Register src, Register dst); 779 void StoreToSafepointRegisterSlot(Register src, Register dst);
772 // Load the value of the src register from its safepoint stack slot 780 // Load the value of the src register from its safepoint stack slot
773 // into register dst. 781 // into register dst.
774 void LoadFromSafepointRegisterSlot(Register dst, Register src); 782 void LoadFromSafepointRegisterSlot(Register dst, Register src);
(...skipping 823 matching lines...) Expand 10 before | Expand all | Expand 10 after
1598 And(dst, src, Operand(mask)); 1606 And(dst, src, Operand(mask));
1599 } 1607 }
1600 } 1608 }
1601 1609
1602 template<typename Field> 1610 template<typename Field>
1603 void DecodeFieldToSmi(Register reg) { 1611 void DecodeFieldToSmi(Register reg) {
1604 DecodeField<Field>(reg, reg); 1612 DecodeField<Field>(reg, reg);
1605 } 1613 }
1606 1614
1607 // Generates function and stub prologue code. 1615 // Generates function and stub prologue code.
1608 void StubPrologue(); 1616 void StubPrologue(StackFrame::Type type);
1609 void Prologue(bool code_pre_aging); 1617 void Prologue(bool code_pre_aging);
1610 1618
1611 // Load the type feedback vector from a JavaScript frame. 1619 // Load the type feedback vector from a JavaScript frame.
1612 void EmitLoadTypeFeedbackVector(Register vector); 1620 void EmitLoadTypeFeedbackVector(Register vector);
1613 1621
1614 // Activation support. 1622 // Activation support.
1615 void EnterFrame(StackFrame::Type type); 1623 void EnterFrame(StackFrame::Type type);
1616 void EnterFrame(StackFrame::Type type, bool load_constant_pool_pointer_reg); 1624 void EnterFrame(StackFrame::Type type, bool load_constant_pool_pointer_reg);
1617 void LeaveFrame(StackFrame::Type type); 1625 void LeaveFrame(StackFrame::Type type);
1618 1626
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
1800 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1808 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1801 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1809 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1802 #else 1810 #else
1803 #define ACCESS_MASM(masm) masm-> 1811 #define ACCESS_MASM(masm) masm->
1804 #endif 1812 #endif
1805 1813
1806 } // namespace internal 1814 } // namespace internal
1807 } // namespace v8 1815 } // namespace v8
1808 1816
1809 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ 1817 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
OLDNEW
« src/frames.cc ('K') | « src/mips/frames-mips.h ('k') | src/mips/macro-assembler-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698