| Index: src/s390/macro-assembler-s390.cc
|
| diff --git a/src/s390/macro-assembler-s390.cc b/src/s390/macro-assembler-s390.cc
|
| index f9f7c52bb9e1295f48f9c5614a68cc1cd4dccb65..d5bc55e633c73397b75d963e74a366dc08d840ef 100644
|
| --- a/src/s390/macro-assembler-s390.cc
|
| +++ b/src/s390/macro-assembler-s390.cc
|
| @@ -500,8 +500,8 @@ void MacroAssembler::RecordWriteCodeEntryField(Register js_function,
|
| // Save caller-saved registers. js_function and code_entry are in the
|
| // caller-saved register list.
|
| DCHECK(kJSCallerSaved & js_function.bit());
|
| - DCHECK(kJSCallerSaved & code_entry.bit());
|
| - MultiPush(kJSCallerSaved | r14.bit());
|
| + // DCHECK(kJSCallerSaved & code_entry.bit());
|
| + MultiPush(kJSCallerSaved | code_entry.bit() | r14.bit());
|
|
|
| int argument_count = 3;
|
| PrepareCallCFunction(argument_count, code_entry);
|
| @@ -519,7 +519,7 @@ void MacroAssembler::RecordWriteCodeEntryField(Register js_function,
|
| }
|
|
|
| // Restore caller-saved registers (including js_function and code_entry).
|
| - MultiPop(kJSCallerSaved | r14.bit());
|
| + MultiPop(kJSCallerSaved | code_entry.bit() | r14.bit());
|
|
|
| bind(&done);
|
| }
|
| @@ -4977,6 +4977,14 @@ void MacroAssembler::LoadB(Register dst, const MemOperand& mem) {
|
| #endif
|
| }
|
|
|
| +void MacroAssembler::LoadB(Register dst, Register src) {
|
| +#if V8_TARGET_ARCH_S390X
|
| + lgbr(dst, src);
|
| +#else
|
| + lbr(dst, src);
|
| +#endif
|
| +}
|
| +
|
| void MacroAssembler::LoadlB(Register dst, const MemOperand& mem) {
|
| #if V8_TARGET_ARCH_S390X
|
| llgc(dst, mem);
|
|
|