Go to file
bmeurer@chromium.org 17ec357ac7 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: http://v8.googlecode.com/svn/branches/bleeding_edge@16289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 11:06:16 +00:00
benchmarks More fixes for V8 benchmark version 7. 2012-03-15 17:13:50 +00:00
build Avoid -O3 in nacl as it does not play well with -W. 2013-08-20 08:12:19 +00:00
include Move OS/compiler/feature detection to public v8config.h header. 2013-08-23 07:32:25 +00:00
preparser Factor out toolset definitions in a separate gypi file 2013-07-10 11:15:16 +00:00
samples Only depend on icudata on windows. 2013-07-11 11:01:00 +00:00
src Fix crash due RegExpAtom method called on RegExpCharacterClass object. 2013-08-23 11:06:16 +00:00
test Cleanup and speedup MarkCompactCollector test case. 2013-08-23 11:04:25 +00:00
tools Rewrite SamplingCircularQueue 2013-08-23 08:22:07 +00:00
.gitignore Add "benchmarks" test suite 2013-08-05 14:54:09 +00:00
AUTHORS Fix a crash when generating forward jumps to labels at very high assembly offsets 2013-08-01 08:13:08 +00:00
ChangeLog Prepare push to trunk. Now working on version 3.21.3. 2013-08-22 12:26:30 +00:00
DEPS Update V8's dependencies: 2013-07-31 13:41:12 +00:00
LICENSE Update LICENSE file 2012-01-03 16:38:42 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
Makefile Generate grokdump constants with 'make grokdump' now. 2013-08-02 09:02:02 +00:00
Makefile.android Enable building for android on x86_64 machines. 2013-07-17 08:37:48 +00:00
Makefile.nacl Fix gyp_v8 to work with use_system_icu=1 2013-07-15 15:41:21 +00:00
OWNERS Add myself to OWNERS. 2013-06-27 11:37:47 +00:00
PRESUBMIT.py Add gate keeper logic to presubmit commit check. 2013-07-31 09:16:31 +00:00