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

Side by Side Diff: src/a64/lithium-a64.h

Issue 194703008: Fix lazy deopt after tagged binary ops (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: address comment Created 6 years, 9 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 | « no previous file | src/a64/lithium-a64.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 2958 matching lines...) Expand 10 before | Expand all | Expand 10 after
2969 class LChunkBuilder V8_FINAL : public LChunkBuilderBase { 2969 class LChunkBuilder V8_FINAL : public LChunkBuilderBase {
2970 public: 2970 public:
2971 LChunkBuilder(CompilationInfo* info, HGraph* graph, LAllocator* allocator) 2971 LChunkBuilder(CompilationInfo* info, HGraph* graph, LAllocator* allocator)
2972 : LChunkBuilderBase(graph->zone()), 2972 : LChunkBuilderBase(graph->zone()),
2973 chunk_(NULL), 2973 chunk_(NULL),
2974 info_(info), 2974 info_(info),
2975 graph_(graph), 2975 graph_(graph),
2976 status_(UNUSED), 2976 status_(UNUSED),
2977 current_instruction_(NULL), 2977 current_instruction_(NULL),
2978 current_block_(NULL), 2978 current_block_(NULL),
2979 allocator_(allocator), 2979 allocator_(allocator) { }
2980 instruction_pending_deoptimization_environment_(NULL),
2981 pending_deoptimization_ast_id_(BailoutId::None()) { }
2982 2980
2983 // Build the sequence for the graph. 2981 // Build the sequence for the graph.
2984 LPlatformChunk* Build(); 2982 LPlatformChunk* Build();
2985 2983
2986 LInstruction* CheckElideControlInstruction(HControlInstruction* instr); 2984 LInstruction* CheckElideControlInstruction(HControlInstruction* instr);
2987 2985
2988 // Declare methods that deal with the individual node types. 2986 // Declare methods that deal with the individual node types.
2989 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); 2987 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node);
2990 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) 2988 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO)
2991 #undef DECLARE_DO 2989 #undef DECLARE_DO
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
3108 LInstruction* DoArithmeticT(Token::Value op, 3106 LInstruction* DoArithmeticT(Token::Value op,
3109 HBinaryOperation* instr); 3107 HBinaryOperation* instr);
3110 3108
3111 LPlatformChunk* chunk_; 3109 LPlatformChunk* chunk_;
3112 CompilationInfo* info_; 3110 CompilationInfo* info_;
3113 HGraph* const graph_; 3111 HGraph* const graph_;
3114 Status status_; 3112 Status status_;
3115 HInstruction* current_instruction_; 3113 HInstruction* current_instruction_;
3116 HBasicBlock* current_block_; 3114 HBasicBlock* current_block_;
3117 LAllocator* allocator_; 3115 LAllocator* allocator_;
3118 LInstruction* instruction_pending_deoptimization_environment_;
3119 BailoutId pending_deoptimization_ast_id_;
3120 3116
3121 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 3117 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
3122 }; 3118 };
3123 3119
3124 #undef DECLARE_HYDROGEN_ACCESSOR 3120 #undef DECLARE_HYDROGEN_ACCESSOR
3125 #undef DECLARE_CONCRETE_INSTRUCTION 3121 #undef DECLARE_CONCRETE_INSTRUCTION
3126 3122
3127 } } // namespace v8::internal 3123 } } // namespace v8::internal
3128 3124
3129 #endif // V8_A64_LITHIUM_A64_H_ 3125 #endif // V8_A64_LITHIUM_A64_H_
OLDNEW
« no previous file with comments | « no previous file | src/a64/lithium-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698