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

Issue 10544196: Defer creating Handles for HConstants to the code generation phase. (Closed)

Created:
8 years, 6 months ago by sanjoy
Modified:
8 years, 5 months ago
CC:
v8-dev
Visibility:
Public.

Description

Defer creating Handles for HConstants to the code generation phase. BUG= TEST= Committed: https://code.google.com/p/v8/source/detail?r=12048

Patch Set 1 #

Patch Set 2 : Tenure numbers allocated on the heap. #

Patch Set 3 : Handle Smi's and Strings more intelligently. #

Patch Set 4 : Fix performance regression. #

Patch Set 5 : Rebase & cosmetic changes. #

Total comments: 9

Patch Set 6 : Review. #

Total comments: 4

Patch Set 7 : Review. #

Total comments: 16

Patch Set 8 : Review. #

Total comments: 15

Patch Set 9 : Review. #

Total comments: 2

Patch Set 10 : Review #

Unified diffs Side-by-side diffs Delta from patch set Stats (+197 lines, -91 lines) Patch
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 7 8 9 5 chunks +18 lines, -16 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 7 8 9 4 chunks +18 lines, -7 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 5 6 7 8 9 4 chunks +66 lines, -24 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 2 3 4 5 6 7 8 9 3 chunks +67 lines, -18 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 7 8 9 3 chunks +13 lines, -13 lines 0 comments Download
M src/lithium.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M src/lithium.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 7 8 9 2 chunks +10 lines, -10 lines 0 comments Download

Messages

Total messages: 18 (0 generated)
sanjoy
8 years, 6 months ago (2012-06-15 23:22:09 UTC) #1
sanjoy
8 years, 6 months ago (2012-06-15 23:29:51 UTC) #2
sanjoy
8 years, 6 months ago (2012-06-18 08:31:47 UTC) #3
sanjoy
Looks like we have to cache the int32_t and the double version of numerical constants ...
8 years, 6 months ago (2012-06-18 13:00:30 UTC) #4
sanjoy
Rebase on current master + minor changes.
8 years, 6 months ago (2012-06-20 12:29:20 UTC) #5
sanjoy
8 years, 6 months ago (2012-06-20 22:26:28 UTC) #6
sanjoy
8 years, 6 months ago (2012-06-21 14:11:35 UTC) #7
sanjoy
8 years, 6 months ago (2012-06-25 14:56:01 UTC) #8
sanjoy
8 years, 5 months ago (2012-06-27 12:51:55 UTC) #9
Michael Starzinger
This change adds a large amount of complexity. Can we maybe get by with lazy ...
8 years, 5 months ago (2012-07-09 09:57:09 UTC) #10
sanjoy
https://chromiumcodereview.appspot.com/10544196/diff/31001/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): https://chromiumcodereview.appspot.com/10544196/diff/31001/src/hydrogen-instructions.h#newcode2454 src/hydrogen-instructions.h:2454: HConstant(int32_t integer_value, Representation r, Handle<Object> handle); On 2012/07/09 09:57:09, ...
8 years, 5 months ago (2012-07-09 13:47:37 UTC) #11
Michael Starzinger
https://chromiumcodereview.appspot.com/10544196/diff/31001/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): https://chromiumcodereview.appspot.com/10544196/diff/31001/src/hydrogen-instructions.h#newcode2454 src/hydrogen-instructions.h:2454: HConstant(int32_t integer_value, Representation r, Handle<Object> handle); On 2012/07/09 13:47:37, ...
8 years, 5 months ago (2012-07-09 15:36:21 UTC) #12
sanjoy
Yes, H_CONSTANT_DOUBLE only gets called when building the HGraph. For some reason I had assumed ...
8 years, 5 months ago (2012-07-09 17:44:58 UTC) #13
Michael Starzinger
This is going into the right direction. I think this should be the last round. ...
8 years, 5 months ago (2012-07-10 12:05:51 UTC) #14
sanjoy
Review and port changes to ARM. https://chromiumcodereview.appspot.com/10544196/diff/46001/src/hydrogen-instructions.cc File src/hydrogen-instructions.cc (right): https://chromiumcodereview.appspot.com/10544196/diff/46001/src/hydrogen-instructions.cc#newcode1397 src/hydrogen-instructions.cc:1397: has_int32_value_ = BitCast<int64_t>(roundtrip_value) ...
8 years, 5 months ago (2012-07-10 19:25:17 UTC) #15
Michael Starzinger
Last round of comments. https://chromiumcodereview.appspot.com/10544196/diff/30005/src/arm/lithium-codegen-arm.cc File src/arm/lithium-codegen-arm.cc (right): https://chromiumcodereview.appspot.com/10544196/diff/30005/src/arm/lithium-codegen-arm.cc#newcode391 src/arm/lithium-codegen-arm.cc:391: HConstant* constant = chunk_->LookupConstant(op); We ...
8 years, 5 months ago (2012-07-11 09:16:10 UTC) #16
sanjoy
http://codereview.chromium.org/10544196/diff/30005/src/arm/lithium-codegen-arm.cc File src/arm/lithium-codegen-arm.cc (right): http://codereview.chromium.org/10544196/diff/30005/src/arm/lithium-codegen-arm.cc#newcode391 src/arm/lithium-codegen-arm.cc:391: HConstant* constant = chunk_->LookupConstant(op); On 2012/07/11 09:16:10, Michael Starzinger ...
8 years, 5 months ago (2012-07-11 10:54:07 UTC) #17
Michael Starzinger
8 years, 5 months ago (2012-07-11 14:19:22 UTC) #18
LGTM (if two nits are addressed).

https://chromiumcodereview.appspot.com/10544196/diff/49001/src/hydrogen-instr...
File src/hydrogen-instructions.cc (right):

https://chromiumcodereview.appspot.com/10544196/diff/49001/src/hydrogen-instr...
src/hydrogen-instructions.cc:1433: 
Remove this empty newline.

https://chromiumcodereview.appspot.com/10544196/diff/49001/src/hydrogen-instr...
File src/hydrogen-instructions.h (right):

https://chromiumcodereview.appspot.com/10544196/diff/49001/src/hydrogen-instr...
src/hydrogen-instructions.h:2524: // either case the HConstant has a numeric
value.
Drop this block of comments and the empty newline!

Powered by Google App Engine
This is Rietveld 408576698