Bug 151002 - B3 should be able to compile a program with a double constant
Summary: B3 should be able to compile a program with a double constant
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks: 150991
  Show dependency treegraph
 
Reported: 2015-11-07 18:40 PST by Filip Pizlo
Modified: 2015-11-09 16:01 PST (History)
12 users (show)

See Also:


Attachments
building up the support for the compiler returning byproducts (12.83 KB, patch)
2015-11-07 18:42 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
some more (28.77 KB, patch)
2015-11-07 21:42 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
getting close (42.10 KB, patch)
2015-11-08 11:57 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
almost done (64.44 KB, patch)
2015-11-08 17:00 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
probably done (78.14 KB, patch)
2015-11-08 17:57 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (78.61 KB, patch)
2015-11-08 18:10 PST, Filip Pizlo
benjamin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-11-07 18:40:36 PST
Patch forthcoming.
Comment 1 Filip Pizlo 2015-11-07 18:42:09 PST
Created attachment 265009 [details]
building up the support for the compiler returning byproducts
Comment 2 Filip Pizlo 2015-11-07 21:42:52 PST
Created attachment 265011 [details]
some more
Comment 3 Filip Pizlo 2015-11-08 11:57:52 PST
Created attachment 265021 [details]
getting close
Comment 4 Filip Pizlo 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.
Comment 5 Filip Pizlo 2015-11-08 17:57:52 PST
Created attachment 265026 [details]
probably done

Still want to run a perf test, but otherwise it works.
Comment 6 Filip Pizlo 2015-11-08 18:10:41 PST
Created attachment 265027 [details]
the patch

No change to compile times.
Comment 7 WebKit Commit Bot 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.
Comment 8 Benjamin Poulain 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"
Comment 9 Filip Pizlo 2015-11-09 16:01:34 PST
Landed in http://trac.webkit.org/changeset/192183