[Webkit-unassigned] [Bug 143926] New: Introduce bytecode intrinsics

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Apr 18 17:05:25 PDT 2015


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

            Bug ID: 143926
           Summary: Introduce bytecode intrinsics
    Classification: Unclassified
           Product: WebKit
           Version: 528+ (Nightly build)
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: utatane.tea at gmail.com

When implementing functions in builtins/*.js, sometimes we require lower level functionality.

For example, in the current Array.from, we use `result[k] = value`.
The spec requires [[DefineOwnProperty]] operation here.
However, current implementation behaves as [[Put]].
So if we implement Array.prototype[k] getter/setter, the difference is observable.

Ideally, reaching here, we would like to use put_by_val_direct bytecode.
However, there's no syntax to generate it directly.

So I propose introducing bytecode level intrinsics into JSC BytecodeCompiler.
Like @call, @apply, we introduce a new node, Intrinsic. These are generated when calling appropriate private symbols in privileged code.
AST parser detects them and generates Intrinsic nodes and BytecodeCompiler detects them and generate required bytecodes.

For example, I'm supposing the following code in builtins/.

@putByValDirect(result, k, value);

And AST parser & bytecode generator detects them and generate `put_by_val_direct`.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150419/1257cb75/attachment.html>


More information about the webkit-unassigned mailing list