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

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

Issue 2530143002: MIPS: Fix trampoline emission after switch table generation (Closed)
Patch Set: Created 4 years 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
« no previous file with comments | « no previous file | src/mips/assembler-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 (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 are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // 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 1434 matching lines...) Expand 10 before | Expand all | Expand 10 after
1445 #else 1445 #else
1446 static const int kTrampolineSlotsSize = 4 * kInstrSize; 1446 static const int kTrampolineSlotsSize = 4 * kInstrSize;
1447 #endif 1447 #endif
1448 static const int kMaxBranchOffset = (1 << (18 - 1)) - 1; 1448 static const int kMaxBranchOffset = (1 << (18 - 1)) - 1;
1449 static const int kMaxCompactBranchOffset = (1 << (28 - 1)) - 1; 1449 static const int kMaxCompactBranchOffset = (1 << (28 - 1)) - 1;
1450 static const int kInvalidSlotPos = -1; 1450 static const int kInvalidSlotPos = -1;
1451 1451
1452 // Internal reference positions, required for unbounded internal reference 1452 // Internal reference positions, required for unbounded internal reference
1453 // labels. 1453 // labels.
1454 std::set<int> internal_reference_positions_; 1454 std::set<int> internal_reference_positions_;
1455 bool is_internal_reference(Label* L) {
1456 return internal_reference_positions_.find(L->pos()) !=
1457 internal_reference_positions_.end();
1458 }
1455 1459
1456 void EmittedCompactBranchInstruction() { prev_instr_compact_branch_ = true; } 1460 void EmittedCompactBranchInstruction() { prev_instr_compact_branch_ = true; }
1457 void ClearCompactBranchState() { prev_instr_compact_branch_ = false; } 1461 void ClearCompactBranchState() { prev_instr_compact_branch_ = false; }
1458 bool prev_instr_compact_branch_ = false; 1462 bool prev_instr_compact_branch_ = false;
1459 1463
1460 Trampoline trampoline_; 1464 Trampoline trampoline_;
1461 bool internal_trampoline_exception_; 1465 bool internal_trampoline_exception_;
1462 1466
1463 friend class RegExpMacroAssemblerMIPS; 1467 friend class RegExpMacroAssemblerMIPS;
1464 friend class RelocInfo; 1468 friend class RelocInfo;
1465 friend class CodePatcher; 1469 friend class CodePatcher;
1466 friend class BlockTrampolinePoolScope; 1470 friend class BlockTrampolinePoolScope;
1467 friend class EnsureSpace; 1471 friend class EnsureSpace;
1468 }; 1472 };
1469 1473
1470 1474
1471 class EnsureSpace BASE_EMBEDDED { 1475 class EnsureSpace BASE_EMBEDDED {
1472 public: 1476 public:
1473 explicit EnsureSpace(Assembler* assembler) { 1477 explicit EnsureSpace(Assembler* assembler) {
1474 assembler->CheckBuffer(); 1478 assembler->CheckBuffer();
1475 } 1479 }
1476 }; 1480 };
1477 1481
1478 } // namespace internal 1482 } // namespace internal
1479 } // namespace v8 1483 } // namespace v8
1480 1484
1481 #endif // V8_ARM_ASSEMBLER_MIPS_H_ 1485 #endif // V8_ARM_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « no previous file | src/mips/assembler-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698