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

Side by Side Diff: src/x64/assembler-x64.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 (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 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 static const int kPatchReturnSequenceAddressOffset = 585 static const int kPatchReturnSequenceAddressOffset =
586 kJSReturnSequenceLength - kPatchDebugBreakSlotReturnOffset; 586 kJSReturnSequenceLength - kPatchDebugBreakSlotReturnOffset;
587 // Distance between the start of the JS return sequence and where the 587 // Distance between the start of the JS return sequence and where the
588 // 32-bit displacement of a short call would be. The short call is from 588 // 32-bit displacement of a short call would be. The short call is from
589 // SetDebugBreakAtIC from debug-x64.cc. 589 // SetDebugBreakAtIC from debug-x64.cc.
590 static const int kPatchDebugBreakSlotAddressOffset = 590 static const int kPatchDebugBreakSlotAddressOffset =
591 kDebugBreakSlotLength - kPatchDebugBreakSlotReturnOffset; 591 kDebugBreakSlotLength - kPatchDebugBreakSlotReturnOffset;
592 static const int kRealPatchReturnSequenceAddressOffset = 592 static const int kRealPatchReturnSequenceAddressOffset =
593 kMoveAddressIntoScratchRegisterInstructionLength - kPointerSize; 593 kMoveAddressIntoScratchRegisterInstructionLength - kPointerSize;
594 594
595 // Return the code target address of the patch debug break slot
596 inline static Address break_address_from_break_address(Address pc);
597
595 // One byte opcode for test eax,0xXXXXXXXX. 598 // One byte opcode for test eax,0xXXXXXXXX.
596 static const byte kTestEaxByte = 0xA9; 599 static const byte kTestEaxByte = 0xA9;
597 // One byte opcode for test al, 0xXX. 600 // One byte opcode for test al, 0xXX.
598 static const byte kTestAlByte = 0xA8; 601 static const byte kTestAlByte = 0xA8;
599 // One byte opcode for nop. 602 // One byte opcode for nop.
600 static const byte kNopByte = 0x90; 603 static const byte kNopByte = 0x90;
601 604
602 // One byte prefix for a short conditional jump. 605 // One byte prefix for a short conditional jump.
603 static const byte kJccShortPrefix = 0x70; 606 static const byte kJccShortPrefix = 0x70;
604 static const byte kJncShortOpcode = kJccShortPrefix | not_carry; 607 static const byte kJncShortOpcode = kJccShortPrefix | not_carry;
(...skipping 976 matching lines...) Expand 10 before | Expand all | Expand 10 after
1581 private: 1584 private:
1582 Assembler* assembler_; 1585 Assembler* assembler_;
1583 #ifdef DEBUG 1586 #ifdef DEBUG
1584 int space_before_; 1587 int space_before_;
1585 #endif 1588 #endif
1586 }; 1589 };
1587 1590
1588 } } // namespace v8::internal 1591 } } // namespace v8::internal
1589 1592
1590 #endif // V8_X64_ASSEMBLER_X64_H_ 1593 #endif // V8_X64_ASSEMBLER_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698