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

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: Rebased. Feedback. 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
« no previous file with comments | « src/arm/full-codegen-arm.cc ('k') | src/arm/lithium-arm.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 #ifndef V8_ARM_LITHIUM_ARM_H_ 5 #ifndef V8_ARM_LITHIUM_ARM_H_
6 #define V8_ARM_LITHIUM_ARM_H_ 6 #define V8_ARM_LITHIUM_ARM_H_
7 7
8 #include "hydrogen.h" 8 #include "hydrogen.h"
9 #include "lithium-allocator.h" 9 #include "lithium-allocator.h"
10 #include "lithium.h" 10 #include "lithium.h"
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 HValue* hydrogen_value() const { return hydrogen_value_; } 232 HValue* hydrogen_value() const { return hydrogen_value_; }
233 233
234 virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { } 234 virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { }
235 235
236 void MarkAsCall() { bit_field_ = IsCallBits::update(bit_field_, true); } 236 void MarkAsCall() { bit_field_ = IsCallBits::update(bit_field_, true); }
237 bool IsCall() const { return IsCallBits::decode(bit_field_); } 237 bool IsCall() const { return IsCallBits::decode(bit_field_); }
238 238
239 // Interface to the register allocator and iterators. 239 // Interface to the register allocator and iterators.
240 bool ClobbersTemps() const { return IsCall(); } 240 bool ClobbersTemps() const { return IsCall(); }
241 bool ClobbersRegisters() const { return IsCall(); } 241 bool ClobbersRegisters() const { return IsCall(); }
242 virtual bool ClobbersDoubleRegisters() const { return IsCall(); } 242 virtual bool ClobbersDoubleRegisters(Isolate* isolate) const V8_OVERRIDE {
243 return IsCall();
244 }
243 245
244 // Interface to the register allocator and iterators. 246 // Interface to the register allocator and iterators.
245 bool IsMarkedAsCall() const { return IsCall(); } 247 bool IsMarkedAsCall() const { return IsCall(); }
246 248
247 virtual bool HasResult() const = 0; 249 virtual bool HasResult() const = 0;
248 virtual LOperand* result() const = 0; 250 virtual LOperand* result() const = 0;
249 251
250 LOperand* FirstInput() { return InputAt(0); } 252 LOperand* FirstInput() { return InputAt(0); }
251 LOperand* Output() { return HasResult() ? result() : NULL; } 253 LOperand* Output() { return HasResult() ? result() : NULL; }
252 254
(...skipping 1703 matching lines...) Expand 10 before | Expand all | Expand 10 after
1956 public: 1958 public:
1957 explicit LCallRuntime(LOperand* context) { 1959 explicit LCallRuntime(LOperand* context) {
1958 inputs_[0] = context; 1960 inputs_[0] = context;
1959 } 1961 }
1960 1962
1961 LOperand* context() { return inputs_[0]; } 1963 LOperand* context() { return inputs_[0]; }
1962 1964
1963 DECLARE_CONCRETE_INSTRUCTION(CallRuntime, "call-runtime") 1965 DECLARE_CONCRETE_INSTRUCTION(CallRuntime, "call-runtime")
1964 DECLARE_HYDROGEN_ACCESSOR(CallRuntime) 1966 DECLARE_HYDROGEN_ACCESSOR(CallRuntime)
1965 1967
1966 virtual bool ClobbersDoubleRegisters() const V8_OVERRIDE { 1968 virtual bool ClobbersDoubleRegisters(Isolate* isolate) const V8_OVERRIDE {
1967 return save_doubles() == kDontSaveFPRegs; 1969 return save_doubles() == kDontSaveFPRegs;
1968 } 1970 }
1969 1971
1970 const Runtime::Function* function() const { return hydrogen()->function(); } 1972 const Runtime::Function* function() const { return hydrogen()->function(); }
1971 int arity() const { return hydrogen()->argument_count(); } 1973 int arity() const { return hydrogen()->argument_count(); }
1972 SaveFPRegsMode save_doubles() const { return hydrogen()->save_doubles(); } 1974 SaveFPRegsMode save_doubles() const { return hydrogen()->save_doubles(); }
1973 }; 1975 };
1974 1976
1975 1977
1976 class LInteger32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> { 1978 class LInteger32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> {
(...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after
2684 : LChunkBuilderBase(graph->zone()), 2686 : LChunkBuilderBase(graph->zone()),
2685 chunk_(NULL), 2687 chunk_(NULL),
2686 info_(info), 2688 info_(info),
2687 graph_(graph), 2689 graph_(graph),
2688 status_(UNUSED), 2690 status_(UNUSED),
2689 current_instruction_(NULL), 2691 current_instruction_(NULL),
2690 current_block_(NULL), 2692 current_block_(NULL),
2691 next_block_(NULL), 2693 next_block_(NULL),
2692 allocator_(allocator) { } 2694 allocator_(allocator) { }
2693 2695
2696 Isolate* isolate() const { return graph_->isolate(); }
2697
2694 // Build the sequence for the graph. 2698 // Build the sequence for the graph.
2695 LPlatformChunk* Build(); 2699 LPlatformChunk* Build();
2696 2700
2697 LInstruction* CheckElideControlInstruction(HControlInstruction* instr); 2701 LInstruction* CheckElideControlInstruction(HControlInstruction* instr);
2698 2702
2699 // Declare methods that deal with the individual node types. 2703 // Declare methods that deal with the individual node types.
2700 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); 2704 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node);
2701 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) 2705 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO)
2702 #undef DECLARE_DO 2706 #undef DECLARE_DO
2703 2707
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
2837 2841
2838 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2842 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2839 }; 2843 };
2840 2844
2841 #undef DECLARE_HYDROGEN_ACCESSOR 2845 #undef DECLARE_HYDROGEN_ACCESSOR
2842 #undef DECLARE_CONCRETE_INSTRUCTION 2846 #undef DECLARE_CONCRETE_INSTRUCTION
2843 2847
2844 } } // namespace v8::internal 2848 } } // namespace v8::internal
2845 2849
2846 #endif // V8_ARM_LITHIUM_ARM_H_ 2850 #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') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698