Bug 189947 - [JSC] Merge node-jsc Webkit changes upstream
Summary: [JSC] Merge node-jsc Webkit changes upstream
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on: 189971 190116 189949 189991 190121 190131 190137
Blocks:
  Show dependency treegraph
 
Reported: 2018-09-25 08:16 PDT by Koby
Modified: 2018-10-01 06:57 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Koby 2018-09-25 08:16:09 PDT
Hi, I'm Koby Boyango, the authro of node-jsc, a node.js fork to JavaScriptCore and iOS.
Currently, as I needed to make some changes in WebKit, I have my own fork (https://github.com/mceSystems/webkit).

I would love to offer the changes I've made to WebKit, and hopefully merge as much as possible upstream. The changes are mainly around JavaScriptCore, WTF and building the JSCOnly port with cmake. Following the discussion on the webkit-dev mailiing list:
https://lists.webkit.org/pipermail/webkit-dev/2018-September/030140.html
I'm creating this "umbrella" bug, and I'll create a new (blocking) bug for each patch.

This is the first time I'm working with WebKit and try to send patches, so please let me know if i'm not doing something correctly with the patches.

Koby
Comment 1 Yusuke Suzuki 2018-09-27 08:52:23 PDT
(In reply to Koby from comment #0)
> Hi, I'm Koby Boyango, the authro of node-jsc, a node.js fork to
> JavaScriptCore and iOS.
> Currently, as I needed to make some changes in WebKit, I have my own fork
> (https://github.com/mceSystems/webkit).
> 
> I would love to offer the changes I've made to WebKit, and hopefully merge
> as much as possible upstream. The changes are mainly around JavaScriptCore,
> WTF and building the JSCOnly port with cmake. Following the discussion on
> the webkit-dev mailiing list:
> https://lists.webkit.org/pipermail/webkit-dev/2018-September/030140.html
> I'm creating this "umbrella" bug, and I'll create a new (blocking) bug for
> each patch.
> 
> This is the first time I'm working with WebKit and try to send patches, so
> please let me know if i'm not doing something correctly with the patches.
> 
> Koby

Reading https://github.com/mceSystems/node-jsc/blob/master/deps/jscshim/docs/webkit_fork_and_compilation.md document, and I have one suggestion.

> Added CustomAPIValue: Similar in functionality to v8's accessor (and used to implement them), allowing object properties that appear like data properties, but invoke native callbacks when accessed.

JavaScriptCore has a similar functionality, called, CustomValue. While CustomAccessor in JSC looks as an accessor, CustomValue looks like a value, but it invokes a function.
Let's look at RegExpConstructor.cpp's regExpConstructorInput etc. They are values. But they invoke corresponding functions to produce returned values.
You can leverage CustomValue mechanism to implement it I think.
Comment 2 Koby 2018-10-01 03:34:16 PDT
Thanks for taking the time read node-jsc's docs!
When I wanted to implement the accessors api I looked into CustomValue and it didn't seem like I could use it, so I ended up implementing (the similarly, and badly, named) CustomAPIValue. I'll create a bug for it and explain more, but I'll take another look at CustomValue.