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

Side by Side Diff: src/arm64/assembler-arm64.h

Issue 427863003: Abstract out fetching of break_address in debug mode (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: update to catch 2nd usage Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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_ARM64_ASSEMBLER_ARM64_H_ 5 #ifndef V8_ARM64_ASSEMBLER_ARM64_H_
6 #define V8_ARM64_ASSEMBLER_ARM64_H_ 6 #define V8_ARM64_ASSEMBLER_ARM64_H_
7 7
8 #include <list> 8 #include <list>
9 #include <map> 9 #include <map>
10 #include <vector> 10 #include <vector>
(...skipping 931 matching lines...) Expand 10 before | Expand all | Expand 10 after
942 } 942 }
943 943
944 // Number of instructions generated for the return sequence in 944 // Number of instructions generated for the return sequence in
945 // FullCodeGenerator::EmitReturnSequence. 945 // FullCodeGenerator::EmitReturnSequence.
946 static const int kJSRetSequenceInstructions = 7; 946 static const int kJSRetSequenceInstructions = 7;
947 // Distance between start of patched return sequence and the emitted address 947 // Distance between start of patched return sequence and the emitted address
948 // to jump to. 948 // to jump to.
949 static const int kPatchReturnSequenceAddressOffset = 0; 949 static const int kPatchReturnSequenceAddressOffset = 0;
950 static const int kPatchDebugBreakSlotAddressOffset = 0; 950 static const int kPatchDebugBreakSlotAddressOffset = 0;
951 951
952 // Return the code target address of the patch debug break slot
953 inline static Address break_address_from_break_address(Address pc);
954
952 // Number of instructions necessary to be able to later patch it to a call. 955 // Number of instructions necessary to be able to later patch it to a call.
953 // See DebugCodegen::GenerateSlot() and 956 // See DebugCodegen::GenerateSlot() and
954 // BreakLocationIterator::SetDebugBreakAtSlot(). 957 // BreakLocationIterator::SetDebugBreakAtSlot().
955 static const int kDebugBreakSlotInstructions = 4; 958 static const int kDebugBreakSlotInstructions = 4;
956 static const int kDebugBreakSlotLength = 959 static const int kDebugBreakSlotLength =
957 kDebugBreakSlotInstructions * kInstructionSize; 960 kDebugBreakSlotInstructions * kInstructionSize;
958 961
959 static const int kPatchDebugBreakSlotReturnOffset = 2 * kInstructionSize; 962 static const int kPatchDebugBreakSlotReturnOffset = 2 * kInstructionSize;
960 963
961 // Prevent contant pool emission until EndBlockConstPool is called. 964 // Prevent contant pool emission until EndBlockConstPool is called.
(...skipping 1334 matching lines...) Expand 10 before | Expand all | Expand 10 after
2296 class EnsureSpace BASE_EMBEDDED { 2299 class EnsureSpace BASE_EMBEDDED {
2297 public: 2300 public:
2298 explicit EnsureSpace(Assembler* assembler) { 2301 explicit EnsureSpace(Assembler* assembler) {
2299 assembler->CheckBufferSpace(); 2302 assembler->CheckBufferSpace();
2300 } 2303 }
2301 }; 2304 };
2302 2305
2303 } } // namespace v8::internal 2306 } } // namespace v8::internal
2304 2307
2305 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ 2308 #endif // V8_ARM64_ASSEMBLER_ARM64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698