Bug 79609

Summary: LLInt should support JSVALUE64
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: rniwa
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 79608    
Bug Blocks:    
Attachments:
Description Flags
it begins
none
work in progress
none
work in progress
none
work in progress
none
work in progress
none
work in progress
none
work in progress
none
work in progress
none
work in progress
none
work in progress
none
the patch
none
the patch
buildbot: commit-queue-
the patch barraclough: review+

Filip Pizlo
Reported 2012-02-26 15:28:28 PST
Patch forthcoming.
Attachments
it begins (58.42 KB, patch)
2012-02-26 15:41 PST, Filip Pizlo
no flags
work in progress (40.85 KB, patch)
2012-02-26 20:16 PST, Filip Pizlo
no flags
work in progress (61.50 KB, patch)
2012-02-27 17:23 PST, Filip Pizlo
no flags
work in progress (67.81 KB, patch)
2012-02-28 17:14 PST, Filip Pizlo
no flags
work in progress (87.65 KB, patch)
2012-03-06 20:19 PST, Filip Pizlo
no flags
work in progress (87.65 KB, patch)
2012-03-06 20:27 PST, Filip Pizlo
no flags
work in progress (108.01 KB, patch)
2012-03-08 19:49 PST, Filip Pizlo
no flags
work in progress (114.93 KB, patch)
2012-03-08 20:56 PST, Filip Pizlo
no flags
work in progress (125.66 KB, patch)
2012-03-09 16:25 PST, Filip Pizlo
no flags
work in progress (125.69 KB, patch)
2012-03-09 16:52 PST, Filip Pizlo
no flags
the patch (125.23 KB, patch)
2012-03-09 23:28 PST, Filip Pizlo
no flags
the patch (125.52 KB, patch)
2012-03-09 23:36 PST, Filip Pizlo
buildbot: commit-queue-
the patch (126.66 KB, patch)
2012-03-10 00:24 PST, Filip Pizlo
barraclough: review+
Filip Pizlo
Comment 1 2012-02-26 15:41:22 PST
Created attachment 128933 [details] it begins Work in progress. Note that this includes https://bugs.webkit.org/show_bug.cgi?id=79608 for now, since that hasn't landed yet.
Filip Pizlo
Comment 2 2012-02-26 20:16:01 PST
Created attachment 128941 [details] work in progress
Filip Pizlo
Comment 3 2012-02-27 17:23:21 PST
Created attachment 129143 [details] work in progress Filled in more of the 64-bit code.
Filip Pizlo
Comment 4 2012-02-28 17:14:57 PST
Created attachment 129358 [details] work in progress Almost half way there!
Filip Pizlo
Comment 5 2012-03-06 20:19:56 PST
Created attachment 130527 [details] work in progress More than half done.
Filip Pizlo
Comment 6 2012-03-06 20:27:35 PST
Created attachment 130528 [details] work in progress Same as previous but with typo fixes. Turns out the offlineasm's parser and semantic analyzer emits useful error messages.
Filip Pizlo
Comment 7 2012-03-08 19:49:24 PST
Created attachment 130957 [details] work in progress Almost there.
Filip Pizlo
Comment 8 2012-03-08 19:54:17 PST
Filip Pizlo
Comment 9 2012-03-08 20:56:23 PST
Created attachment 130966 [details] work in progress All of the code is written. Offlineasm compiles it fine, but I have no idea if clang will be happy with offlineasm's input, and if it is, if it'll run at all. Next step: having fun playing with seg faults.
Filip Pizlo
Comment 10 2012-03-09 16:25:37 PST
Created attachment 131132 [details] work in progress It's passing most run-javascriptcore-tests. Still more work to be done, though.
Filip Pizlo
Comment 11 2012-03-09 16:52:30 PST
Created attachment 131136 [details] work in progress Fixed some silly goofs, like one that was preventing the get_by_id/put_by_id fast paths from being taken.
Filip Pizlo
Comment 12 2012-03-09 23:28:24 PST
Created attachment 131158 [details] the patch It's ready.
Filip Pizlo
Comment 13 2012-03-09 23:36:23 PST
Created attachment 131159 [details] the patch Wrote a changelog.
Build Bot
Comment 14 2012-03-10 00:11:18 PST
Filip Pizlo
Comment 15 2012-03-10 00:24:02 PST
Created attachment 131161 [details] the patch Fix Mac build and a minor bug in op_to_jsnumber.
Oliver Hunt
Comment 16 2012-03-10 11:31:10 PST
Comment on attachment 131161 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=131161&action=review This looks fine to me (other than the unnecessary release mode hash lookups :( ) but i'll let gavin make the final call > Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:233 > + if (exec->globalData().interpreter->getOpcodeID(pc[0].u.opcode) == op_ret) { Doesn't this result in a hash lookup even in release builds without logging?
Filip Pizlo
Comment 17 2012-03-10 12:25:46 PST
(In reply to comment #16) > (From update of attachment 131161 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=131161&action=review > > This looks fine to me (other than the unnecessary release mode hash lookups :( ) but i'll let gavin make the final call This patch does not introduce any unnecessary hash lookups. > > > Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:233 > > + if (exec->globalData().interpreter->getOpcodeID(pc[0].u.opcode) == op_ret) { > > Doesn't this result in a hash lookup even in release builds without logging? No. That function only gets called with execution tracing is enabled. It is not enabled by default in any builds.
Gavin Barraclough
Comment 18 2012-03-10 14:46:39 PST
Comment on attachment 131161 [details] the patch r+, but see email
Gavin Barraclough
Comment 19 2012-03-10 14:48:46 PST
Comment on attachment 131161 [details] the patch Scratch the email comment. r+, all looks good, commit away!
Filip Pizlo
Comment 20 2012-03-10 16:35:58 PST
Ryosuke Niwa
Comment 21 2012-03-10 20:03:06 PST
I'm not certain but maybe this regressed Dromaeo/sunspider-crypto-sha1 (or that undone the temporary gain made by http://trac.webkit.org/changeset/109705/)? http://webkit-perf.appspot.com/graph.html#tests=[[39655,2001,32196]]&sel=none&displayrange=7&datatype=running
Note You need to log in before you can comment on or make changes to this bug.