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

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

Issue 260003006: Added a Isolate* parameter to Serializer::enabled(). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 7 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 HValue* hydrogen_value() const { return hydrogen_value_; } 255 HValue* hydrogen_value() const { return hydrogen_value_; }
256 256
257 virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { } 257 virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { }
258 258
259 void MarkAsCall() { bit_field_ = IsCallBits::update(bit_field_, true); } 259 void MarkAsCall() { bit_field_ = IsCallBits::update(bit_field_, true); }
260 bool IsCall() const { return IsCallBits::decode(bit_field_); } 260 bool IsCall() const { return IsCallBits::decode(bit_field_); }
261 261
262 // Interface to the register allocator and iterators. 262 // Interface to the register allocator and iterators.
263 bool ClobbersTemps() const { return IsCall(); } 263 bool ClobbersTemps() const { return IsCall(); }
264 bool ClobbersRegisters() const { return IsCall(); } 264 bool ClobbersRegisters() const { return IsCall(); }
265 virtual bool ClobbersDoubleRegisters() const { return IsCall(); } 265 virtual bool ClobbersDoubleRegisters(Isolate* isolate) const V8_OVERRIDE {
266 return IsCall();
267 }
266 268
267 // Interface to the register allocator and iterators. 269 // Interface to the register allocator and iterators.
268 bool IsMarkedAsCall() const { return IsCall(); } 270 bool IsMarkedAsCall() const { return IsCall(); }
269 271
270 virtual bool HasResult() const = 0; 272 virtual bool HasResult() const = 0;
271 virtual LOperand* result() const = 0; 273 virtual LOperand* result() const = 0;
272 274
273 LOperand* FirstInput() { return InputAt(0); } 275 LOperand* FirstInput() { return InputAt(0); }
274 LOperand* Output() { return HasResult() ? result() : NULL; } 276 LOperand* Output() { return HasResult() ? result() : NULL; }
275 277
(...skipping 1703 matching lines...) Expand 10 before | Expand all | Expand 10 after
1979 public: 1981 public:
1980 explicit LCallRuntime(LOperand* context) { 1982 explicit LCallRuntime(LOperand* context) {
1981 inputs_[0] = context; 1983 inputs_[0] = context;
1982 } 1984 }
1983 1985
1984 LOperand* context() { return inputs_[0]; } 1986 LOperand* context() { return inputs_[0]; }
1985 1987
1986 DECLARE_CONCRETE_INSTRUCTION(CallRuntime, "call-runtime") 1988 DECLARE_CONCRETE_INSTRUCTION(CallRuntime, "call-runtime")
1987 DECLARE_HYDROGEN_ACCESSOR(CallRuntime) 1989 DECLARE_HYDROGEN_ACCESSOR(CallRuntime)
1988 1990
1989 virtual bool ClobbersDoubleRegisters() const V8_OVERRIDE { 1991 virtual bool ClobbersDoubleRegisters(Isolate* isolate) const V8_OVERRIDE {
1990 return save_doubles() == kDontSaveFPRegs; 1992 return save_doubles() == kDontSaveFPRegs;
1991 } 1993 }
1992 1994
1993 const Runtime::Function* function() const { return hydrogen()->function(); } 1995 const Runtime::Function* function() const { return hydrogen()->function(); }
1994 int arity() const { return hydrogen()->argument_count(); } 1996 int arity() const { return hydrogen()->argument_count(); }
1995 SaveFPRegsMode save_doubles() const { return hydrogen()->save_doubles(); } 1997 SaveFPRegsMode save_doubles() const { return hydrogen()->save_doubles(); }
1996 }; 1998 };
1997 1999
1998 2000
1999 class LInteger32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> { 2001 class LInteger32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> {
(...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after
2707 : LChunkBuilderBase(graph->zone()), 2709 : LChunkBuilderBase(graph->zone()),
2708 chunk_(NULL), 2710 chunk_(NULL),
2709 info_(info), 2711 info_(info),
2710 graph_(graph), 2712 graph_(graph),
2711 status_(UNUSED), 2713 status_(UNUSED),
2712 current_instruction_(NULL), 2714 current_instruction_(NULL),
2713 current_block_(NULL), 2715 current_block_(NULL),
2714 next_block_(NULL), 2716 next_block_(NULL),
2715 allocator_(allocator) { } 2717 allocator_(allocator) { }
2716 2718
2719 Isolate* isolate() const { return graph_->isolate(); }
2720
2717 // Build the sequence for the graph. 2721 // Build the sequence for the graph.
2718 LPlatformChunk* Build(); 2722 LPlatformChunk* Build();
2719 2723
2720 LInstruction* CheckElideControlInstruction(HControlInstruction* instr); 2724 LInstruction* CheckElideControlInstruction(HControlInstruction* instr);
2721 2725
2722 // Declare methods that deal with the individual node types. 2726 // Declare methods that deal with the individual node types.
2723 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); 2727 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node);
2724 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) 2728 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO)
2725 #undef DECLARE_DO 2729 #undef DECLARE_DO
2726 2730
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
2860 2864
2861 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2865 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2862 }; 2866 };
2863 2867
2864 #undef DECLARE_HYDROGEN_ACCESSOR 2868 #undef DECLARE_HYDROGEN_ACCESSOR
2865 #undef DECLARE_CONCRETE_INSTRUCTION 2869 #undef DECLARE_CONCRETE_INSTRUCTION
2866 2870
2867 } } // namespace v8::internal 2871 } } // namespace v8::internal
2868 2872
2869 #endif // V8_ARM_LITHIUM_ARM_H_ 2873 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/full-codegen-arm.cc ('k') | src/arm/lithium-arm.cc » ('j') | src/objects-visiting-inl.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698