Move OS/compiler/feature detection to public v8config.h header.

From now on the v8config.h header should be the one and
only file where we do (freaky) checks to detect OS, C++
compiler or certain compiler features. Since we need that
both internally and for the public API, the new v8config.h
is the proper place to add (everything is prefixed with V8_
so we are safe).

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/23248006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Clean up the redundant Int32Constant check which is covered by double case

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/22815032

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
grokdump: fix Oddball printing

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/22852021

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Rewrite SamplingCircularQueue

The new implementation:
* uses MemoryBarriers to make sure up-to-date data is accessed on both producer and consumer threads
* will not allow to overwrite records
* doesn't have notion of chunks, instead each entry is aligned on the cache line boundaries

BUG=v8:2814
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/22849002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix compilation on Windows after r16284

BUG=None
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/23361023

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix scoping of function declarations in eval inside non-trivial local scope

R=mstarzinger@chromium.org
BUG=v8:2594

Review URL: https://codereview.chromium.org/22901010

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix crashes of some CPU profiler tests on Windows after r16284

All the tests that started crashing create ProfilerEventsProcessor on the stack. After r16284 SamplingCircularQueue buffer is allocated as a field of the queue instead of separate heap object. This increased self size of ProfilerEventsProcessor by about 1Mb. Windows malloc fails to allocate such an object on the stack and crashes.

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/23093022

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Cleanup and speedup MarkCompactCollector test case.

R=bmeurer@chromium.org
TEST=cctest/test-mark-compact/MarkCompactCollector

Review URL: https://codereview.chromium.org/23112026

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix crash due RegExpAtom method called on RegExpCharacterClass object.

In the RegExpUnparser::VisitText(RegExpText* that, void* data) function always RegExpUnparser::VisitAtom function called via that->elements()->at(i).data.u_atom->Accept(this, data); even if the type of the object is RegExpCharacterClass.

The problem shows using g++ 4.7(.2, .3) since r16232, since GCC optimizes virtual method calls to direct calls based on __final/final hints. Tested on MIPS and x64:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000588928 in v8::internal::RegExpUnparser::VisitAtom(v8::internal::RegExpAtom*, void*) ()

This cleans up the TextElement class to avoid the unsafe+unchecked union access, that caused the crash.

TEST=cctest/test-regexp/ParserRegression
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/22815033

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Delete dead FloatingPointHelper functions

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/22914034

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove hacks for GC stress builders from cctests.

R=machenbach@chromium.org
BUG=cctest

Review URL: https://codereview.chromium.org/22861037

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00