Lines Matching defs:code
8 // - Redistributions of source code must retain the above copyright notice,
31 // The original source code covered by the above license above has been
71 // compatible with int, which has caused code-generation bugs.
83 // code generated for some assembly instructions (because they boil down
84 // to a few constants). If this is a problem, we could change the code
87 // and best performance in optimized code.
102 return kAllocationIndexByRegisterCode[reg.code()];
128 static Register toRegister(int code) {
129 Register r = { code };
134 int code() const {
142 // Return the high bit of the register code as a 0 or 1. Used often
147 // Return the 3 low bits of the register code. Used when encoding registers
186 ASSERT(reg.code() != 0);
187 return reg.code() - 1;
220 int code() const {
225 // Return the high bit of the register code as a 0 or 1. Used often
230 // Return the 3 low bits of the register code. Used when encoding registers
433 // // Generate SSE3 floating point code.
435 // // Generate standard x87 or SSE2 floating point code.
541 // for code
550 // GetCode emits any pending (non-emitted) code and fills the descriptor
555 // Read/Modify the code target in the relative branch/call instruction at pc.
557 // to jump to other Code objects in the Code space in the heap.
560 // These functions convert between absolute Addresses of Code objects and
561 // the relative displacements stored in the code.
566 // This is for calls and branches within generated code.
573 // This is for calls and branches to runtime code.
580 // Number of bytes taken up by the branch target in the code.
583 // Distance between the address of the code target in the call instruction
599 // Some x64 JS code is padded with int3 to make it large
624 // Code generation
646 // Aligns code to something that's optimal for a jump target for the platform.
1110 if (dst.code() == src.code()) {
1180 void bind(Label* L); // binds an unbound label L to the current code position
1186 void call(Handle<Code> target, RelocInfo::Mode rmode);
1189 // Should only ever be used in Code objects for calls within the
1190 // same Code object. Should not be used when generating new code (use labels),
1191 // but only when patching existing code.
1204 void jmp(Handle<Code> target, RelocInfo::Mode rmode);
1217 void j(Condition cc, Handle<Code> target, RelocInfo::Mode rmode);
1350 // Check the code size generated from label to here.
1353 // Mark address of the ExitJSFrame code.
1360 // Use --code-comments to enable.
1363 // Writes a single word of data in the code stream.
1404 // code emission
1411 inline void emit_code_target(Handle<Code> target, RelocInfo::Mode rmode);
1431 // the top bit of the register code.
1518 void emit_modrm(int code, Register rm_reg) {
1519 ASSERT(is_uint3(code));
1520 emit(0xC0 | code << 3 | rm_reg.low_bits());
1523 // Emit the code-object-relative offset of the label's position
1526 // Emit machine code for one of the operations ADD, ADC, SUB, SBC,
1560 // Emit machine code for a shift operation.
1580 // Code buffer:
1581 // The buffer into which code and relocation info are generated.
1587 // code generation
1591 List< Handle<Code> > code_targets_;