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

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

Issue 6456023: x64: Enable inline smi code patching to reenable the inlined code in (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge/out
Patch Set: Created 9 years, 10 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
« no previous file with comments | « include/v8.h ('k') | src/x64/full-codegen-x64.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 (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 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 static const int kJSReturnSequenceLength = 13; 560 static const int kJSReturnSequenceLength = 13;
561 static const int kShortCallInstructionLength = 5; 561 static const int kShortCallInstructionLength = 5;
562 562
563 // The debug break slot must be able to contain a call instruction. 563 // The debug break slot must be able to contain a call instruction.
564 static const int kDebugBreakSlotLength = kCallInstructionLength; 564 static const int kDebugBreakSlotLength = kCallInstructionLength;
565 565
566 // One byte opcode for test eax,0xXXXXXXXX. 566 // One byte opcode for test eax,0xXXXXXXXX.
567 static const byte kTestEaxByte = 0xA9; 567 static const byte kTestEaxByte = 0xA9;
568 // One byte opcode for test al, 0xXX. 568 // One byte opcode for test al, 0xXX.
569 static const byte kTestAlByte = 0xA8; 569 static const byte kTestAlByte = 0xA8;
570 // One byte opcode for nop.
571 static const byte kNopByte = 0x90;
572
573 // One byte prefix for a short conditional jump.
574 static const byte kJccShortPrefix = 0x70;
575 static const byte kJncShortOpcode = kJccShortPrefix | not_carry;
576 static const byte kJcShortOpcode = kJccShortPrefix | carry;
577
578
570 579
571 // --------------------------------------------------------------------------- 580 // ---------------------------------------------------------------------------
572 // Code generation 581 // Code generation
573 // 582 //
574 // Function names correspond one-to-one to x64 instruction mnemonics. 583 // Function names correspond one-to-one to x64 instruction mnemonics.
575 // Unless specified otherwise, instructions operate on 64-bit operands. 584 // Unless specified otherwise, instructions operate on 64-bit operands.
576 // 585 //
577 // If we need versions of an assembly instruction that operate on different 586 // If we need versions of an assembly instruction that operate on different
578 // width arguments, we add a single-letter suffix specifying the width. 587 // width arguments, we add a single-letter suffix specifying the width.
579 // This is done for the following instructions: mov, cmp, inc, dec, 588 // This is done for the following instructions: mov, cmp, inc, dec,
(...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after
1564 private: 1573 private:
1565 Assembler* assembler_; 1574 Assembler* assembler_;
1566 #ifdef DEBUG 1575 #ifdef DEBUG
1567 int space_before_; 1576 int space_before_;
1568 #endif 1577 #endif
1569 }; 1578 };
1570 1579
1571 } } // namespace v8::internal 1580 } } // namespace v8::internal
1572 1581
1573 #endif // V8_X64_ASSEMBLER_X64_H_ 1582 #endif // V8_X64_ASSEMBLER_X64_H_
OLDNEW
« no previous file with comments | « include/v8.h ('k') | src/x64/full-codegen-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698