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

Issue 2542403002: MIPS: Use JIC/JIALC offset when possible (Closed)

Created:
4 years ago by miran.karic
Modified:
3 years, 8 months ago
Reviewers:
ivica.bogosavljevic, predrag.rudic, ilija.pavlovic, miran.karic, Marija Antic, dusan.simicic
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

MIPS: Use JIC/JIALC offset when possible Until now JIC and JIALC compact branches were emited without using their offset. Here we optimize their use by using offset after addition and/or load immediate operations. The CL also fixes a problem with deserialization that occurs when a code object ends with an optimized LUI/AUI and JIC/JIALC instruction pair. Deserializer processed these instruction pairs by moving to a location immediately after it, but when this location is the end of the object it would finish with the current object before doing relocation. This is fixed by moving the deserializer one instruction before the location of the instruction pair end. BUG= Review-Url: https://codereview.chromium.org/2542403002 Cr-Commit-Position: refs/heads/master@{#44841} Committed: https://chromium.googlesource.com/v8/v8/+/fe916cd224a5bf8cbf1e8503a192c27fdbcda9f7

Patch Set 1 #

Total comments: 12

Patch Set 2 : Simplify using Call and Jump #

Total comments: 2

Patch Set 3 : Fix deserialization problem, rebase to master #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+259 lines, -94 lines) Patch
M src/builtins/mips/builtins-mips.cc View 1 2 8 chunks +8 lines, -16 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 2 2 chunks +2 lines, -4 lines 0 comments Download
M src/crankshaft/mips/lithium-codegen-mips.cc View 1 2 3 chunks +3 lines, -7 lines 0 comments Download
M src/debug/mips/debug-mips.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M src/mips/assembler-mips.h View 1 2 3 chunks +16 lines, -5 lines 1 comment Download
M src/mips/assembler-mips.cc View 1 2 2 chunks +12 lines, -5 lines 0 comments Download
M src/mips/assembler-mips-inl.h View 1 2 1 chunk +11 lines, -2 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 3 chunks +3 lines, -6 lines 0 comments Download
M src/mips/macro-assembler-mips.h View 1 2 2 chunks +8 lines, -6 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 2 16 chunks +188 lines, -43 lines 3 comments Download

Messages

Total messages: 18 (7 generated)
miran.karic
PTAL.
4 years ago (2016-12-02 08:16:50 UTC) #2
ivica.bogosavljevic
https://codereview.chromium.org/2542403002/diff/1/src/builtins/mips/builtins-mips.cc File src/builtins/mips/builtins-mips.cc (right): https://codereview.chromium.org/2542403002/diff/1/src/builtins/mips/builtins-mips.cc#newcode532 src/builtins/mips/builtins-mips.cc:532: __ Jump(v0, Code::kHeaderSize - kHeapObjectTag); Common routine https://codereview.chromium.org/2542403002/diff/1/src/compiler/mips/code-generator-mips.cc File ...
4 years ago (2016-12-05 10:48:48 UTC) #3
miran.karic
https://codereview.chromium.org/2542403002/diff/1/src/mips/code-stubs-mips.cc File src/mips/code-stubs-mips.cc (right): https://codereview.chromium.org/2542403002/diff/1/src/mips/code-stubs-mips.cc#newcode1119 src/mips/code-stubs-mips.cc:1119: __ Addu(t9, a1, a2); On 2016/12/05 10:48:47, ivica.bogosavljevic wrote: ...
4 years ago (2016-12-05 12:44:48 UTC) #4
miran.karic
Uploaded a new patch set, PTAL.
4 years ago (2016-12-08 11:47:59 UTC) #5
ivica.bogosavljevic
lgtm with nits https://codereview.chromium.org/2542403002/diff/20001/src/mips/assembler-mips.cc File src/mips/assembler-mips.cc (right): https://codereview.chromium.org/2542403002/diff/20001/src/mips/assembler-mips.cc#newcode3205 src/mips/assembler-mips.cc:3205: // Assemble the 32 bit value. ...
4 years ago (2016-12-12 13:29:40 UTC) #6
ivica.bogosavljevic
lgtm
3 years, 8 months ago (2017-04-24 13:42:39 UTC) #9
dusan.simicic
https://codereview.chromium.org/2542403002/diff/40001/src/mips/assembler-mips.h File src/mips/assembler-mips.h (right): https://codereview.chromium.org/2542403002/diff/40001/src/mips/assembler-mips.h#newcode604 src/mips/assembler-mips.h:604: (kInstructionsFor32BitConstant - 1) * kInstrSize, If you changed this ...
3 years, 8 months ago (2017-04-24 14:48:56 UTC) #10
miran.karic
On 2017/04/24 14:48:56, dusan.simicic wrote: > https://codereview.chromium.org/2542403002/diff/40001/src/mips/assembler-mips.h > File src/mips/assembler-mips.h (right): > > https://codereview.chromium.org/2542403002/diff/40001/src/mips/assembler-mips.h#newcode604 > ...
3 years, 8 months ago (2017-04-25 09:57:47 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2542403002/40001
3 years, 8 months ago (2017-04-25 11:05:19 UTC) #13
dusan.simicic
https://codereview.chromium.org/2542403002/diff/40001/src/mips/macro-assembler-mips.cc File src/mips/macro-assembler-mips.cc (right): https://codereview.chromium.org/2542403002/diff/40001/src/mips/macro-assembler-mips.cc#newcode3606 src/mips/macro-assembler-mips.cc:3606: DCHECK(is_int16(offset)); 'offset' always fits in int16 in this method, ...
3 years, 8 months ago (2017-04-25 11:24:10 UTC) #15
commit-bot: I haz the power
3 years, 8 months ago (2017-04-25 11:32:20 UTC) #18
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/v8/v8/+/fe916cd224a5bf8cbf1e8503a192c27fdbc...

Powered by Google App Engine
This is Rietveld 408576698