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

Issue 1147503002: MIPS64: Improve long branches utilizing code range. (Closed)

Created:
5 years, 7 months ago by dusmil.imgtec
Modified:
5 years, 6 months ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

MIPS64: Improve long branches utilizing code range. Improves code size of generated regexp in TestSizeOfRegExpCode test by 33%. Execution time of the same test improved by ~10%. Utilizing code range for mips64 enable us to use J/JAL instructions for long branches. TEST=cctest/test-heap/TestSizeOfRegExpCode BUG= Committed: https://crrev.com/962703cac042b5208e809a462b8bfa1722d38359 Cr-Commit-Position: refs/heads/master@{#28867}

Patch Set 1 #

Patch Set 2 : Rebase. #

Patch Set 3 : Add FPU branches. #

Patch Set 4 : Rebase. #

Total comments: 4

Patch Set 5 : Add comments. #

Patch Set 6 : Use CodeRange only for LO space. #

Total comments: 6

Patch Set 7 : Fixed typo, addressed stale comment. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+156 lines, -77 lines) Patch
M src/globals.h View 1 2 3 4 5 1 chunk +7 lines, -0 lines 0 comments Download
M src/heap/spaces.cc View 1 2 3 4 5 6 2 chunks +14 lines, -0 lines 0 comments Download
M src/mips64/assembler-mips64.h View 1 2 3 4 5 6 2 chunks +6 lines, -4 lines 0 comments Download
M src/mips64/assembler-mips64.cc View 1 2 3 11 chunks +57 lines, -26 lines 0 comments Download
M src/mips64/assembler-mips64-inl.h View 3 chunks +19 lines, -30 lines 0 comments Download
M src/mips64/constants-mips64.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/mips64/macro-assembler-mips64.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/mips64/macro-assembler-mips64.cc View 1 2 10 chunks +47 lines, -13 lines 0 comments Download
M src/mips64/simulator-mips64.cc View 1 2 3 1 chunk +3 lines, -3 lines 0 comments Download

Messages

Total messages: 29 (5 generated)
dusmil.imgtec
5 years, 7 months ago (2015-05-22 09:59:17 UTC) #2
dusmil.imgtec
PTAL. This needs approval from v8 team.
5 years, 7 months ago (2015-05-25 09:08:58 UTC) #3
akos.palfi.imgtec
MIPS part LGTM.
5 years, 7 months ago (2015-05-25 10:25:06 UTC) #4
jochen (gone - plz use gerrit)
https://codereview.chromium.org/1147503002/diff/60001/src/globals.h File src/globals.h (right): https://codereview.chromium.org/1147503002/diff/60001/src/globals.h#newcode145 src/globals.h:145: #if V8_TARGET_ARCH_MIPS64 can you explain why this is needed? ...
5 years, 7 months ago (2015-05-26 15:44:35 UTC) #5
dusmil.imgtec
https://codereview.chromium.org/1147503002/diff/60001/src/globals.h File src/globals.h (right): https://codereview.chromium.org/1147503002/diff/60001/src/globals.h#newcode145 src/globals.h:145: #if V8_TARGET_ARCH_MIPS64 On 2015/05/26 15:44:35, jochen wrote: > can ...
5 years, 7 months ago (2015-05-26 16:16:34 UTC) #6
jochen (gone - plz use gerrit)
hum, so V8 is not unlikely to run out of code space memory and crash. ...
5 years, 7 months ago (2015-05-27 14:48:26 UTC) #7
dusmil.imgtec
Not quite, this is already checked on octane and asm.js tests, and we have margins ...
5 years, 6 months ago (2015-05-28 13:45:19 UTC) #8
jochen (gone - plz use gerrit)
how is a 256mb region defined? would all code objects have to be in that ...
5 years, 6 months ago (2015-05-28 14:55:47 UTC) #9
dusmil.imgtec
Right, thanks for info about memory consumption in browser. No, all code objects do not ...
5 years, 6 months ago (2015-05-29 12:06:12 UTC) #10
Erik Corry
Only large objects can span a 256Mbyte boundary, so an alternative implementation would fix large-object ...
5 years, 6 months ago (2015-05-29 13:51:10 UTC) #12
dusmil.imgtec
Exactly, thank you for pointing this out. Yes, we do not need to do anything ...
5 years, 6 months ago (2015-06-01 11:32:42 UTC) #13
Erik Corry
One solution would be to get large objects from the reserved code area, but continue ...
5 years, 6 months ago (2015-06-01 12:45:48 UTC) #14
dusmil.imgtec
Right. New patch set uploaded. PTAL.
5 years, 6 months ago (2015-06-02 10:35:42 UTC) #15
dusmil.imgtec
PTAL.
5 years, 6 months ago (2015-06-04 10:06:51 UTC) #16
Erik Corry
https://codereview.chromium.org/1147503002/diff/100001/src/heap/spaces.cc File src/heap/spaces.cc (right): https://codereview.chromium.org/1147503002/diff/100001/src/heap/spaces.cc#newcode659 src/heap/spaces.cc:659: commit_size > CodePageAreaSize()) { The commit_size includes the CodePageGuardStartOffset(), ...
5 years, 6 months ago (2015-06-04 10:28:15 UTC) #17
dusmil.imgtec
https://codereview.chromium.org/1147503002/diff/100001/src/heap/spaces.cc File src/heap/spaces.cc (right): https://codereview.chromium.org/1147503002/diff/100001/src/heap/spaces.cc#newcode659 src/heap/spaces.cc:659: commit_size > CodePageAreaSize()) { Thank you for spotting this, ...
5 years, 6 months ago (2015-06-04 11:04:41 UTC) #18
dusmil.imgtec
PTAL.
5 years, 6 months ago (2015-06-05 11:33:11 UTC) #19
Erik Corry
LGTM
5 years, 6 months ago (2015-06-05 11:35:47 UTC) #20
jochen (gone - plz use gerrit)
Ulan or Hannes should approve this
5 years, 6 months ago (2015-06-05 12:20:56 UTC) #22
dusmil.imgtec
Hannes, PTAL.
5 years, 6 months ago (2015-06-08 13:15:50 UTC) #23
Hannes Payer (out of office)
LGTM
5 years, 6 months ago (2015-06-08 21:22:58 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1147503002/120001
5 years, 6 months ago (2015-06-09 13:58:53 UTC) #27
commit-bot: I haz the power
Committed patchset #7 (id:120001)
5 years, 6 months ago (2015-06-09 14:50:33 UTC) #28
commit-bot: I haz the power
5 years, 6 months ago (2015-06-09 14:50:46 UTC) #29
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/962703cac042b5208e809a462b8bfa1722d38359
Cr-Commit-Position: refs/heads/master@{#28867}

Powered by Google App Engine
This is Rietveld 408576698