OLD | NEW |
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 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 ZoneList<LOperand*> pointer_operands_; | 436 ZoneList<LOperand*> pointer_operands_; |
437 ZoneList<LOperand*> untagged_operands_; | 437 ZoneList<LOperand*> untagged_operands_; |
438 int position_; | 438 int position_; |
439 int lithium_position_; | 439 int lithium_position_; |
440 }; | 440 }; |
441 | 441 |
442 | 442 |
443 class LEnvironment: public ZoneObject { | 443 class LEnvironment: public ZoneObject { |
444 public: | 444 public: |
445 LEnvironment(Handle<JSFunction> closure, | 445 LEnvironment(Handle<JSFunction> closure, |
| 446 bool is_arguments_adaptor, |
446 int ast_id, | 447 int ast_id, |
447 int parameter_count, | 448 int parameter_count, |
448 int argument_count, | 449 int argument_count, |
449 int value_count, | 450 int value_count, |
450 LEnvironment* outer) | 451 LEnvironment* outer) |
451 : closure_(closure), | 452 : closure_(closure), |
| 453 is_arguments_adaptor_(is_arguments_adaptor), |
452 arguments_stack_height_(argument_count), | 454 arguments_stack_height_(argument_count), |
453 deoptimization_index_(Safepoint::kNoDeoptimizationIndex), | 455 deoptimization_index_(Safepoint::kNoDeoptimizationIndex), |
454 translation_index_(-1), | 456 translation_index_(-1), |
455 ast_id_(ast_id), | 457 ast_id_(ast_id), |
456 parameter_count_(parameter_count), | 458 parameter_count_(parameter_count), |
457 pc_offset_(-1), | 459 pc_offset_(-1), |
458 values_(value_count), | 460 values_(value_count), |
459 representations_(value_count), | 461 representations_(value_count), |
460 spilled_registers_(NULL), | 462 spilled_registers_(NULL), |
461 spilled_double_registers_(NULL), | 463 spilled_double_registers_(NULL), |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 } | 500 } |
499 | 501 |
500 void SetSpilledRegisters(LOperand** registers, | 502 void SetSpilledRegisters(LOperand** registers, |
501 LOperand** double_registers) { | 503 LOperand** double_registers) { |
502 spilled_registers_ = registers; | 504 spilled_registers_ = registers; |
503 spilled_double_registers_ = double_registers; | 505 spilled_double_registers_ = double_registers; |
504 } | 506 } |
505 | 507 |
506 void PrintTo(StringStream* stream); | 508 void PrintTo(StringStream* stream); |
507 | 509 |
| 510 bool is_arguments_adaptor() const { return is_arguments_adaptor_; } |
| 511 |
508 private: | 512 private: |
509 Handle<JSFunction> closure_; | 513 Handle<JSFunction> closure_; |
| 514 bool is_arguments_adaptor_; |
510 int arguments_stack_height_; | 515 int arguments_stack_height_; |
511 int deoptimization_index_; | 516 int deoptimization_index_; |
512 int translation_index_; | 517 int translation_index_; |
513 int ast_id_; | 518 int ast_id_; |
514 int parameter_count_; | 519 int parameter_count_; |
515 int pc_offset_; | 520 int pc_offset_; |
516 ZoneList<LOperand*> values_; | 521 ZoneList<LOperand*> values_; |
517 ZoneList<Representation> representations_; | 522 ZoneList<Representation> representations_; |
518 | 523 |
519 // Allocation index indexed arrays of spill slot operands for registers | 524 // Allocation index indexed arrays of spill slot operands for registers |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
599 ShallowIterator current_iterator_; | 604 ShallowIterator current_iterator_; |
600 }; | 605 }; |
601 | 606 |
602 | 607 |
603 int ElementsKindToShiftSize(ElementsKind elements_kind); | 608 int ElementsKindToShiftSize(ElementsKind elements_kind); |
604 | 609 |
605 | 610 |
606 } } // namespace v8::internal | 611 } } // namespace v8::internal |
607 | 612 |
608 #endif // V8_LITHIUM_H_ | 613 #endif // V8_LITHIUM_H_ |
OLD | NEW |