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

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

Issue 194793002: [v8-dev] ARM: safepoints frame optimization (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 9 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 | « no previous file | src/arm/assembler-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 (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 1428 matching lines...) Expand 10 before | Expand all | Expand 10 after
1439 static const int kMaxNumPending32RelocInfo = kMaxDistToIntPool/kInstrSize; 1439 static const int kMaxNumPending32RelocInfo = kMaxDistToIntPool/kInstrSize;
1440 static const int kMaxNumPending64RelocInfo = kMaxDistToFPPool/kInstrSize; 1440 static const int kMaxNumPending64RelocInfo = kMaxDistToFPPool/kInstrSize;
1441 1441
1442 // Postpone the generation of the constant pool for the specified number of 1442 // Postpone the generation of the constant pool for the specified number of
1443 // instructions. 1443 // instructions.
1444 void BlockConstPoolFor(int instructions); 1444 void BlockConstPoolFor(int instructions);
1445 1445
1446 // Check if is time to emit a constant pool. 1446 // Check if is time to emit a constant pool.
1447 void CheckConstPool(bool force_emit, bool require_jump); 1447 void CheckConstPool(bool force_emit, bool require_jump);
1448 1448
1449 RegList registers_mask() const { return registers_mask_; }
1450 RegList double_registers_mask() const { return double_registers_mask_; }
1451 void set_registers_masks(RegList registers_mask,
Benedikt Meurer 2014/03/13 10:41:49 Nit: One dedicated setter per property.
vincent.belliard 2014/03/13 10:53:37 The aim was to ensure that both masks would always
1452 RegList double_registers_mask) {
1453 registers_mask_ = registers_mask;
1454 double_registers_mask_ = double_registers_mask;
1455 }
1456
1449 protected: 1457 protected:
1450 // Relocation for a type-recording IC has the AST id added to it. This 1458 // Relocation for a type-recording IC has the AST id added to it. This
1451 // member variable is a way to pass the information from the call site to 1459 // member variable is a way to pass the information from the call site to
1452 // the relocation info. 1460 // the relocation info.
1453 TypeFeedbackId recorded_ast_id_; 1461 TypeFeedbackId recorded_ast_id_;
1454 1462
1455 int buffer_space() const { return reloc_info_writer.pos() - pc_; } 1463 int buffer_space() const { return reloc_info_writer.pos() - pc_; }
1456 1464
1457 // Decode branch instruction at pos and return branch target pos 1465 // Decode branch instruction at pos and return branch target pos
1458 int target_at(int pos); 1466 int target_at(int pos);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1552 RelocInfo pending_32_bit_reloc_info_[kMaxNumPending32RelocInfo]; 1560 RelocInfo pending_32_bit_reloc_info_[kMaxNumPending32RelocInfo];
1553 RelocInfo pending_64_bit_reloc_info_[kMaxNumPending64RelocInfo]; 1561 RelocInfo pending_64_bit_reloc_info_[kMaxNumPending64RelocInfo];
1554 // Number of pending reloc info entries in the 32 bits buffer. 1562 // Number of pending reloc info entries in the 32 bits buffer.
1555 int num_pending_32_bit_reloc_info_; 1563 int num_pending_32_bit_reloc_info_;
1556 // Number of pending reloc info entries in the 64 bits buffer. 1564 // Number of pending reloc info entries in the 64 bits buffer.
1557 int num_pending_64_bit_reloc_info_; 1565 int num_pending_64_bit_reloc_info_;
1558 1566
1559 // The bound position, before this we cannot do instruction elimination. 1567 // The bound position, before this we cannot do instruction elimination.
1560 int last_bound_pos_; 1568 int last_bound_pos_;
1561 1569
1570 RegList registers_mask_;
1571 RegList double_registers_mask_;
1572
1562 // Code emission 1573 // Code emission
1563 inline void CheckBuffer(); 1574 inline void CheckBuffer();
1564 void GrowBuffer(); 1575 void GrowBuffer();
1565 inline void emit(Instr x); 1576 inline void emit(Instr x);
1566 1577
1567 // 32-bit immediate values 1578 // 32-bit immediate values
1568 void move_32_bit_immediate(Condition cond, 1579 void move_32_bit_immediate(Condition cond,
1569 Register rd, 1580 Register rd,
1570 SBit s, 1581 SBit s,
1571 const Operand& x); 1582 const Operand& x);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1607 public: 1618 public:
1608 explicit EnsureSpace(Assembler* assembler) { 1619 explicit EnsureSpace(Assembler* assembler) {
1609 assembler->CheckBuffer(); 1620 assembler->CheckBuffer();
1610 } 1621 }
1611 }; 1622 };
1612 1623
1613 1624
1614 } } // namespace v8::internal 1625 } } // namespace v8::internal
1615 1626
1616 #endif // V8_ARM_ASSEMBLER_ARM_H_ 1627 #endif // V8_ARM_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm/assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698