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

Side by Side Diff: src/assembler.cc

Issue 1235603002: Debugger: make debug code on-stack replacement more robust. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix arm64 Created 5 years, 5 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/assembler.h ('k') | src/debug.cc » ('j') | src/debug.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 return "encoded internal reference"; 763 return "encoded internal reference";
764 case DEOPT_REASON: 764 case DEOPT_REASON:
765 return "deopt reason"; 765 return "deopt reason";
766 case CONST_POOL: 766 case CONST_POOL:
767 return "constant pool"; 767 return "constant pool";
768 case VENEER_POOL: 768 case VENEER_POOL:
769 return "veneer pool"; 769 return "veneer pool";
770 case DEBUG_BREAK_SLOT: 770 case DEBUG_BREAK_SLOT:
771 return "debug break slot"; 771 return "debug break slot";
772 case CODE_AGE_SEQUENCE: 772 case CODE_AGE_SEQUENCE:
773 return "code_age_sequence"; 773 return "code age sequence";
774 case GENERATOR_CONTINUATION:
775 return "generator continuation";
774 case NUMBER_OF_MODES: 776 case NUMBER_OF_MODES:
775 case PC_JUMP: 777 case PC_JUMP:
776 UNREACHABLE(); 778 UNREACHABLE();
777 return "number_of_modes"; 779 return "number_of_modes";
778 } 780 }
779 return "unknown relocation type"; 781 return "unknown relocation type";
780 } 782 }
781 783
782 784
783 void RelocInfo::Print(Isolate* isolate, std::ostream& os) { // NOLINT 785 void RelocInfo::Print(Isolate* isolate, std::ostream& os) { // NOLINT
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 case RUNTIME_ENTRY: 866 case RUNTIME_ENTRY:
865 case JS_RETURN: 867 case JS_RETURN:
866 case COMMENT: 868 case COMMENT:
867 case POSITION: 869 case POSITION:
868 case STATEMENT_POSITION: 870 case STATEMENT_POSITION:
869 case EXTERNAL_REFERENCE: 871 case EXTERNAL_REFERENCE:
870 case DEOPT_REASON: 872 case DEOPT_REASON:
871 case CONST_POOL: 873 case CONST_POOL:
872 case VENEER_POOL: 874 case VENEER_POOL:
873 case DEBUG_BREAK_SLOT: 875 case DEBUG_BREAK_SLOT:
876 case GENERATOR_CONTINUATION:
874 case NONE32: 877 case NONE32:
875 case NONE64: 878 case NONE64:
876 break; 879 break;
877 case NUMBER_OF_MODES: 880 case NUMBER_OF_MODES:
878 case PC_JUMP: 881 case PC_JUMP:
879 UNREACHABLE(); 882 UNREACHABLE();
880 break; 883 break;
881 case CODE_AGE_SEQUENCE: 884 case CODE_AGE_SEQUENCE:
882 DCHECK(Code::IsYoungSequence(isolate, pc_) || code_age_stub()->IsCode()); 885 DCHECK(Code::IsYoungSequence(isolate, pc_) || code_age_stub()->IsCode());
883 break; 886 break;
(...skipping 930 matching lines...) Expand 10 before | Expand all | Expand 10 after
1814 } 1817 }
1815 1818
1816 1819
1817 void Assembler::RecordJSReturn() { 1820 void Assembler::RecordJSReturn() {
1818 positions_recorder()->WriteRecordedPositions(); 1821 positions_recorder()->WriteRecordedPositions();
1819 EnsureSpace ensure_space(this); 1822 EnsureSpace ensure_space(this);
1820 RecordRelocInfo(RelocInfo::JS_RETURN); 1823 RecordRelocInfo(RelocInfo::JS_RETURN);
1821 } 1824 }
1822 1825
1823 1826
1827 void Assembler::RecordGeneratorContinuation() {
1828 EnsureSpace ensure_space(this);
1829 RecordRelocInfo(RelocInfo::GENERATOR_CONTINUATION);
1830 }
1831
1832
1824 void Assembler::RecordDebugBreakSlot() { 1833 void Assembler::RecordDebugBreakSlot() {
1825 EnsureSpace ensure_space(this); 1834 EnsureSpace ensure_space(this);
1826 intptr_t data = static_cast<intptr_t>(RelocInfo::kDebugBreakNonCallSentinel); 1835 intptr_t data = static_cast<intptr_t>(RelocInfo::kDebugBreakNonCallSentinel);
1827 RecordRelocInfo(RelocInfo::DEBUG_BREAK_SLOT, data); 1836 RecordRelocInfo(RelocInfo::DEBUG_BREAK_SLOT, data);
1828 } 1837 }
1829 1838
1830 1839
1831 void Assembler::RecordDebugBreakSlotForCall(int argc) { 1840 void Assembler::RecordDebugBreakSlotForCall(int argc) {
1832 EnsureSpace ensure_space(this); 1841 EnsureSpace ensure_space(this);
1833 intptr_t data = static_cast<intptr_t>(argc); 1842 intptr_t data = static_cast<intptr_t>(argc);
(...skipping 10 matching lines...) Expand all
1844 1853
1845 1854
1846 void Assembler::DataAlign(int m) { 1855 void Assembler::DataAlign(int m) {
1847 DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m)); 1856 DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m));
1848 while ((pc_offset() & (m - 1)) != 0) { 1857 while ((pc_offset() & (m - 1)) != 0) {
1849 db(0); 1858 db(0);
1850 } 1859 }
1851 } 1860 }
1852 } // namespace internal 1861 } // namespace internal
1853 } // namespace v8 1862 } // namespace v8
OLDNEW
« no previous file with comments | « src/assembler.h ('k') | src/debug.cc » ('j') | src/debug.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698