I really hope that if multiple cores increase, they are done in a way which hides them from the programmer.
For example a 32 core CPU, but that appears as a very very fast single core. That's where the concurrency/'threading' issues should live, not in everyones code.
Threads are usually the problem IMHO not the solution.
I don't agree with the suggestion that javascript will need threads either. Javascript works extremely well in a single thread. There isn't really much of a need for threads. Having multiple cores doesn't change that, it just means you might need some abstraction layer like I described above, that utilizes all cores, whilst appearing as a single core.
You're talking about automatic parallelization. There's been quite a bit of research done in this area, but the results aren't that great. Some languages (particularly functional ones) are better suited to automatic parallelization than others, and it's pretty doubtful that you'll see a good automatically parallelizing compiler anytime soon, especially for an imperative interpreted language like Javascript.
Threads are usually the problem IMHO not the solution.
I don't agree with the suggestion that javascript will need threads either. Javascript works extremely well in a single thread. There isn't really much of a need for threads. Having multiple cores doesn't change that, it just means you might need some abstraction layer like I described above, that utilizes all cores, whilst appearing as a single core.