Bug 119962 - DFG should inline typedArray.byteOffset
Summary: DFG should inline typedArray.byteOffset
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on: 119961
Blocks:
  Show dependency treegraph
 
Reported: 2013-08-17 14:45 PDT by Filip Pizlo
Modified: 2013-08-19 16:15 PDT (History)
9 users (show)

See Also:


Attachments
work in progress (22.10 KB, patch)
2013-08-17 14:46 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (25.53 KB, patch)
2013-08-17 21:23 PDT, Filip Pizlo
oliver: review+
Details | Formatted Diff | Diff
almost patch for landing (27.37 KB, patch)
2013-08-18 22:00 PDT, Filip Pizlo
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-ews-16 for mac-mountainlion-wk2 (846.11 KB, application/zip)
2013-08-19 03:11 PDT, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2013-08-17 14:45:46 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2013-08-17 14:46:35 PDT
Created attachment 209011 [details]
work in progress

Almost done.
Comment 2 Filip Pizlo 2013-08-17 21:23:17 PDT
Created attachment 209017 [details]
the patch
Comment 3 Oliver Hunt 2013-08-18 10:04:08 PDT
Comment on attachment 209017 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=209017&action=review

> LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int32Array-byteOffset.js:9
> +for (var i = 0; i < 1000000; ++i) {
> +    result += array1.byteOffset;
> +    result += array2.byteOffset;
> +}

Is it possible to have a similar test that neuters midway through?
Comment 4 Filip Pizlo 2013-08-18 21:48:05 PDT
(In reply to comment #3)
> (From update of attachment 209017 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=209017&action=review
> 
> > LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int32Array-byteOffset.js:9
> > +for (var i = 0; i < 1000000; ++i) {
> > +    result += array1.byteOffset;
> > +    result += array2.byteOffset;
> > +}
> 
> Is it possible to have a similar test that neuters midway through?

Oh yeah!

I'm not sure it's meaningful to have a performance test (all operations on views run the same code whether it's neutered or not), but I definitely should add a correctness test to make sure that when neutered, the pointer indirections and subtractions work.
Comment 5 Filip Pizlo 2013-08-18 22:00:39 PDT
Created attachment 209053 [details]
almost patch for landing
Comment 6 Filip Pizlo 2013-08-18 22:01:14 PDT
(In reply to comment #5)
> Created an attachment (id=209053) [details]
> almost patch for landing

Still need to generate expected file for one of the new tests.
Comment 7 Build Bot 2013-08-19 03:11:16 PDT
Comment on attachment 209053 [details]
almost patch for landing

Attachment 209053 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1478819

New failing tests:
fast/js/dfg-byteOffset-neuter.html
Comment 8 Build Bot 2013-08-19 03:11:18 PDT
Created attachment 209070 [details]
Archive of layout-test-results from webkit-ews-16 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-16  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.4
Comment 9 Filip Pizlo 2013-08-19 16:15:43 PDT
Landed in http://trac.webkit.org/changeset/154305