OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/compilation-info.h" | 7 #include "src/compilation-info.h" |
8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" |
9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" |
10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" |
(...skipping 762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
773 __ asm_instr(i.InputRegister(0), i.InputOperand(1)); \ | 773 __ asm_instr(i.InputRegister(0), i.InputOperand(1)); \ |
774 } \ | 774 } \ |
775 } \ | 775 } \ |
776 } while (0) | 776 } while (0) |
777 | 777 |
778 #define ASSEMBLE_ATOMIC_BINOP(bin_inst, mov_inst, cmpxchg_inst) \ | 778 #define ASSEMBLE_ATOMIC_BINOP(bin_inst, mov_inst, cmpxchg_inst) \ |
779 do { \ | 779 do { \ |
780 Label binop; \ | 780 Label binop; \ |
781 __ bind(&binop); \ | 781 __ bind(&binop); \ |
782 __ mov_inst(eax, i.MemoryOperand(1)); \ | 782 __ mov_inst(eax, i.MemoryOperand(1)); \ |
783 __ mov_inst(i.TempRegister(0), Operand(eax)); \ | 783 __ Move(i.TempRegister(0), eax); \ |
784 __ bin_inst(i.TempRegister(0), i.InputRegister(0)); \ | 784 __ bin_inst(i.TempRegister(0), i.InputRegister(0)); \ |
785 __ lock(); \ | 785 __ lock(); \ |
786 __ cmpxchg_inst(i.MemoryOperand(1), i.TempRegister(0)); \ | 786 __ cmpxchg_inst(i.MemoryOperand(1), i.TempRegister(0)); \ |
787 __ j(not_equal, &binop); \ | 787 __ j(not_equal, &binop); \ |
788 } while (false) | 788 } while (false) |
789 | 789 |
790 void CodeGenerator::AssembleDeconstructFrame() { | 790 void CodeGenerator::AssembleDeconstructFrame() { |
791 __ mov(esp, ebp); | 791 __ mov(esp, ebp); |
792 __ pop(ebp); | 792 __ pop(ebp); |
793 } | 793 } |
(...skipping 1982 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2776 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 2776 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; |
2777 __ Nop(padding_size); | 2777 __ Nop(padding_size); |
2778 } | 2778 } |
2779 } | 2779 } |
2780 | 2780 |
2781 #undef __ | 2781 #undef __ |
2782 | 2782 |
2783 } // namespace compiler | 2783 } // namespace compiler |
2784 } // namespace internal | 2784 } // namespace internal |
2785 } // namespace v8 | 2785 } // namespace v8 |
OLD | NEW |