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

Side by Side Diff: src/compiler/ia32/code-generator-ia32.cc

Issue 2814753003: [SAB] Validate index before value conversion (Closed)
Patch Set: feedback Created 3 years, 8 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
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « src/builtins/builtins-sharedarraybuffer-gen.cc ('k') | src/compiler/ia32/instruction-selector-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698