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

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

Issue 5763004: Second attempt: Improve our type feedback by recogizining never-executed IC c... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years 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 553 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 static const int kCallInstructionLength = 5; 564 static const int kCallInstructionLength = 5;
565 static const int kJSReturnSequenceLength = 6; 565 static const int kJSReturnSequenceLength = 6;
566 566
567 // The debug break slot must be able to contain a call instruction. 567 // The debug break slot must be able to contain a call instruction.
568 static const int kDebugBreakSlotLength = kCallInstructionLength; 568 static const int kDebugBreakSlotLength = kCallInstructionLength;
569 569
570 // One byte opcode for test eax,0xXXXXXXXX. 570 // One byte opcode for test eax,0xXXXXXXXX.
571 static const byte kTestEaxByte = 0xA9; 571 static const byte kTestEaxByte = 0xA9;
572 // One byte opcode for test al, 0xXX. 572 // One byte opcode for test al, 0xXX.
573 static const byte kTestAlByte = 0xA8; 573 static const byte kTestAlByte = 0xA8;
574 // One byte opcode for nop.
575 static const byte kNopByte = 0x90;
576
577 // One byte opcode for a short unconditional jump.
578 static const byte kJmpShortOpcode = 0xEB;
579 // One byte prefix for a short conditional jump.
580 static const byte kJccShortPrefix = 0x70;
581 static const byte kJncShortOpcode = kJccShortPrefix | not_carry;
582 static const byte kJcShortOpcode = kJccShortPrefix | carry;
574 583
575 // --------------------------------------------------------------------------- 584 // ---------------------------------------------------------------------------
576 // Code generation 585 // Code generation
577 // 586 //
578 // - function names correspond one-to-one to ia32 instruction mnemonics 587 // - function names correspond one-to-one to ia32 instruction mnemonics
579 // - unless specified otherwise, instructions operate on 32bit operands 588 // - unless specified otherwise, instructions operate on 32bit operands
580 // - instructions on 8bit (byte) operands/registers have a trailing '_b' 589 // - instructions on 8bit (byte) operands/registers have a trailing '_b'
581 // - instructions on 16bit (word) operands/registers have a trailing '_w' 590 // - instructions on 16bit (word) operands/registers have a trailing '_w'
582 // - naming conflicts with C++ keywords are resolved via a trailing '_' 591 // - naming conflicts with C++ keywords are resolved via a trailing '_'
583 592
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after
1067 private: 1076 private:
1068 Assembler* assembler_; 1077 Assembler* assembler_;
1069 #ifdef DEBUG 1078 #ifdef DEBUG
1070 int space_before_; 1079 int space_before_;
1071 #endif 1080 #endif
1072 }; 1081 };
1073 1082
1074 } } // namespace v8::internal 1083 } } // namespace v8::internal
1075 1084
1076 #endif // V8_IA32_ASSEMBLER_IA32_H_ 1085 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « src/full-codegen.h ('k') | src/ia32/code-stubs-ia32.h » ('j') | src/ia32/ic-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698