Question

I was recalled that the webkit javascript engine called "JavaScript core" by my friend, however, when i searched around the answer is that safari runs SquirrelFish as its JS engine. My friend told me that it might be an "open source" vs. "non-open source".

That means, webkit is an open source project so that it comes with "JavaScript core" as its JS Engine while safari is not an open source project, it employees SquirrelFish as its JS engine.

Wiki says,

On June 2, 2008, the WebKit project announced they rewrote JavaScriptCore as 'SquirrelFish'

Does this mean that long time ago, the webkit employees JavaScript core as its JS engine but now it has been rewrote and named "SquirrelFish". Hence, the webkit only employees SquirrelFish.

Is my understanding correct?

Thanks

Was it helpful?

Solution

The Wikipedia article for Webkit gives a pretty good summary:

JavaScriptCore

JavaScriptCore is a framework that provides a JavaScript engine for WebKit implementations, and provides this type of scripting in other contexts within OS X.[13][67] JavaScriptCore is originally derived from KDE's JavaScript engine (KJS) library (which is part of the KDE project) and the PCRE regular expression library. Since forking from KJS and PCRE, JavaScriptCore has been improved with many new features and greatly improved performance.[68] On June 2, 2008, the WebKit project announced they rewrote JavaScriptCore as "SquirrelFish", a bytecode interpreter.[29][30] The project evolved into SquirrelFish Extreme (abbreviated SFX, marketed as Nitro), announced on September 18, 2008, which compiles JavaScript into native machine code, eliminating the need for a bytecode interpreter and thus speeding up JavaScript execution.[31]

So I would say that, nowadays, WebKit's JS engine is called Nitro.

OTHER TIPS

Actually, the Nitro is the Apple's market term of JSC, you also could recognise SFX and SF as the internal version name of JSC.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top