Google Chromes JavaScript Virtual Machine (9)

1 Name: #!/usr/bin/anonymous : 2008-09-02 17:47 ID:jt3eC2xi

So Google Chrome is upon us. And it looks interesting so far. And I really like the part about their handling of JavaScript.

We all know Google loves their JavaScript after they used they whole asynchronous part (first implemented by MS in IE 5 to boot) of AJAX in Google Maps spawning the annoyingly bad misuse of AJAX in crappy sites all around the world.

So Google created a JavaScript virtual machine for its browser. (also note that Mozilla and MS are doing the same for their browsers) Google's virtual machine is interesting though.

JavaScript is a a prototype based OOP language. It has no classes. So Google "fixes" this by creating classes of similar objects behind the scenes.

Thoughts on this. The programmer isn't using classes but the run-time will be treating similar objects as if they are part of the same class. Maybe JavaScript should implement a prototype/class hybrid system at the language level if there is such a benefit to this.

2 Name: dmpk2k!hinhT6kz2E : 2008-09-02 18:46 ID:Heaven

Google Chrome will give a kick in the pants to other browser writers. That's good enough reason to like it.

Separate process for each tab with a process manager? I've been wishing for something like this for years, since I usually have over 100 tabs open. Figuring out which tab is eating all the CPU -- or playing fucking music -- is a pain.

> So Google "fixes" this by creating classes of similar objects behind the scenes.

Sounds like Self's maps: http://research.sun.com/self/papers/oopsla89.ps.gz

Self, as a language and implementation, is a goldmine of good ideas (http://research.sun.com/self/papers/papers.html). Naturally, popular dynamically-typed languages completely ignored all of this until recently; it's only been two decades.

3 Name: #!/usr/bin/anonymous : 2008-09-02 21:16 ID:jt3eC2xi

>>2

http://en.wikipedia.org/wiki/Self_(programming_language)

"In 2006, Self was still being developed as part of the Klein project, which was a Self virtual machine written fully in Self."

HOLY FUCK that is profoundly meta as shit. I know that this isn't the first time something like this is done, but once you name the laguage Self, describing that situation is magical.

4 Name: dmpk2k!hinhT6kz2E : 2008-09-02 21:57 ID:Heaven

If you want crazy meta, make sure to look at COLA too: http://piumarta.com/software/cola/

I've read the COLA paper and didn't understand a thing, and Self isn't actually vapour, but the project has recently spun off at least one idea (OMeta) that is having a profound impact in some quarters.

Self, Cola, OMeta and other work at the Viewpoints Research Institute all come from people who once worked on Smalltalk.

5 Name: #!/usr/bin/anonymous : 2008-09-03 01:07 ID:vs13Qfc3

>>2 It's actually exactly like Self's maps:

http://code.google.com/apis/v8/design.html

alot of the VM appears to be patterned after Self's optimizations.

6 Name: #!/usr/bin/anonymous : 2008-09-03 17:11 ID:Heaven

too bad just typing :% in the address bar crashes the entire browser...

7 Name: #!/usr/bin/anonymous : 2008-09-03 20:34 ID:48Z299iq

We must be using different releases, because that doesn't seem to bother chrome on my machine

8 Name: #!/usr/bin/anonymous : 2008-09-03 22:21 ID:Heaven

>>7
i'm using "Official Build 1583" (0.2.149.27), which version are you using?
did you clear out anything that was in the address bar before you typed it?

9 Name: #!/usr/bin/anonymous : 2008-09-04 01:50 ID:PxG1oYQQ

LastMeasure (the nimp.org version) also killed it pretty well on my machine. So much for the ability to kill specific bad processes easily.

This thread has been closed. You cannot post in this thread any longer.