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

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

Issue 10831172: Introduced TypeFeedbackId and BailoutId types. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Incorporated review feedback. Created 8 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
« no previous file with comments | « src/hydrogen-instructions.cc ('k') | src/ia32/assembler-ia32.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 870 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 void bind(Label* L); // binds an unbound label L to the current code position 881 void bind(Label* L); // binds an unbound label L to the current code position
882 882
883 // Calls 883 // Calls
884 void call(Label* L); 884 void call(Label* L);
885 void call(byte* entry, RelocInfo::Mode rmode); 885 void call(byte* entry, RelocInfo::Mode rmode);
886 int CallSize(const Operand& adr); 886 int CallSize(const Operand& adr);
887 void call(Register reg) { call(Operand(reg)); } 887 void call(Register reg) { call(Operand(reg)); }
888 void call(const Operand& adr); 888 void call(const Operand& adr);
889 int CallSize(Handle<Code> code, RelocInfo::Mode mode); 889 int CallSize(Handle<Code> code, RelocInfo::Mode mode);
890 void call(Handle<Code> code, 890 void call(Handle<Code> code,
891 RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, 891 RelocInfo::Mode rmode,
892 unsigned ast_id = kNoASTId); 892 TypeFeedbackId id = TypeFeedbackId::None());
893 893
894 // Jumps 894 // Jumps
895 // unconditional jump to L 895 // unconditional jump to L
896 void jmp(Label* L, Label::Distance distance = Label::kFar); 896 void jmp(Label* L, Label::Distance distance = Label::kFar);
897 void jmp(byte* entry, RelocInfo::Mode rmode); 897 void jmp(byte* entry, RelocInfo::Mode rmode);
898 void jmp(Register reg) { jmp(Operand(reg)); } 898 void jmp(Register reg) { jmp(Operand(reg)); }
899 void jmp(const Operand& adr); 899 void jmp(const Operand& adr);
900 void jmp(Handle<Code> code, RelocInfo::Mode rmode); 900 void jmp(Handle<Code> code, RelocInfo::Mode rmode);
901 901
902 // Conditional jumps 902 // Conditional jumps
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
1135 void long_at_put(int pos, uint32_t x) { 1135 void long_at_put(int pos, uint32_t x) {
1136 *reinterpret_cast<uint32_t*>(addr_at(pos)) = x; 1136 *reinterpret_cast<uint32_t*>(addr_at(pos)) = x;
1137 } 1137 }
1138 1138
1139 // code emission 1139 // code emission
1140 void GrowBuffer(); 1140 void GrowBuffer();
1141 inline void emit(uint32_t x); 1141 inline void emit(uint32_t x);
1142 inline void emit(Handle<Object> handle); 1142 inline void emit(Handle<Object> handle);
1143 inline void emit(uint32_t x, 1143 inline void emit(uint32_t x,
1144 RelocInfo::Mode rmode, 1144 RelocInfo::Mode rmode,
1145 unsigned ast_id = kNoASTId); 1145 TypeFeedbackId id = TypeFeedbackId::None());
1146 inline void emit(const Immediate& x); 1146 inline void emit(const Immediate& x);
1147 inline void emit_w(const Immediate& x); 1147 inline void emit_w(const Immediate& x);
1148 1148
1149 // Emit the code-object-relative offset of the label's position 1149 // Emit the code-object-relative offset of the label's position
1150 inline void emit_code_relative_offset(Label* label); 1150 inline void emit_code_relative_offset(Label* label);
1151 1151
1152 // instruction generation 1152 // instruction generation
1153 void emit_arith_b(int op1, int op2, Register dst, int imm8); 1153 void emit_arith_b(int op1, int op2, Register dst, int imm8);
1154 1154
1155 // Emit a basic arithmetic instruction (i.e. first byte of the family is 0x81) 1155 // Emit a basic arithmetic instruction (i.e. first byte of the family is 0x81)
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
1221 private: 1221 private:
1222 Assembler* assembler_; 1222 Assembler* assembler_;
1223 #ifdef DEBUG 1223 #ifdef DEBUG
1224 int space_before_; 1224 int space_before_;
1225 #endif 1225 #endif
1226 }; 1226 };
1227 1227
1228 } } // namespace v8::internal 1228 } } // namespace v8::internal
1229 1229
1230 #endif // V8_IA32_ASSEMBLER_IA32_H_ 1230 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « src/hydrogen-instructions.cc ('k') | src/ia32/assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698