OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 RegisterAllocator* allocator() const { return allocator_; } | 336 RegisterAllocator* allocator() const { return allocator_; } |
337 | 337 |
338 CodeGenState* state() { return state_; } | 338 CodeGenState* state() { return state_; } |
339 void set_state(CodeGenState* state) { state_ = state; } | 339 void set_state(CodeGenState* state) { state_ = state; } |
340 | 340 |
341 void AddDeferred(DeferredCode* code) { deferred_.Add(code); } | 341 void AddDeferred(DeferredCode* code) { deferred_.Add(code); } |
342 | 342 |
343 bool in_spilled_code() const { return in_spilled_code_; } | 343 bool in_spilled_code() const { return in_spilled_code_; } |
344 void set_in_spilled_code(bool flag) { in_spilled_code_ = flag; } | 344 void set_in_spilled_code(bool flag) { in_spilled_code_ = flag; } |
345 | 345 |
346 // Return a position of the element at |index_as_smi| + |additional_offset| | |
347 // in FixedArray pointer to which is held in |array|. |index_as_smi| is Smi. | |
348 static Operand FixedArrayElementOperand(Register array, | |
349 Register index_as_smi, | |
350 int additional_offset = 0) { | |
351 int offset = FixedArray::kHeaderSize + additional_offset * kPointerSize; | |
352 return FieldOperand(array, index_as_smi, times_half_pointer_size, offset); | |
353 } | |
354 | |
355 private: | 346 private: |
356 // Type of a member function that generates inline code for a native function. | 347 // Type of a member function that generates inline code for a native function. |
357 typedef void (CodeGenerator::*InlineFunctionGenerator) | 348 typedef void (CodeGenerator::*InlineFunctionGenerator) |
358 (ZoneList<Expression*>*); | 349 (ZoneList<Expression*>*); |
359 | 350 |
360 static const InlineFunctionGenerator kInlineFunctionGenerators[]; | 351 static const InlineFunctionGenerator kInlineFunctionGenerators[]; |
361 | 352 |
362 // Construction/Destruction | 353 // Construction/Destruction |
363 explicit CodeGenerator(MacroAssembler* masm); | 354 explicit CodeGenerator(MacroAssembler* masm); |
364 | 355 |
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
792 friend class CodeGeneratorPatcher; // Used in test-log-stack-tracer.cc | 783 friend class CodeGeneratorPatcher; // Used in test-log-stack-tracer.cc |
793 friend class InlineRuntimeFunctionsTable; | 784 friend class InlineRuntimeFunctionsTable; |
794 | 785 |
795 DISALLOW_COPY_AND_ASSIGN(CodeGenerator); | 786 DISALLOW_COPY_AND_ASSIGN(CodeGenerator); |
796 }; | 787 }; |
797 | 788 |
798 | 789 |
799 } } // namespace v8::internal | 790 } } // namespace v8::internal |
800 | 791 |
801 #endif // V8_IA32_CODEGEN_IA32_H_ | 792 #endif // V8_IA32_CODEGEN_IA32_H_ |
OLD | NEW |