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

Unified Diff: src/mips/macro-assembler-mips.h

Issue 2542403002: MIPS: Use JIC/JIALC offset when possible (Closed)
Patch Set: Simplify using Call and Jump 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 side-by-side diff with in-line comments
Download patch
Index: src/mips/macro-assembler-mips.h
diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h
index 824a3bf14da33d0167e0d4dc01ffd7b7867d067a..5ebfad87d3fb9f4c2901d4d6dd95fd58f5347ab6 100644
--- a/src/mips/macro-assembler-mips.h
+++ b/src/mips/macro-assembler-mips.h
@@ -178,12 +178,15 @@ class MacroAssembler: public Assembler {
#define COND_ARGS Condition cond = al, Register rs = zero_reg, \
const Operand& rt = Operand(zero_reg), BranchDelaySlot bd = PROTECT
- void Jump(Register target, COND_ARGS);
+ void Jump(Register target, int16_t offset = 0, COND_ARGS);
+ void Jump(Register target, Register base, int16_t offset = 0, COND_ARGS);
+ void Jump(Register target, const Operand& offset, COND_ARGS);
void Jump(intptr_t target, RelocInfo::Mode rmode, COND_ARGS);
void Jump(Address target, RelocInfo::Mode rmode, COND_ARGS);
void Jump(Handle<Code> code, RelocInfo::Mode rmode, COND_ARGS);
- static int CallSize(Register target, COND_ARGS);
- void Call(Register target, COND_ARGS);
+ static int CallSize(Register target, int16_t offset = 0, COND_ARGS);
+ void Call(Register target, int16_t offset = 0, COND_ARGS);
+ void Call(Register target, Register base, int16_t offset = 0, COND_ARGS);
static int CallSize(Address target, RelocInfo::Mode rmode, COND_ARGS);
void Call(Address target, RelocInfo::Mode rmode, COND_ARGS);
int CallSize(Handle<Code> code,
@@ -1748,9 +1751,8 @@ const Operand& rt = Operand(zero_reg), BranchDelaySlot bd = PROTECT
bool IsDoubleZeroRegSet() { return has_double_zero_reg_set_; }
private:
- void CallCFunctionHelper(Register function,
- int num_reg_arguments,
- int num_double_arguments);
+ void CallCFunctionHelper(Register function, int num_reg_arguments,
ivica.bogosavljevic 2016/12/12 13:29:39 the function is now a misleading name, a better na
+ int num_double_arguments, uint32_t offset = 0);
inline Register GetRtAsRegisterHelper(const Operand& rt, Register scratch);
inline int32_t GetOffset(int32_t offset, Label* L, OffsetSize bits);

Powered by Google App Engine
This is Rietveld 408576698