From 32b2d32cba9d1256ed32a3edbe81f1523f12938b Mon Sep 17 00:00:00 2001 From: Milad Farazmand Date: Thu, 31 Oct 2019 20:53:43 +0000 Subject: [PATCH] Revert "PPC/s390: Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 94456e5c97093e003d13ae04a0ee9c51865f2f68. Reason for revert: Original change's description: > PPC/s390: Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Port 855591a54d160303349a5f0a32fab15825c708d1 > > Original Commit Message: > > Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1795358. > > [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Creates an allow-list of builtins that can still go in code_space > including all TFJ builtins and a small manual list that should be pared > down in the future. > > For builtins that go in RO_SPACE a Code object is created that contains an > immediate trap instruction. Generally these Code objects are still no > smaller than CODE_SPACE Code objects because of the Code object alignment > requirements. This will hopefully be addressed in a follow-up CL either by > relaxing them or removing the instruction stream completely. > > In the snapshot, this reduces code_space from ~152k to ~40k (-112k) and > increases by the same amount. > > R=​delphick@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com > BUG= > LOG=N > > Change-Id: Ibd0713a17df9c873692553f2d57f4ba36bcdb342 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893746 > Reviewed-by: Junliang Yan > Commit-Queue: Milad Farazmand > Cr-Commit-Position: refs/heads/master@{#64704} TBR=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,joransiu@ca.ibm.com,delphick@chromium.org,miladfar@ca.ibm.com Change-Id: I808a4220892dcfef66b4b9d90ab43bf403d2e9b0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1894353 Reviewed-by: Milad Farazmand Commit-Queue: Milad Farazmand Cr-Commit-Position: refs/heads/master@{#64705} --- src/codegen/ppc/macro-assembler-ppc.cc | 3 --- src/codegen/ppc/macro-assembler-ppc.h | 2 -- src/codegen/s390/macro-assembler-s390.cc | 3 --- src/codegen/s390/macro-assembler-s390.h | 2 -- 4 files changed, 10 deletions(-) diff --git a/src/codegen/ppc/macro-assembler-ppc.cc b/src/codegen/ppc/macro-assembler-ppc.cc index 33243fcc6b..498b45705d 100644 --- a/src/codegen/ppc/macro-assembler-ppc.cc +++ b/src/codegen/ppc/macro-assembler-ppc.cc @@ -290,7 +290,6 @@ void TurboAssembler::Call(Handle code, RelocInfo::Mode rmode, bind(&skip); return; } - DCHECK(code->IsExecutable()); Call(code.address(), rmode, cond); } @@ -3045,8 +3044,6 @@ void TurboAssembler::ZeroExtWord32(Register dst, Register src) { clrldi(dst, src, Operand(32)); } -void TurboAssembler::Trap() { stop(); } - } // namespace internal } // namespace v8 diff --git a/src/codegen/ppc/macro-assembler-ppc.h b/src/codegen/ppc/macro-assembler-ppc.h index 2121a73db3..23a386e8a5 100644 --- a/src/codegen/ppc/macro-assembler-ppc.h +++ b/src/codegen/ppc/macro-assembler-ppc.h @@ -368,8 +368,6 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { void MovFromFloatParameter(DoubleRegister dst); void MovFromFloatResult(DoubleRegister dst); - void Trap() override; - // Calls Abort(msg) if the condition cond is not satisfied. // Use --debug_code to enable. void Assert(Condition cond, AbortReason reason, CRegister cr = cr7); diff --git a/src/codegen/s390/macro-assembler-s390.cc b/src/codegen/s390/macro-assembler-s390.cc index e268943819..9c865b0f04 100644 --- a/src/codegen/s390/macro-assembler-s390.cc +++ b/src/codegen/s390/macro-assembler-s390.cc @@ -253,7 +253,6 @@ void TurboAssembler::Call(Handle code, RelocInfo::Mode rmode, Call(ip); return; } - DCHECK(code->IsExecutable()); call(code, rmode); } @@ -4399,8 +4398,6 @@ void TurboAssembler::CallForDeoptimization(Address target, int deopt_id) { Call(target, RelocInfo::RUNTIME_ENTRY); } -void TurboAssembler::Trap() { stop(); } - } // namespace internal } // namespace v8 diff --git a/src/codegen/s390/macro-assembler-s390.h b/src/codegen/s390/macro-assembler-s390.h index ae2ca87e2e..51a6f4ce42 100644 --- a/src/codegen/s390/macro-assembler-s390.h +++ b/src/codegen/s390/macro-assembler-s390.h @@ -852,8 +852,6 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { void MovFromFloatParameter(DoubleRegister dst); void MovFromFloatResult(DoubleRegister dst); - void Trap() override; - // Emit code for a truncating division by a constant. The dividend register is // unchanged and ip gets clobbered. Dividend and result must be different. void TruncateDoubleToI(Isolate* isolate, Zone* zone, Register result,