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

Side by Side Diff: src/mips/lithium-mips.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/mips/full-codegen-mips.cc ('k') | src/mips/lithium-mips.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_MIPS_LITHIUM_MIPS_H_ 5 #ifndef V8_MIPS_LITHIUM_MIPS_H_
6 #define V8_MIPS_LITHIUM_MIPS_H_ 6 #define V8_MIPS_LITHIUM_MIPS_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 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 HValue* hydrogen_value() const { return hydrogen_value_; } 229 HValue* hydrogen_value() const { return hydrogen_value_; }
230 230
231 virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { } 231 virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { }
232 232
233 void MarkAsCall() { bit_field_ = IsCallBits::update(bit_field_, true); } 233 void MarkAsCall() { bit_field_ = IsCallBits::update(bit_field_, true); }
234 bool IsCall() const { return IsCallBits::decode(bit_field_); } 234 bool IsCall() const { return IsCallBits::decode(bit_field_); }
235 235
236 // Interface to the register allocator and iterators. 236 // Interface to the register allocator and iterators.
237 bool ClobbersTemps() const { return IsCall(); } 237 bool ClobbersTemps() const { return IsCall(); }
238 bool ClobbersRegisters() const { return IsCall(); } 238 bool ClobbersRegisters() const { return IsCall(); }
239 virtual bool ClobbersDoubleRegisters() const { return IsCall(); } 239 virtual bool ClobbersDoubleRegisters(Isolate* isolate) const V8_OVERRIDE {
240 return IsCall();
241 }
240 242
241 // Interface to the register allocator and iterators. 243 // Interface to the register allocator and iterators.
242 bool IsMarkedAsCall() const { return IsCall(); } 244 bool IsMarkedAsCall() const { return IsCall(); }
243 245
244 virtual bool HasResult() const = 0; 246 virtual bool HasResult() const = 0;
245 virtual LOperand* result() const = 0; 247 virtual LOperand* result() const = 0;
246 248
247 LOperand* FirstInput() { return InputAt(0); } 249 LOperand* FirstInput() { return InputAt(0); }
248 LOperand* Output() { return HasResult() ? result() : NULL; } 250 LOperand* Output() { return HasResult() ? result() : NULL; }
249 251
(...skipping 1667 matching lines...) Expand 10 before | Expand all | Expand 10 after
1917 public: 1919 public:
1918 explicit LCallRuntime(LOperand* context) { 1920 explicit LCallRuntime(LOperand* context) {
1919 inputs_[0] = context; 1921 inputs_[0] = context;
1920 } 1922 }
1921 1923
1922 LOperand* context() { return inputs_[0]; } 1924 LOperand* context() { return inputs_[0]; }
1923 1925
1924 DECLARE_CONCRETE_INSTRUCTION(CallRuntime, "call-runtime") 1926 DECLARE_CONCRETE_INSTRUCTION(CallRuntime, "call-runtime")
1925 DECLARE_HYDROGEN_ACCESSOR(CallRuntime) 1927 DECLARE_HYDROGEN_ACCESSOR(CallRuntime)
1926 1928
1927 virtual bool ClobbersDoubleRegisters() const V8_OVERRIDE { 1929 virtual bool ClobbersDoubleRegisters(Isolate* isolate) const V8_OVERRIDE {
1928 return save_doubles() == kDontSaveFPRegs; 1930 return save_doubles() == kDontSaveFPRegs;
1929 } 1931 }
1930 1932
1931 const Runtime::Function* function() const { return hydrogen()->function(); } 1933 const Runtime::Function* function() const { return hydrogen()->function(); }
1932 int arity() const { return hydrogen()->argument_count(); } 1934 int arity() const { return hydrogen()->argument_count(); }
1933 SaveFPRegsMode save_doubles() const { return hydrogen()->save_doubles(); } 1935 SaveFPRegsMode save_doubles() const { return hydrogen()->save_doubles(); }
1934 }; 1936 };
1935 1937
1936 1938
1937 class LInteger32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> { 1939 class LInteger32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> {
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after
2641 : LChunkBuilderBase(graph->zone()), 2643 : LChunkBuilderBase(graph->zone()),
2642 chunk_(NULL), 2644 chunk_(NULL),
2643 info_(info), 2645 info_(info),
2644 graph_(graph), 2646 graph_(graph),
2645 status_(UNUSED), 2647 status_(UNUSED),
2646 current_instruction_(NULL), 2648 current_instruction_(NULL),
2647 current_block_(NULL), 2649 current_block_(NULL),
2648 next_block_(NULL), 2650 next_block_(NULL),
2649 allocator_(allocator) { } 2651 allocator_(allocator) { }
2650 2652
2653 Isolate* isolate() const { return graph_->isolate(); }
2654
2651 // Build the sequence for the graph. 2655 // Build the sequence for the graph.
2652 LPlatformChunk* Build(); 2656 LPlatformChunk* Build();
2653 2657
2654 LInstruction* CheckElideControlInstruction(HControlInstruction* instr); 2658 LInstruction* CheckElideControlInstruction(HControlInstruction* instr);
2655 2659
2656 // Declare methods that deal with the individual node types. 2660 // Declare methods that deal with the individual node types.
2657 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); 2661 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node);
2658 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) 2662 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO)
2659 #undef DECLARE_DO 2663 #undef DECLARE_DO
2660 2664
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
2793 2797
2794 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2798 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2795 }; 2799 };
2796 2800
2797 #undef DECLARE_HYDROGEN_ACCESSOR 2801 #undef DECLARE_HYDROGEN_ACCESSOR
2798 #undef DECLARE_CONCRETE_INSTRUCTION 2802 #undef DECLARE_CONCRETE_INSTRUCTION
2799 2803
2800 } } // namespace v8::internal 2804 } } // namespace v8::internal
2801 2805
2802 #endif // V8_MIPS_LITHIUM_MIPS_H_ 2806 #endif // V8_MIPS_LITHIUM_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/full-codegen-mips.cc ('k') | src/mips/lithium-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698