Bug 151002

Summary: B3 should be able to compile a program with a double constant
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, benjamin, commit-queue, ggaren, mark.lam, mhahnenb, msaboff, nrotem, oliver, ossy, saam, sam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 150991    
Attachments:
Description Flags
building up the support for the compiler returning byproducts
none
some more
none
getting close
none
almost done
none
probably done
none
the patch benjamin: review+

Filip Pizlo
Reported 2015-11-07 18:40:36 PST
Patch forthcoming.
Attachments
building up the support for the compiler returning byproducts (12.83 KB, patch)
2015-11-07 18:42 PST, Filip Pizlo
no flags
some more (28.77 KB, patch)
2015-11-07 21:42 PST, Filip Pizlo
no flags
getting close (42.10 KB, patch)
2015-11-08 11:57 PST, Filip Pizlo
no flags
almost done (64.44 KB, patch)
2015-11-08 17:00 PST, Filip Pizlo
no flags
probably done (78.14 KB, patch)
2015-11-08 17:57 PST, Filip Pizlo
no flags
the patch (78.61 KB, patch)
2015-11-08 18:10 PST, Filip Pizlo
benjamin: review+
Filip Pizlo
Comment 1 2015-11-07 18:42:09 PST
Created attachment 265009 [details] building up the support for the compiler returning byproducts
Filip Pizlo
Comment 2 2015-11-07 21:42:52 PST
Created attachment 265011 [details] some more
Filip Pizlo
Comment 3 2015-11-08 11:57:52 PST
Created attachment 265021 [details] getting close
Filip Pizlo
Comment 4 2015-11-08 17:00:18 PST
Created attachment 265025 [details] almost done Now I just need to compile and run it. And actually write tests for returning double constants.
Filip Pizlo
Comment 5 2015-11-08 17:57:52 PST
Created attachment 265026 [details] probably done Still want to run a perf test, but otherwise it works.
Filip Pizlo
Comment 6 2015-11-08 18:10:41 PST
Created attachment 265027 [details] the patch No change to compile times.
WebKit Commit Bot
Comment 7 2015-11-08 18:13:04 PST
Attachment 265027 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/b3/testb3.cpp:1833: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1834: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1834: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1858: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1859: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1859: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1891: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1892: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1892: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1921: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1922: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1922: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1951: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1952: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1952: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1984: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1985: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:1985: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2014: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2015: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2015: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2047: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2048: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2048: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2077: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2078: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2078: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2110: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2111: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2111: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2399: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2399: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2400: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/B3Procedure.h:205: The parameter name "size" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/b3/B3DataSection.h:37: The parameter name "size" adds no information, so it should be removed. [readability/parameter_name] [5] Total errors found: 35 in 29 files If any of these errors are false positives, please file a bug against check-webkit-style.
Benjamin Poulain
Comment 8 2015-11-09 14:30:29 PST
Comment on attachment 265027 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=265027&action=review > Source/JavaScriptCore/b3/B3Compilation.h:49 > +// Then you keep the Compilation object alive for as lok as you want to be able to run the code. If "as lok as" -> "as long as"
Filip Pizlo
Comment 9 2015-11-09 16:01:34 PST
Note You need to log in before you can comment on or make changes to this bug.