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

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

Issue 974873002: MIPS: Move stack unwinding logic into the runtime. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix comments. Created 5 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
« no previous file with comments | « src/mips64/code-stubs-mips64.cc ('k') | src/mips64/macro-assembler-mips64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/mips64/assembler-mips64.h" 10 #include "src/mips64/assembler-mips64.h"
(...skipping 982 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 // ------------------------------------------------------------------------- 993 // -------------------------------------------------------------------------
994 // Exception handling. 994 // Exception handling.
995 995
996 // Push a new try handler and link into try handler chain. 996 // Push a new try handler and link into try handler chain.
997 void PushTryHandler(StackHandler::Kind kind, int handler_index); 997 void PushTryHandler(StackHandler::Kind kind, int handler_index);
998 998
999 // Unlink the stack handler on top of the stack from the try handler chain. 999 // Unlink the stack handler on top of the stack from the try handler chain.
1000 // Must preserve the result register. 1000 // Must preserve the result register.
1001 void PopTryHandler(); 1001 void PopTryHandler();
1002 1002
1003 // Passes thrown value to the handler of top of the try handler chain.
1004 void Throw(Register value);
1005
1006 // Propagates an uncatchable exception to the top of the current JS stack's
1007 // handler chain.
1008 void ThrowUncatchable(Register value);
1009
1010 // Copies a fixed number of fields of heap objects from src to dst. 1003 // Copies a fixed number of fields of heap objects from src to dst.
1011 void CopyFields(Register dst, Register src, RegList temps, int field_count); 1004 void CopyFields(Register dst, Register src, RegList temps, int field_count);
1012 1005
1013 // Copies a number of bytes from src to dst. All registers are clobbered. On 1006 // Copies a number of bytes from src to dst. All registers are clobbered. On
1014 // exit src and dst will point to the place just after where the last byte was 1007 // exit src and dst will point to the place just after where the last byte was
1015 // read or written and length will be zero. 1008 // read or written and length will be zero.
1016 void CopyBytes(Register src, 1009 void CopyBytes(Register src,
1017 Register dst, 1010 Register dst,
1018 Register length, 1011 Register length,
1019 Register scratch); 1012 Register scratch);
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after
1716 Condition cond, // eq for new space, ne otherwise. 1709 Condition cond, // eq for new space, ne otherwise.
1717 Label* branch); 1710 Label* branch);
1718 1711
1719 // Helper for finding the mark bits for an address. Afterwards, the 1712 // Helper for finding the mark bits for an address. Afterwards, the
1720 // bitmap register points at the word with the mark bits and the mask 1713 // bitmap register points at the word with the mark bits and the mask
1721 // the position of the first bit. Leaves addr_reg unchanged. 1714 // the position of the first bit. Leaves addr_reg unchanged.
1722 inline void GetMarkBits(Register addr_reg, 1715 inline void GetMarkBits(Register addr_reg,
1723 Register bitmap_reg, 1716 Register bitmap_reg,
1724 Register mask_reg); 1717 Register mask_reg);
1725 1718
1726 // Helper for throwing exceptions. Compute a handler address and jump to
1727 // it. See the implementation for register usage.
1728 void JumpToHandlerEntry();
1729
1730 // Compute memory operands for safepoint stack slots. 1719 // Compute memory operands for safepoint stack slots.
1731 static int SafepointRegisterStackIndex(int reg_code); 1720 static int SafepointRegisterStackIndex(int reg_code);
1732 MemOperand SafepointRegisterSlot(Register reg); 1721 MemOperand SafepointRegisterSlot(Register reg);
1733 MemOperand SafepointRegistersAndDoublesSlot(Register reg); 1722 MemOperand SafepointRegistersAndDoublesSlot(Register reg);
1734 1723
1735 bool generating_stub_; 1724 bool generating_stub_;
1736 bool has_frame_; 1725 bool has_frame_;
1737 bool has_double_zero_reg_set_; 1726 bool has_double_zero_reg_set_;
1738 // This handle will be patched with the code object on installation. 1727 // This handle will be patched with the code object on installation.
1739 Handle<Object> code_object_; 1728 Handle<Object> code_object_;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1788 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) 1777 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x)
1789 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1778 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1790 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1779 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1791 #else 1780 #else
1792 #define ACCESS_MASM(masm) masm-> 1781 #define ACCESS_MASM(masm) masm->
1793 #endif 1782 #endif
1794 1783
1795 } } // namespace v8::internal 1784 } } // namespace v8::internal
1796 1785
1797 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ 1786 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips64/code-stubs-mips64.cc ('k') | src/mips64/macro-assembler-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698