[Webkit-unassigned] [Bug 131515] Inlining native functions into the JavaScript in the FTL

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Apr 28 16:52:43 PDT 2014


https://bugs.webkit.org/show_bug.cgi?id=131515





--- Comment #27 from Matthew Mirman <mmirman at apple.com>  2014-04-28 16:53:04 PST ---
(In reply to comment #25)
> (From update of attachment 230236 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=230236&action=review
> 
> > LayoutTests/js/regress/script-tests/ftl-library-inlining.js:11
> > +function foo(x, d){
> > +    return x + Math.random() + d.getTimezoneOffset();
> > +}
> > +
> > +noInline(foo);
> > +
> > +for (var i = 0 ; i < 100000000; i++){
> > +    foo(i, new Date());
> > +}
> > +
> > +
> 
> What is the speed-up on this?

13448.2029+-314.2389   ^  12229.0609+-107.4231      ^ definitely 1.0997x faster

> > Source/JavaScriptCore/runtime/JSObject.h:608
> > +    JS_EXPORT_PRIVATE bool isSealed(VM& vm) { return structure(vm)->isSealed(vm); }
> > +    JS_EXPORT_PRIVATE bool isFrozen(VM& vm) { return structure(vm)->isFrozen(vm); }
> > +    JS_EXPORT_PRIVATE bool isExtensible() { return structure()->isExtensible(); }
> 
> You should investigate why these need to be exported.  Can you explain it?

At the moment they aren't all exactly needed but could be in the future.  isExtensible is definitely needed since one of the functions uses it and is a native js function
which is tested.  The other two are connected to javascript runtime functions which could be lowered in the future but aren't currently tested.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list