therubyracer 0.9.0beta4 → 0.9.0beta5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of therubyracer might be problematic. Click here for more details.
- data/.gitignore +1 -0
- data/Rakefile +0 -11
- data/ext/v8/extconf.rb +9 -9
- data/ext/v8/v8_external.cpp +40 -10
- data/lib/v8/cli.rb +2 -1
- data/lib/v8/version.rb +1 -1
- data/spec/redjs/.gitignore +1 -0
- data/therubyracer.gemspec +2 -3
- metadata +33 -779
- data/ext/v8/upstream/Makefile +0 -38
- data/ext/v8/upstream/detect_cpu.rb +0 -27
- data/ext/v8/upstream/fpic-on-linux-amd64.patch +0 -13
- data/ext/v8/upstream/scons/CHANGES.txt +0 -5183
- data/ext/v8/upstream/scons/LICENSE.txt +0 -20
- data/ext/v8/upstream/scons/MANIFEST +0 -202
- data/ext/v8/upstream/scons/PKG-INFO +0 -13
- data/ext/v8/upstream/scons/README.txt +0 -273
- data/ext/v8/upstream/scons/RELEASE.txt +0 -1040
- data/ext/v8/upstream/scons/engine/SCons/Action.py +0 -1256
- data/ext/v8/upstream/scons/engine/SCons/Builder.py +0 -868
- data/ext/v8/upstream/scons/engine/SCons/CacheDir.py +0 -217
- data/ext/v8/upstream/scons/engine/SCons/Conftest.py +0 -794
- data/ext/v8/upstream/scons/engine/SCons/Debug.py +0 -237
- data/ext/v8/upstream/scons/engine/SCons/Defaults.py +0 -485
- data/ext/v8/upstream/scons/engine/SCons/Environment.py +0 -2327
- data/ext/v8/upstream/scons/engine/SCons/Errors.py +0 -207
- data/ext/v8/upstream/scons/engine/SCons/Executor.py +0 -636
- data/ext/v8/upstream/scons/engine/SCons/Job.py +0 -435
- data/ext/v8/upstream/scons/engine/SCons/Memoize.py +0 -292
- data/ext/v8/upstream/scons/engine/SCons/Node/Alias.py +0 -153
- data/ext/v8/upstream/scons/engine/SCons/Node/FS.py +0 -3220
- data/ext/v8/upstream/scons/engine/SCons/Node/Python.py +0 -128
- data/ext/v8/upstream/scons/engine/SCons/Node/__init__.py +0 -1341
- data/ext/v8/upstream/scons/engine/SCons/Options/BoolOption.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Options/EnumOption.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Options/ListOption.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Options/PackageOption.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Options/PathOption.py +0 -76
- data/ext/v8/upstream/scons/engine/SCons/Options/__init__.py +0 -74
- data/ext/v8/upstream/scons/engine/SCons/PathList.py +0 -232
- data/ext/v8/upstream/scons/engine/SCons/Platform/__init__.py +0 -236
- data/ext/v8/upstream/scons/engine/SCons/Platform/aix.py +0 -70
- data/ext/v8/upstream/scons/engine/SCons/Platform/cygwin.py +0 -55
- data/ext/v8/upstream/scons/engine/SCons/Platform/darwin.py +0 -46
- data/ext/v8/upstream/scons/engine/SCons/Platform/hpux.py +0 -46
- data/ext/v8/upstream/scons/engine/SCons/Platform/irix.py +0 -44
- data/ext/v8/upstream/scons/engine/SCons/Platform/os2.py +0 -58
- data/ext/v8/upstream/scons/engine/SCons/Platform/posix.py +0 -264
- data/ext/v8/upstream/scons/engine/SCons/Platform/sunos.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Platform/win32.py +0 -386
- data/ext/v8/upstream/scons/engine/SCons/SConf.py +0 -1038
- data/ext/v8/upstream/scons/engine/SCons/SConsign.py +0 -381
- data/ext/v8/upstream/scons/engine/SCons/Scanner/C.py +0 -132
- data/ext/v8/upstream/scons/engine/SCons/Scanner/D.py +0 -74
- data/ext/v8/upstream/scons/engine/SCons/Scanner/Dir.py +0 -111
- data/ext/v8/upstream/scons/engine/SCons/Scanner/Fortran.py +0 -320
- data/ext/v8/upstream/scons/engine/SCons/Scanner/IDL.py +0 -48
- data/ext/v8/upstream/scons/engine/SCons/Scanner/LaTeX.py +0 -378
- data/ext/v8/upstream/scons/engine/SCons/Scanner/Prog.py +0 -103
- data/ext/v8/upstream/scons/engine/SCons/Scanner/RC.py +0 -55
- data/ext/v8/upstream/scons/engine/SCons/Scanner/__init__.py +0 -415
- data/ext/v8/upstream/scons/engine/SCons/Script/Interactive.py +0 -386
- data/ext/v8/upstream/scons/engine/SCons/Script/Main.py +0 -1360
- data/ext/v8/upstream/scons/engine/SCons/Script/SConsOptions.py +0 -944
- data/ext/v8/upstream/scons/engine/SCons/Script/SConscript.py +0 -642
- data/ext/v8/upstream/scons/engine/SCons/Script/__init__.py +0 -414
- data/ext/v8/upstream/scons/engine/SCons/Sig.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Subst.py +0 -911
- data/ext/v8/upstream/scons/engine/SCons/Taskmaster.py +0 -1030
- data/ext/v8/upstream/scons/engine/SCons/Tool/386asm.py +0 -61
- data/ext/v8/upstream/scons/engine/SCons/Tool/BitKeeper.py +0 -65
- data/ext/v8/upstream/scons/engine/SCons/Tool/CVS.py +0 -73
- data/ext/v8/upstream/scons/engine/SCons/Tool/FortranCommon.py +0 -247
- data/ext/v8/upstream/scons/engine/SCons/Tool/JavaCommon.py +0 -324
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/__init__.py +0 -56
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/arch.py +0 -61
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/common.py +0 -210
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/netframework.py +0 -84
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/sdk.py +0 -321
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/vc.py +0 -367
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/vs.py +0 -497
- data/ext/v8/upstream/scons/engine/SCons/Tool/Perforce.py +0 -104
- data/ext/v8/upstream/scons/engine/SCons/Tool/PharLapCommon.py +0 -138
- data/ext/v8/upstream/scons/engine/SCons/Tool/RCS.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/SCCS.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/Subversion.py +0 -71
- data/ext/v8/upstream/scons/engine/SCons/Tool/__init__.py +0 -675
- data/ext/v8/upstream/scons/engine/SCons/Tool/aixc++.py +0 -82
- data/ext/v8/upstream/scons/engine/SCons/Tool/aixcc.py +0 -74
- data/ext/v8/upstream/scons/engine/SCons/Tool/aixf77.py +0 -80
- data/ext/v8/upstream/scons/engine/SCons/Tool/aixlink.py +0 -76
- data/ext/v8/upstream/scons/engine/SCons/Tool/applelink.py +0 -71
- data/ext/v8/upstream/scons/engine/SCons/Tool/ar.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/as.py +0 -78
- data/ext/v8/upstream/scons/engine/SCons/Tool/bcc32.py +0 -82
- data/ext/v8/upstream/scons/engine/SCons/Tool/c++.py +0 -99
- data/ext/v8/upstream/scons/engine/SCons/Tool/cc.py +0 -114
- data/ext/v8/upstream/scons/engine/SCons/Tool/cvf.py +0 -58
- data/ext/v8/upstream/scons/engine/SCons/Tool/default.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Tool/dmd.py +0 -224
- data/ext/v8/upstream/scons/engine/SCons/Tool/dvi.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/dvipdf.py +0 -125
- data/ext/v8/upstream/scons/engine/SCons/Tool/dvips.py +0 -94
- data/ext/v8/upstream/scons/engine/SCons/Tool/f77.py +0 -62
- data/ext/v8/upstream/scons/engine/SCons/Tool/f90.py +0 -62
- data/ext/v8/upstream/scons/engine/SCons/Tool/f95.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/filesystem.py +0 -98
- data/ext/v8/upstream/scons/engine/SCons/Tool/fortran.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/g++.py +0 -90
- data/ext/v8/upstream/scons/engine/SCons/Tool/g77.py +0 -73
- data/ext/v8/upstream/scons/engine/SCons/Tool/gas.py +0 -53
- data/ext/v8/upstream/scons/engine/SCons/Tool/gcc.py +0 -80
- data/ext/v8/upstream/scons/engine/SCons/Tool/gfortran.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/gnulink.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/gs.py +0 -81
- data/ext/v8/upstream/scons/engine/SCons/Tool/hpc++.py +0 -85
- data/ext/v8/upstream/scons/engine/SCons/Tool/hpcc.py +0 -53
- data/ext/v8/upstream/scons/engine/SCons/Tool/hplink.py +0 -77
- data/ext/v8/upstream/scons/engine/SCons/Tool/icc.py +0 -59
- data/ext/v8/upstream/scons/engine/SCons/Tool/icl.py +0 -52
- data/ext/v8/upstream/scons/engine/SCons/Tool/ifl.py +0 -72
- data/ext/v8/upstream/scons/engine/SCons/Tool/ifort.py +0 -90
- data/ext/v8/upstream/scons/engine/SCons/Tool/ilink.py +0 -59
- data/ext/v8/upstream/scons/engine/SCons/Tool/ilink32.py +0 -60
- data/ext/v8/upstream/scons/engine/SCons/Tool/install.py +0 -229
- data/ext/v8/upstream/scons/engine/SCons/Tool/intelc.py +0 -490
- data/ext/v8/upstream/scons/engine/SCons/Tool/ipkg.py +0 -71
- data/ext/v8/upstream/scons/engine/SCons/Tool/jar.py +0 -110
- data/ext/v8/upstream/scons/engine/SCons/Tool/javac.py +0 -234
- data/ext/v8/upstream/scons/engine/SCons/Tool/javah.py +0 -138
- data/ext/v8/upstream/scons/engine/SCons/Tool/latex.py +0 -79
- data/ext/v8/upstream/scons/engine/SCons/Tool/lex.py +0 -99
- data/ext/v8/upstream/scons/engine/SCons/Tool/link.py +0 -121
- data/ext/v8/upstream/scons/engine/SCons/Tool/linkloc.py +0 -112
- data/ext/v8/upstream/scons/engine/SCons/Tool/m4.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/masm.py +0 -77
- data/ext/v8/upstream/scons/engine/SCons/Tool/midl.py +0 -90
- data/ext/v8/upstream/scons/engine/SCons/Tool/mingw.py +0 -159
- data/ext/v8/upstream/scons/engine/SCons/Tool/mslib.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/mslink.py +0 -266
- data/ext/v8/upstream/scons/engine/SCons/Tool/mssdk.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Tool/msvc.py +0 -269
- data/ext/v8/upstream/scons/engine/SCons/Tool/msvs.py +0 -1439
- data/ext/v8/upstream/scons/engine/SCons/Tool/mwcc.py +0 -208
- data/ext/v8/upstream/scons/engine/SCons/Tool/mwld.py +0 -107
- data/ext/v8/upstream/scons/engine/SCons/Tool/nasm.py +0 -72
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/__init__.py +0 -314
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/ipk.py +0 -185
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/msi.py +0 -526
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/rpm.py +0 -367
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_tarbz2.py +0 -43
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_targz.py +0 -43
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_zip.py +0 -43
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/tarbz2.py +0 -44
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/targz.py +0 -44
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/zip.py +0 -44
- data/ext/v8/upstream/scons/engine/SCons/Tool/pdf.py +0 -78
- data/ext/v8/upstream/scons/engine/SCons/Tool/pdflatex.py +0 -83
- data/ext/v8/upstream/scons/engine/SCons/Tool/pdftex.py +0 -108
- data/ext/v8/upstream/scons/engine/SCons/Tool/qt.py +0 -336
- data/ext/v8/upstream/scons/engine/SCons/Tool/rmic.py +0 -121
- data/ext/v8/upstream/scons/engine/SCons/Tool/rpcgen.py +0 -70
- data/ext/v8/upstream/scons/engine/SCons/Tool/rpm.py +0 -132
- data/ext/v8/upstream/scons/engine/SCons/Tool/sgiar.py +0 -68
- data/ext/v8/upstream/scons/engine/SCons/Tool/sgic++.py +0 -58
- data/ext/v8/upstream/scons/engine/SCons/Tool/sgicc.py +0 -53
- data/ext/v8/upstream/scons/engine/SCons/Tool/sgilink.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunar.py +0 -67
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunc++.py +0 -142
- data/ext/v8/upstream/scons/engine/SCons/Tool/suncc.py +0 -58
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunf77.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunf90.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunf95.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunlink.py +0 -77
- data/ext/v8/upstream/scons/engine/SCons/Tool/swig.py +0 -186
- data/ext/v8/upstream/scons/engine/SCons/Tool/tar.py +0 -73
- data/ext/v8/upstream/scons/engine/SCons/Tool/tex.py +0 -805
- data/ext/v8/upstream/scons/engine/SCons/Tool/textfile.py +0 -175
- data/ext/v8/upstream/scons/engine/SCons/Tool/tlib.py +0 -53
- data/ext/v8/upstream/scons/engine/SCons/Tool/wix.py +0 -100
- data/ext/v8/upstream/scons/engine/SCons/Tool/yacc.py +0 -131
- data/ext/v8/upstream/scons/engine/SCons/Tool/zip.py +0 -100
- data/ext/v8/upstream/scons/engine/SCons/Util.py +0 -1645
- data/ext/v8/upstream/scons/engine/SCons/Variables/BoolVariable.py +0 -91
- data/ext/v8/upstream/scons/engine/SCons/Variables/EnumVariable.py +0 -107
- data/ext/v8/upstream/scons/engine/SCons/Variables/ListVariable.py +0 -139
- data/ext/v8/upstream/scons/engine/SCons/Variables/PackageVariable.py +0 -109
- data/ext/v8/upstream/scons/engine/SCons/Variables/PathVariable.py +0 -147
- data/ext/v8/upstream/scons/engine/SCons/Variables/__init__.py +0 -317
- data/ext/v8/upstream/scons/engine/SCons/Warnings.py +0 -228
- data/ext/v8/upstream/scons/engine/SCons/__init__.py +0 -49
- data/ext/v8/upstream/scons/engine/SCons/compat/__init__.py +0 -302
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_UserString.py +0 -98
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_hashlib.py +0 -91
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_itertools.py +0 -124
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_optparse.py +0 -1725
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_sets.py +0 -583
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_sets15.py +0 -176
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_shlex.py +0 -325
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_subprocess.py +0 -1296
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_textwrap.py +0 -382
- data/ext/v8/upstream/scons/engine/SCons/compat/builtins.py +0 -187
- data/ext/v8/upstream/scons/engine/SCons/cpp.py +0 -598
- data/ext/v8/upstream/scons/engine/SCons/dblite.py +0 -248
- data/ext/v8/upstream/scons/engine/SCons/exitfuncs.py +0 -77
- data/ext/v8/upstream/scons/os_spawnv_fix.diff +0 -83
- data/ext/v8/upstream/scons/scons-time.1 +0 -1017
- data/ext/v8/upstream/scons/scons.1 +0 -15179
- data/ext/v8/upstream/scons/sconsign.1 +0 -208
- data/ext/v8/upstream/scons/script/scons +0 -184
- data/ext/v8/upstream/scons/script/scons-time +0 -1529
- data/ext/v8/upstream/scons/script/scons.bat +0 -31
- data/ext/v8/upstream/scons/script/sconsign +0 -508
- data/ext/v8/upstream/scons/setup.cfg +0 -6
- data/ext/v8/upstream/scons/setup.py +0 -427
- data/ext/v8/upstream/v8/.gitignore +0 -33
- data/ext/v8/upstream/v8/AUTHORS +0 -42
- data/ext/v8/upstream/v8/ChangeLog +0 -2663
- data/ext/v8/upstream/v8/LICENSE +0 -52
- data/ext/v8/upstream/v8/LICENSE.strongtalk +0 -29
- data/ext/v8/upstream/v8/LICENSE.v8 +0 -26
- data/ext/v8/upstream/v8/LICENSE.valgrind +0 -45
- data/ext/v8/upstream/v8/SConstruct +0 -1473
- data/ext/v8/upstream/v8/build/README.txt +0 -25
- data/ext/v8/upstream/v8/build/all.gyp +0 -18
- data/ext/v8/upstream/v8/build/armu.gypi +0 -32
- data/ext/v8/upstream/v8/build/common.gypi +0 -82
- data/ext/v8/upstream/v8/build/gyp_v8 +0 -145
- data/ext/v8/upstream/v8/include/v8-debug.h +0 -394
- data/ext/v8/upstream/v8/include/v8-preparser.h +0 -116
- data/ext/v8/upstream/v8/include/v8-profiler.h +0 -505
- data/ext/v8/upstream/v8/include/v8-testing.h +0 -104
- data/ext/v8/upstream/v8/include/v8.h +0 -4000
- data/ext/v8/upstream/v8/include/v8stdint.h +0 -53
- data/ext/v8/upstream/v8/preparser/SConscript +0 -38
- data/ext/v8/upstream/v8/preparser/preparser-process.cc +0 -169
- data/ext/v8/upstream/v8/src/SConscript +0 -380
- data/ext/v8/upstream/v8/src/accessors.cc +0 -766
- data/ext/v8/upstream/v8/src/accessors.h +0 -121
- data/ext/v8/upstream/v8/src/allocation-inl.h +0 -49
- data/ext/v8/upstream/v8/src/allocation.cc +0 -122
- data/ext/v8/upstream/v8/src/allocation.h +0 -143
- data/ext/v8/upstream/v8/src/api.cc +0 -5678
- data/ext/v8/upstream/v8/src/api.h +0 -572
- data/ext/v8/upstream/v8/src/apinatives.js +0 -110
- data/ext/v8/upstream/v8/src/apiutils.h +0 -73
- data/ext/v8/upstream/v8/src/arguments.h +0 -116
- data/ext/v8/upstream/v8/src/arm/assembler-arm-inl.h +0 -353
- data/ext/v8/upstream/v8/src/arm/assembler-arm.cc +0 -2877
- data/ext/v8/upstream/v8/src/arm/assembler-arm.h +0 -1382
- data/ext/v8/upstream/v8/src/arm/builtins-arm.cc +0 -1634
- data/ext/v8/upstream/v8/src/arm/code-stubs-arm.cc +0 -6917
- data/ext/v8/upstream/v8/src/arm/code-stubs-arm.h +0 -623
- data/ext/v8/upstream/v8/src/arm/codegen-arm-inl.h +0 -48
- data/ext/v8/upstream/v8/src/arm/codegen-arm.cc +0 -7437
- data/ext/v8/upstream/v8/src/arm/codegen-arm.h +0 -595
- data/ext/v8/upstream/v8/src/arm/constants-arm.cc +0 -152
- data/ext/v8/upstream/v8/src/arm/constants-arm.h +0 -778
- data/ext/v8/upstream/v8/src/arm/cpu-arm.cc +0 -149
- data/ext/v8/upstream/v8/src/arm/debug-arm.cc +0 -317
- data/ext/v8/upstream/v8/src/arm/deoptimizer-arm.cc +0 -737
- data/ext/v8/upstream/v8/src/arm/disasm-arm.cc +0 -1503
- data/ext/v8/upstream/v8/src/arm/frames-arm.cc +0 -45
- data/ext/v8/upstream/v8/src/arm/frames-arm.h +0 -168
- data/ext/v8/upstream/v8/src/arm/full-codegen-arm.cc +0 -4374
- data/ext/v8/upstream/v8/src/arm/ic-arm.cc +0 -1793
- data/ext/v8/upstream/v8/src/arm/jump-target-arm.cc +0 -174
- data/ext/v8/upstream/v8/src/arm/lithium-arm.cc +0 -2120
- data/ext/v8/upstream/v8/src/arm/lithium-arm.h +0 -2179
- data/ext/v8/upstream/v8/src/arm/lithium-codegen-arm.cc +0 -4132
- data/ext/v8/upstream/v8/src/arm/lithium-codegen-arm.h +0 -329
- data/ext/v8/upstream/v8/src/arm/lithium-gap-resolver-arm.cc +0 -305
- data/ext/v8/upstream/v8/src/arm/lithium-gap-resolver-arm.h +0 -84
- data/ext/v8/upstream/v8/src/arm/macro-assembler-arm.cc +0 -2939
- data/ext/v8/upstream/v8/src/arm/macro-assembler-arm.h +0 -1071
- data/ext/v8/upstream/v8/src/arm/regexp-macro-assembler-arm.cc +0 -1287
- data/ext/v8/upstream/v8/src/arm/regexp-macro-assembler-arm.h +0 -253
- data/ext/v8/upstream/v8/src/arm/register-allocator-arm-inl.h +0 -100
- data/ext/v8/upstream/v8/src/arm/register-allocator-arm.cc +0 -63
- data/ext/v8/upstream/v8/src/arm/register-allocator-arm.h +0 -44
- data/ext/v8/upstream/v8/src/arm/simulator-arm.cc +0 -3288
- data/ext/v8/upstream/v8/src/arm/simulator-arm.h +0 -413
- data/ext/v8/upstream/v8/src/arm/stub-cache-arm.cc +0 -4034
- data/ext/v8/upstream/v8/src/arm/virtual-frame-arm-inl.h +0 -59
- data/ext/v8/upstream/v8/src/arm/virtual-frame-arm.cc +0 -843
- data/ext/v8/upstream/v8/src/arm/virtual-frame-arm.h +0 -523
- data/ext/v8/upstream/v8/src/array.js +0 -1249
- data/ext/v8/upstream/v8/src/assembler.cc +0 -1067
- data/ext/v8/upstream/v8/src/assembler.h +0 -823
- data/ext/v8/upstream/v8/src/ast-inl.h +0 -112
- data/ext/v8/upstream/v8/src/ast.cc +0 -1078
- data/ext/v8/upstream/v8/src/ast.h +0 -2234
- data/ext/v8/upstream/v8/src/atomicops.h +0 -167
- data/ext/v8/upstream/v8/src/atomicops_internals_arm_gcc.h +0 -145
- data/ext/v8/upstream/v8/src/atomicops_internals_mips_gcc.h +0 -169
- data/ext/v8/upstream/v8/src/atomicops_internals_x86_gcc.cc +0 -126
- data/ext/v8/upstream/v8/src/atomicops_internals_x86_gcc.h +0 -287
- data/ext/v8/upstream/v8/src/atomicops_internals_x86_macosx.h +0 -301
- data/ext/v8/upstream/v8/src/atomicops_internals_x86_msvc.h +0 -203
- data/ext/v8/upstream/v8/src/bignum-dtoa.cc +0 -655
- data/ext/v8/upstream/v8/src/bignum-dtoa.h +0 -81
- data/ext/v8/upstream/v8/src/bignum.cc +0 -768
- data/ext/v8/upstream/v8/src/bignum.h +0 -140
- data/ext/v8/upstream/v8/src/bootstrapper.cc +0 -2138
- data/ext/v8/upstream/v8/src/bootstrapper.h +0 -185
- data/ext/v8/upstream/v8/src/builtins.cc +0 -1708
- data/ext/v8/upstream/v8/src/builtins.h +0 -368
- data/ext/v8/upstream/v8/src/bytecodes-irregexp.h +0 -105
- data/ext/v8/upstream/v8/src/cached-powers.cc +0 -177
- data/ext/v8/upstream/v8/src/cached-powers.h +0 -65
- data/ext/v8/upstream/v8/src/char-predicates-inl.h +0 -94
- data/ext/v8/upstream/v8/src/char-predicates.h +0 -65
- data/ext/v8/upstream/v8/src/checks.cc +0 -110
- data/ext/v8/upstream/v8/src/checks.h +0 -296
- data/ext/v8/upstream/v8/src/circular-queue-inl.h +0 -53
- data/ext/v8/upstream/v8/src/circular-queue.cc +0 -122
- data/ext/v8/upstream/v8/src/circular-queue.h +0 -103
- data/ext/v8/upstream/v8/src/code-stubs.cc +0 -240
- data/ext/v8/upstream/v8/src/code-stubs.h +0 -971
- data/ext/v8/upstream/v8/src/code.h +0 -68
- data/ext/v8/upstream/v8/src/codegen-inl.h +0 -68
- data/ext/v8/upstream/v8/src/codegen.cc +0 -505
- data/ext/v8/upstream/v8/src/codegen.h +0 -245
- data/ext/v8/upstream/v8/src/compilation-cache.cc +0 -540
- data/ext/v8/upstream/v8/src/compilation-cache.h +0 -287
- data/ext/v8/upstream/v8/src/compiler.cc +0 -792
- data/ext/v8/upstream/v8/src/compiler.h +0 -307
- data/ext/v8/upstream/v8/src/contexts.cc +0 -327
- data/ext/v8/upstream/v8/src/contexts.h +0 -382
- data/ext/v8/upstream/v8/src/conversions-inl.h +0 -110
- data/ext/v8/upstream/v8/src/conversions.cc +0 -1125
- data/ext/v8/upstream/v8/src/conversions.h +0 -122
- data/ext/v8/upstream/v8/src/counters.cc +0 -93
- data/ext/v8/upstream/v8/src/counters.h +0 -254
- data/ext/v8/upstream/v8/src/cpu-profiler-inl.h +0 -101
- data/ext/v8/upstream/v8/src/cpu-profiler.cc +0 -606
- data/ext/v8/upstream/v8/src/cpu-profiler.h +0 -305
- data/ext/v8/upstream/v8/src/cpu.h +0 -67
- data/ext/v8/upstream/v8/src/d8-debug.cc +0 -367
- data/ext/v8/upstream/v8/src/d8-debug.h +0 -158
- data/ext/v8/upstream/v8/src/d8-posix.cc +0 -695
- data/ext/v8/upstream/v8/src/d8-readline.cc +0 -128
- data/ext/v8/upstream/v8/src/d8-windows.cc +0 -42
- data/ext/v8/upstream/v8/src/d8.cc +0 -796
- data/ext/v8/upstream/v8/src/d8.gyp +0 -88
- data/ext/v8/upstream/v8/src/d8.h +0 -231
- data/ext/v8/upstream/v8/src/d8.js +0 -2798
- data/ext/v8/upstream/v8/src/data-flow.cc +0 -545
- data/ext/v8/upstream/v8/src/data-flow.h +0 -379
- data/ext/v8/upstream/v8/src/date.js +0 -1103
- data/ext/v8/upstream/v8/src/dateparser-inl.h +0 -125
- data/ext/v8/upstream/v8/src/dateparser.cc +0 -178
- data/ext/v8/upstream/v8/src/dateparser.h +0 -265
- data/ext/v8/upstream/v8/src/debug-agent.cc +0 -447
- data/ext/v8/upstream/v8/src/debug-agent.h +0 -129
- data/ext/v8/upstream/v8/src/debug-debugger.js +0 -2569
- data/ext/v8/upstream/v8/src/debug.cc +0 -3188
- data/ext/v8/upstream/v8/src/debug.h +0 -1055
- data/ext/v8/upstream/v8/src/deoptimizer.cc +0 -1296
- data/ext/v8/upstream/v8/src/deoptimizer.h +0 -629
- data/ext/v8/upstream/v8/src/disasm.h +0 -80
- data/ext/v8/upstream/v8/src/disassembler.cc +0 -339
- data/ext/v8/upstream/v8/src/disassembler.h +0 -56
- data/ext/v8/upstream/v8/src/diy-fp.cc +0 -58
- data/ext/v8/upstream/v8/src/diy-fp.h +0 -117
- data/ext/v8/upstream/v8/src/double.h +0 -238
- data/ext/v8/upstream/v8/src/dtoa.cc +0 -103
- data/ext/v8/upstream/v8/src/dtoa.h +0 -85
- data/ext/v8/upstream/v8/src/execution.cc +0 -791
- data/ext/v8/upstream/v8/src/execution.h +0 -291
- data/ext/v8/upstream/v8/src/extensions/experimental/break-iterator.cc +0 -250
- data/ext/v8/upstream/v8/src/extensions/experimental/break-iterator.h +0 -89
- data/ext/v8/upstream/v8/src/extensions/experimental/experimental.gyp +0 -55
- data/ext/v8/upstream/v8/src/extensions/experimental/i18n-extension.cc +0 -284
- data/ext/v8/upstream/v8/src/extensions/experimental/i18n-extension.h +0 -64
- data/ext/v8/upstream/v8/src/extensions/externalize-string-extension.cc +0 -141
- data/ext/v8/upstream/v8/src/extensions/externalize-string-extension.h +0 -50
- data/ext/v8/upstream/v8/src/extensions/gc-extension.cc +0 -58
- data/ext/v8/upstream/v8/src/extensions/gc-extension.h +0 -49
- data/ext/v8/upstream/v8/src/factory.cc +0 -1194
- data/ext/v8/upstream/v8/src/factory.h +0 -436
- data/ext/v8/upstream/v8/src/fast-dtoa.cc +0 -736
- data/ext/v8/upstream/v8/src/fast-dtoa.h +0 -83
- data/ext/v8/upstream/v8/src/fixed-dtoa.cc +0 -405
- data/ext/v8/upstream/v8/src/fixed-dtoa.h +0 -55
- data/ext/v8/upstream/v8/src/flag-definitions.h +0 -556
- data/ext/v8/upstream/v8/src/flags.cc +0 -551
- data/ext/v8/upstream/v8/src/flags.h +0 -79
- data/ext/v8/upstream/v8/src/frame-element.cc +0 -37
- data/ext/v8/upstream/v8/src/frame-element.h +0 -269
- data/ext/v8/upstream/v8/src/frames-inl.h +0 -236
- data/ext/v8/upstream/v8/src/frames.cc +0 -1273
- data/ext/v8/upstream/v8/src/frames.h +0 -854
- data/ext/v8/upstream/v8/src/full-codegen.cc +0 -1385
- data/ext/v8/upstream/v8/src/full-codegen.h +0 -753
- data/ext/v8/upstream/v8/src/func-name-inferrer.cc +0 -91
- data/ext/v8/upstream/v8/src/func-name-inferrer.h +0 -111
- data/ext/v8/upstream/v8/src/gdb-jit.cc +0 -1548
- data/ext/v8/upstream/v8/src/gdb-jit.h +0 -138
- data/ext/v8/upstream/v8/src/global-handles.cc +0 -596
- data/ext/v8/upstream/v8/src/global-handles.h +0 -239
- data/ext/v8/upstream/v8/src/globals.h +0 -325
- data/ext/v8/upstream/v8/src/handles-inl.h +0 -177
- data/ext/v8/upstream/v8/src/handles.cc +0 -965
- data/ext/v8/upstream/v8/src/handles.h +0 -372
- data/ext/v8/upstream/v8/src/hashmap.cc +0 -230
- data/ext/v8/upstream/v8/src/hashmap.h +0 -121
- data/ext/v8/upstream/v8/src/heap-inl.h +0 -703
- data/ext/v8/upstream/v8/src/heap-profiler.cc +0 -1173
- data/ext/v8/upstream/v8/src/heap-profiler.h +0 -396
- data/ext/v8/upstream/v8/src/heap.cc +0 -5856
- data/ext/v8/upstream/v8/src/heap.h +0 -2264
- data/ext/v8/upstream/v8/src/hydrogen-instructions.cc +0 -1639
- data/ext/v8/upstream/v8/src/hydrogen-instructions.h +0 -3657
- data/ext/v8/upstream/v8/src/hydrogen.cc +0 -6011
- data/ext/v8/upstream/v8/src/hydrogen.h +0 -1137
- data/ext/v8/upstream/v8/src/ia32/assembler-ia32-inl.h +0 -430
- data/ext/v8/upstream/v8/src/ia32/assembler-ia32.cc +0 -2846
- data/ext/v8/upstream/v8/src/ia32/assembler-ia32.h +0 -1159
- data/ext/v8/upstream/v8/src/ia32/builtins-ia32.cc +0 -1596
- data/ext/v8/upstream/v8/src/ia32/code-stubs-ia32.cc +0 -6549
- data/ext/v8/upstream/v8/src/ia32/code-stubs-ia32.h +0 -495
- data/ext/v8/upstream/v8/src/ia32/codegen-ia32-inl.h +0 -46
- data/ext/v8/upstream/v8/src/ia32/codegen-ia32.cc +0 -10385
- data/ext/v8/upstream/v8/src/ia32/codegen-ia32.h +0 -801
- data/ext/v8/upstream/v8/src/ia32/cpu-ia32.cc +0 -88
- data/ext/v8/upstream/v8/src/ia32/debug-ia32.cc +0 -312
- data/ext/v8/upstream/v8/src/ia32/deoptimizer-ia32.cc +0 -774
- data/ext/v8/upstream/v8/src/ia32/disasm-ia32.cc +0 -1620
- data/ext/v8/upstream/v8/src/ia32/frames-ia32.cc +0 -45
- data/ext/v8/upstream/v8/src/ia32/frames-ia32.h +0 -140
- data/ext/v8/upstream/v8/src/ia32/full-codegen-ia32.cc +0 -4357
- data/ext/v8/upstream/v8/src/ia32/ic-ia32.cc +0 -1779
- data/ext/v8/upstream/v8/src/ia32/jump-target-ia32.cc +0 -437
- data/ext/v8/upstream/v8/src/ia32/lithium-codegen-ia32.cc +0 -4158
- data/ext/v8/upstream/v8/src/ia32/lithium-codegen-ia32.h +0 -318
- data/ext/v8/upstream/v8/src/ia32/lithium-gap-resolver-ia32.cc +0 -466
- data/ext/v8/upstream/v8/src/ia32/lithium-gap-resolver-ia32.h +0 -110
- data/ext/v8/upstream/v8/src/ia32/lithium-ia32.cc +0 -2181
- data/ext/v8/upstream/v8/src/ia32/lithium-ia32.h +0 -2235
- data/ext/v8/upstream/v8/src/ia32/macro-assembler-ia32.cc +0 -2056
- data/ext/v8/upstream/v8/src/ia32/macro-assembler-ia32.h +0 -807
- data/ext/v8/upstream/v8/src/ia32/regexp-macro-assembler-ia32.cc +0 -1264
- data/ext/v8/upstream/v8/src/ia32/regexp-macro-assembler-ia32.h +0 -216
- data/ext/v8/upstream/v8/src/ia32/register-allocator-ia32-inl.h +0 -82
- data/ext/v8/upstream/v8/src/ia32/register-allocator-ia32.cc +0 -157
- data/ext/v8/upstream/v8/src/ia32/register-allocator-ia32.h +0 -43
- data/ext/v8/upstream/v8/src/ia32/simulator-ia32.cc +0 -30
- data/ext/v8/upstream/v8/src/ia32/simulator-ia32.h +0 -72
- data/ext/v8/upstream/v8/src/ia32/stub-cache-ia32.cc +0 -3711
- data/ext/v8/upstream/v8/src/ia32/virtual-frame-ia32.cc +0 -1366
- data/ext/v8/upstream/v8/src/ia32/virtual-frame-ia32.h +0 -650
- data/ext/v8/upstream/v8/src/ic-inl.h +0 -130
- data/ext/v8/upstream/v8/src/ic.cc +0 -2389
- data/ext/v8/upstream/v8/src/ic.h +0 -675
- data/ext/v8/upstream/v8/src/inspector.cc +0 -63
- data/ext/v8/upstream/v8/src/inspector.h +0 -62
- data/ext/v8/upstream/v8/src/interpreter-irregexp.cc +0 -659
- data/ext/v8/upstream/v8/src/interpreter-irregexp.h +0 -49
- data/ext/v8/upstream/v8/src/isolate.cc +0 -883
- data/ext/v8/upstream/v8/src/isolate.h +0 -1306
- data/ext/v8/upstream/v8/src/json.js +0 -342
- data/ext/v8/upstream/v8/src/jsregexp.cc +0 -5371
- data/ext/v8/upstream/v8/src/jsregexp.h +0 -1483
- data/ext/v8/upstream/v8/src/jump-target-heavy-inl.h +0 -51
- data/ext/v8/upstream/v8/src/jump-target-heavy.cc +0 -427
- data/ext/v8/upstream/v8/src/jump-target-heavy.h +0 -238
- data/ext/v8/upstream/v8/src/jump-target-inl.h +0 -48
- data/ext/v8/upstream/v8/src/jump-target-light-inl.h +0 -56
- data/ext/v8/upstream/v8/src/jump-target-light.cc +0 -111
- data/ext/v8/upstream/v8/src/jump-target-light.h +0 -193
- data/ext/v8/upstream/v8/src/jump-target.cc +0 -91
- data/ext/v8/upstream/v8/src/jump-target.h +0 -90
- data/ext/v8/upstream/v8/src/list-inl.h +0 -206
- data/ext/v8/upstream/v8/src/list.h +0 -164
- data/ext/v8/upstream/v8/src/lithium-allocator-inl.h +0 -142
- data/ext/v8/upstream/v8/src/lithium-allocator.cc +0 -2105
- data/ext/v8/upstream/v8/src/lithium-allocator.h +0 -630
- data/ext/v8/upstream/v8/src/lithium.cc +0 -169
- data/ext/v8/upstream/v8/src/lithium.h +0 -592
- data/ext/v8/upstream/v8/src/liveedit-debugger.js +0 -1082
- data/ext/v8/upstream/v8/src/liveedit.cc +0 -1693
- data/ext/v8/upstream/v8/src/liveedit.h +0 -179
- data/ext/v8/upstream/v8/src/liveobjectlist-inl.h +0 -126
- data/ext/v8/upstream/v8/src/liveobjectlist.cc +0 -2589
- data/ext/v8/upstream/v8/src/liveobjectlist.h +0 -322
- data/ext/v8/upstream/v8/src/log-inl.h +0 -59
- data/ext/v8/upstream/v8/src/log-utils.cc +0 -423
- data/ext/v8/upstream/v8/src/log-utils.h +0 -229
- data/ext/v8/upstream/v8/src/log.cc +0 -1666
- data/ext/v8/upstream/v8/src/log.h +0 -446
- data/ext/v8/upstream/v8/src/macro-assembler.h +0 -120
- data/ext/v8/upstream/v8/src/macros.py +0 -178
- data/ext/v8/upstream/v8/src/mark-compact.cc +0 -3092
- data/ext/v8/upstream/v8/src/mark-compact.h +0 -506
- data/ext/v8/upstream/v8/src/math.js +0 -264
- data/ext/v8/upstream/v8/src/messages.cc +0 -166
- data/ext/v8/upstream/v8/src/messages.h +0 -114
- data/ext/v8/upstream/v8/src/messages.js +0 -1090
- data/ext/v8/upstream/v8/src/mips/assembler-mips-inl.h +0 -335
- data/ext/v8/upstream/v8/src/mips/assembler-mips.cc +0 -2093
- data/ext/v8/upstream/v8/src/mips/assembler-mips.h +0 -1066
- data/ext/v8/upstream/v8/src/mips/builtins-mips.cc +0 -148
- data/ext/v8/upstream/v8/src/mips/code-stubs-mips.cc +0 -752
- data/ext/v8/upstream/v8/src/mips/code-stubs-mips.h +0 -511
- data/ext/v8/upstream/v8/src/mips/codegen-mips-inl.h +0 -64
- data/ext/v8/upstream/v8/src/mips/codegen-mips.cc +0 -1213
- data/ext/v8/upstream/v8/src/mips/codegen-mips.h +0 -633
- data/ext/v8/upstream/v8/src/mips/constants-mips.cc +0 -352
- data/ext/v8/upstream/v8/src/mips/constants-mips.h +0 -723
- data/ext/v8/upstream/v8/src/mips/cpu-mips.cc +0 -90
- data/ext/v8/upstream/v8/src/mips/debug-mips.cc +0 -155
- data/ext/v8/upstream/v8/src/mips/deoptimizer-mips.cc +0 -91
- data/ext/v8/upstream/v8/src/mips/disasm-mips.cc +0 -1023
- data/ext/v8/upstream/v8/src/mips/frames-mips.cc +0 -48
- data/ext/v8/upstream/v8/src/mips/frames-mips.h +0 -179
- data/ext/v8/upstream/v8/src/mips/full-codegen-mips.cc +0 -727
- data/ext/v8/upstream/v8/src/mips/ic-mips.cc +0 -244
- data/ext/v8/upstream/v8/src/mips/jump-target-mips.cc +0 -80
- data/ext/v8/upstream/v8/src/mips/lithium-codegen-mips.h +0 -65
- data/ext/v8/upstream/v8/src/mips/lithium-mips.h +0 -304
- data/ext/v8/upstream/v8/src/mips/macro-assembler-mips.cc +0 -3327
- data/ext/v8/upstream/v8/src/mips/macro-assembler-mips.h +0 -1058
- data/ext/v8/upstream/v8/src/mips/regexp-macro-assembler-mips.cc +0 -478
- data/ext/v8/upstream/v8/src/mips/regexp-macro-assembler-mips.h +0 -250
- data/ext/v8/upstream/v8/src/mips/register-allocator-mips-inl.h +0 -134
- data/ext/v8/upstream/v8/src/mips/register-allocator-mips.cc +0 -63
- data/ext/v8/upstream/v8/src/mips/register-allocator-mips.h +0 -47
- data/ext/v8/upstream/v8/src/mips/simulator-mips.cc +0 -2438
- data/ext/v8/upstream/v8/src/mips/simulator-mips.h +0 -394
- data/ext/v8/upstream/v8/src/mips/stub-cache-mips.cc +0 -601
- data/ext/v8/upstream/v8/src/mips/virtual-frame-mips-inl.h +0 -58
- data/ext/v8/upstream/v8/src/mips/virtual-frame-mips.cc +0 -307
- data/ext/v8/upstream/v8/src/mips/virtual-frame-mips.h +0 -530
- data/ext/v8/upstream/v8/src/mirror-debugger.js +0 -2381
- data/ext/v8/upstream/v8/src/mksnapshot.cc +0 -256
- data/ext/v8/upstream/v8/src/natives.h +0 -63
- data/ext/v8/upstream/v8/src/objects-debug.cc +0 -722
- data/ext/v8/upstream/v8/src/objects-inl.h +0 -4166
- data/ext/v8/upstream/v8/src/objects-printer.cc +0 -801
- data/ext/v8/upstream/v8/src/objects-visiting.cc +0 -142
- data/ext/v8/upstream/v8/src/objects-visiting.h +0 -422
- data/ext/v8/upstream/v8/src/objects.cc +0 -10296
- data/ext/v8/upstream/v8/src/objects.h +0 -6662
- data/ext/v8/upstream/v8/src/parser.cc +0 -5168
- data/ext/v8/upstream/v8/src/parser.h +0 -823
- data/ext/v8/upstream/v8/src/platform-cygwin.cc +0 -811
- data/ext/v8/upstream/v8/src/platform-freebsd.cc +0 -854
- data/ext/v8/upstream/v8/src/platform-linux.cc +0 -1120
- data/ext/v8/upstream/v8/src/platform-macos.cc +0 -865
- data/ext/v8/upstream/v8/src/platform-nullos.cc +0 -504
- data/ext/v8/upstream/v8/src/platform-openbsd.cc +0 -672
- data/ext/v8/upstream/v8/src/platform-posix.cc +0 -424
- data/ext/v8/upstream/v8/src/platform-solaris.cc +0 -796
- data/ext/v8/upstream/v8/src/platform-tls-mac.h +0 -62
- data/ext/v8/upstream/v8/src/platform-tls-win32.h +0 -62
- data/ext/v8/upstream/v8/src/platform-tls.h +0 -50
- data/ext/v8/upstream/v8/src/platform-win32.cc +0 -2072
- data/ext/v8/upstream/v8/src/platform.h +0 -693
- data/ext/v8/upstream/v8/src/preparse-data.cc +0 -185
- data/ext/v8/upstream/v8/src/preparse-data.h +0 -249
- data/ext/v8/upstream/v8/src/preparser-api.cc +0 -219
- data/ext/v8/upstream/v8/src/preparser.cc +0 -1205
- data/ext/v8/upstream/v8/src/preparser.h +0 -278
- data/ext/v8/upstream/v8/src/prettyprinter.cc +0 -1530
- data/ext/v8/upstream/v8/src/prettyprinter.h +0 -223
- data/ext/v8/upstream/v8/src/profile-generator-inl.h +0 -128
- data/ext/v8/upstream/v8/src/profile-generator.cc +0 -3095
- data/ext/v8/upstream/v8/src/profile-generator.h +0 -1125
- data/ext/v8/upstream/v8/src/property.cc +0 -102
- data/ext/v8/upstream/v8/src/property.h +0 -348
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-irregexp-inl.h +0 -78
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-irregexp.cc +0 -470
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-irregexp.h +0 -142
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-tracer.cc +0 -373
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-tracer.h +0 -104
- data/ext/v8/upstream/v8/src/regexp-macro-assembler.cc +0 -266
- data/ext/v8/upstream/v8/src/regexp-macro-assembler.h +0 -236
- data/ext/v8/upstream/v8/src/regexp-stack.cc +0 -111
- data/ext/v8/upstream/v8/src/regexp-stack.h +0 -147
- data/ext/v8/upstream/v8/src/regexp.js +0 -483
- data/ext/v8/upstream/v8/src/register-allocator-inl.h +0 -141
- data/ext/v8/upstream/v8/src/register-allocator.cc +0 -98
- data/ext/v8/upstream/v8/src/register-allocator.h +0 -310
- data/ext/v8/upstream/v8/src/rewriter.cc +0 -1024
- data/ext/v8/upstream/v8/src/rewriter.h +0 -59
- data/ext/v8/upstream/v8/src/runtime-profiler.cc +0 -478
- data/ext/v8/upstream/v8/src/runtime-profiler.h +0 -192
- data/ext/v8/upstream/v8/src/runtime.cc +0 -11949
- data/ext/v8/upstream/v8/src/runtime.h +0 -643
- data/ext/v8/upstream/v8/src/runtime.js +0 -643
- data/ext/v8/upstream/v8/src/safepoint-table.cc +0 -256
- data/ext/v8/upstream/v8/src/safepoint-table.h +0 -269
- data/ext/v8/upstream/v8/src/scanner-base.cc +0 -964
- data/ext/v8/upstream/v8/src/scanner-base.h +0 -664
- data/ext/v8/upstream/v8/src/scanner.cc +0 -584
- data/ext/v8/upstream/v8/src/scanner.h +0 -196
- data/ext/v8/upstream/v8/src/scopeinfo.cc +0 -631
- data/ext/v8/upstream/v8/src/scopeinfo.h +0 -249
- data/ext/v8/upstream/v8/src/scopes.cc +0 -1093
- data/ext/v8/upstream/v8/src/scopes.h +0 -508
- data/ext/v8/upstream/v8/src/serialize.cc +0 -1574
- data/ext/v8/upstream/v8/src/serialize.h +0 -589
- data/ext/v8/upstream/v8/src/shell.h +0 -55
- data/ext/v8/upstream/v8/src/simulator.h +0 -43
- data/ext/v8/upstream/v8/src/small-pointer-list.h +0 -163
- data/ext/v8/upstream/v8/src/smart-pointer.h +0 -109
- data/ext/v8/upstream/v8/src/snapshot-common.cc +0 -82
- data/ext/v8/upstream/v8/src/snapshot-empty.cc +0 -50
- data/ext/v8/upstream/v8/src/snapshot.h +0 -73
- data/ext/v8/upstream/v8/src/spaces-inl.h +0 -529
- data/ext/v8/upstream/v8/src/spaces.cc +0 -3147
- data/ext/v8/upstream/v8/src/spaces.h +0 -2368
- data/ext/v8/upstream/v8/src/splay-tree-inl.h +0 -310
- data/ext/v8/upstream/v8/src/splay-tree.h +0 -203
- data/ext/v8/upstream/v8/src/string-search.cc +0 -41
- data/ext/v8/upstream/v8/src/string-search.h +0 -568
- data/ext/v8/upstream/v8/src/string-stream.cc +0 -592
- data/ext/v8/upstream/v8/src/string-stream.h +0 -191
- data/ext/v8/upstream/v8/src/string.js +0 -915
- data/ext/v8/upstream/v8/src/strtod.cc +0 -440
- data/ext/v8/upstream/v8/src/strtod.h +0 -40
- data/ext/v8/upstream/v8/src/stub-cache.cc +0 -1940
- data/ext/v8/upstream/v8/src/stub-cache.h +0 -866
- data/ext/v8/upstream/v8/src/third_party/valgrind/valgrind.h +0 -3925
- data/ext/v8/upstream/v8/src/token.cc +0 -63
- data/ext/v8/upstream/v8/src/token.h +0 -288
- data/ext/v8/upstream/v8/src/top.cc +0 -983
- data/ext/v8/upstream/v8/src/type-info.cc +0 -472
- data/ext/v8/upstream/v8/src/type-info.h +0 -290
- data/ext/v8/upstream/v8/src/unbound-queue-inl.h +0 -95
- data/ext/v8/upstream/v8/src/unbound-queue.h +0 -67
- data/ext/v8/upstream/v8/src/unicode-inl.h +0 -238
- data/ext/v8/upstream/v8/src/unicode.cc +0 -1624
- data/ext/v8/upstream/v8/src/unicode.h +0 -280
- data/ext/v8/upstream/v8/src/uri.js +0 -402
- data/ext/v8/upstream/v8/src/utils.cc +0 -371
- data/ext/v8/upstream/v8/src/utils.h +0 -796
- data/ext/v8/upstream/v8/src/v8-counters.cc +0 -62
- data/ext/v8/upstream/v8/src/v8-counters.h +0 -311
- data/ext/v8/upstream/v8/src/v8.cc +0 -215
- data/ext/v8/upstream/v8/src/v8.h +0 -130
- data/ext/v8/upstream/v8/src/v8checks.h +0 -64
- data/ext/v8/upstream/v8/src/v8dll-main.cc +0 -39
- data/ext/v8/upstream/v8/src/v8globals.h +0 -486
- data/ext/v8/upstream/v8/src/v8memory.h +0 -82
- data/ext/v8/upstream/v8/src/v8natives.js +0 -1293
- data/ext/v8/upstream/v8/src/v8preparserdll-main.cc +0 -39
- data/ext/v8/upstream/v8/src/v8threads.cc +0 -453
- data/ext/v8/upstream/v8/src/v8threads.h +0 -164
- data/ext/v8/upstream/v8/src/v8utils.h +0 -317
- data/ext/v8/upstream/v8/src/variables.cc +0 -132
- data/ext/v8/upstream/v8/src/variables.h +0 -212
- data/ext/v8/upstream/v8/src/version.cc +0 -116
- data/ext/v8/upstream/v8/src/version.h +0 -68
- data/ext/v8/upstream/v8/src/virtual-frame-heavy-inl.h +0 -190
- data/ext/v8/upstream/v8/src/virtual-frame-heavy.cc +0 -312
- data/ext/v8/upstream/v8/src/virtual-frame-inl.h +0 -39
- data/ext/v8/upstream/v8/src/virtual-frame-light-inl.h +0 -171
- data/ext/v8/upstream/v8/src/virtual-frame-light.cc +0 -52
- data/ext/v8/upstream/v8/src/virtual-frame.cc +0 -49
- data/ext/v8/upstream/v8/src/virtual-frame.h +0 -59
- data/ext/v8/upstream/v8/src/vm-state-inl.h +0 -138
- data/ext/v8/upstream/v8/src/vm-state.h +0 -70
- data/ext/v8/upstream/v8/src/win32-headers.h +0 -96
- data/ext/v8/upstream/v8/src/x64/assembler-x64-inl.h +0 -456
- data/ext/v8/upstream/v8/src/x64/assembler-x64.cc +0 -2954
- data/ext/v8/upstream/v8/src/x64/assembler-x64.h +0 -1630
- data/ext/v8/upstream/v8/src/x64/builtins-x64.cc +0 -1493
- data/ext/v8/upstream/v8/src/x64/code-stubs-x64.cc +0 -5132
- data/ext/v8/upstream/v8/src/x64/code-stubs-x64.h +0 -477
- data/ext/v8/upstream/v8/src/x64/codegen-x64-inl.h +0 -46
- data/ext/v8/upstream/v8/src/x64/codegen-x64.cc +0 -8843
- data/ext/v8/upstream/v8/src/x64/codegen-x64.h +0 -753
- data/ext/v8/upstream/v8/src/x64/cpu-x64.cc +0 -88
- data/ext/v8/upstream/v8/src/x64/debug-x64.cc +0 -318
- data/ext/v8/upstream/v8/src/x64/deoptimizer-x64.cc +0 -815
- data/ext/v8/upstream/v8/src/x64/disasm-x64.cc +0 -1752
- data/ext/v8/upstream/v8/src/x64/frames-x64.cc +0 -45
- data/ext/v8/upstream/v8/src/x64/frames-x64.h +0 -130
- data/ext/v8/upstream/v8/src/x64/full-codegen-x64.cc +0 -4339
- data/ext/v8/upstream/v8/src/x64/ic-x64.cc +0 -1752
- data/ext/v8/upstream/v8/src/x64/jump-target-x64.cc +0 -437
- data/ext/v8/upstream/v8/src/x64/lithium-codegen-x64.cc +0 -3970
- data/ext/v8/upstream/v8/src/x64/lithium-codegen-x64.h +0 -318
- data/ext/v8/upstream/v8/src/x64/lithium-gap-resolver-x64.cc +0 -320
- data/ext/v8/upstream/v8/src/x64/lithium-gap-resolver-x64.h +0 -74
- data/ext/v8/upstream/v8/src/x64/lithium-x64.cc +0 -2115
- data/ext/v8/upstream/v8/src/x64/lithium-x64.h +0 -2161
- data/ext/v8/upstream/v8/src/x64/macro-assembler-x64.cc +0 -2911
- data/ext/v8/upstream/v8/src/x64/macro-assembler-x64.h +0 -1984
- data/ext/v8/upstream/v8/src/x64/regexp-macro-assembler-x64.cc +0 -1398
- data/ext/v8/upstream/v8/src/x64/regexp-macro-assembler-x64.h +0 -282
- data/ext/v8/upstream/v8/src/x64/register-allocator-x64-inl.h +0 -87
- data/ext/v8/upstream/v8/src/x64/register-allocator-x64.cc +0 -95
- data/ext/v8/upstream/v8/src/x64/register-allocator-x64.h +0 -43
- data/ext/v8/upstream/v8/src/x64/simulator-x64.cc +0 -27
- data/ext/v8/upstream/v8/src/x64/simulator-x64.h +0 -71
- data/ext/v8/upstream/v8/src/x64/stub-cache-x64.cc +0 -3460
- data/ext/v8/upstream/v8/src/x64/virtual-frame-x64.cc +0 -1296
- data/ext/v8/upstream/v8/src/x64/virtual-frame-x64.h +0 -597
- data/ext/v8/upstream/v8/src/zone-inl.h +0 -129
- data/ext/v8/upstream/v8/src/zone.cc +0 -196
- data/ext/v8/upstream/v8/src/zone.h +0 -236
- data/ext/v8/upstream/v8/tools/codemap.js +0 -265
- data/ext/v8/upstream/v8/tools/consarray.js +0 -93
- data/ext/v8/upstream/v8/tools/csvparser.js +0 -78
- data/ext/v8/upstream/v8/tools/disasm.py +0 -92
- data/ext/v8/upstream/v8/tools/freebsd-tick-processor +0 -10
- data/ext/v8/upstream/v8/tools/gc-nvp-trace-processor.py +0 -328
- data/ext/v8/upstream/v8/tools/generate-ten-powers.scm +0 -286
- data/ext/v8/upstream/v8/tools/grokdump.py +0 -840
- data/ext/v8/upstream/v8/tools/gyp/v8.gyp +0 -844
- data/ext/v8/upstream/v8/tools/js2c.py +0 -380
- data/ext/v8/upstream/v8/tools/jsmin.py +0 -280
- data/ext/v8/upstream/v8/tools/linux-tick-processor +0 -35
- data/ext/v8/upstream/v8/tools/ll_prof.py +0 -919
- data/ext/v8/upstream/v8/tools/logreader.js +0 -185
- data/ext/v8/upstream/v8/tools/mac-nm +0 -18
- data/ext/v8/upstream/v8/tools/mac-tick-processor +0 -6
- data/ext/v8/upstream/v8/tools/oom_dump/README +0 -31
- data/ext/v8/upstream/v8/tools/oom_dump/SConstruct +0 -42
- data/ext/v8/upstream/v8/tools/oom_dump/oom_dump.cc +0 -288
- data/ext/v8/upstream/v8/tools/presubmit.py +0 -305
- data/ext/v8/upstream/v8/tools/process-heap-prof.py +0 -120
- data/ext/v8/upstream/v8/tools/profile.js +0 -751
- data/ext/v8/upstream/v8/tools/profile_view.js +0 -219
- data/ext/v8/upstream/v8/tools/run-valgrind.py +0 -77
- data/ext/v8/upstream/v8/tools/splaytree.js +0 -316
- data/ext/v8/upstream/v8/tools/stats-viewer.py +0 -468
- data/ext/v8/upstream/v8/tools/test.py +0 -1490
- data/ext/v8/upstream/v8/tools/tickprocessor-driver.js +0 -59
- data/ext/v8/upstream/v8/tools/tickprocessor.js +0 -877
- data/ext/v8/upstream/v8/tools/utils.py +0 -96
- data/ext/v8/upstream/v8/tools/visual_studio/README.txt +0 -70
- data/ext/v8/upstream/v8/tools/visual_studio/arm.vsprops +0 -14
- data/ext/v8/upstream/v8/tools/visual_studio/common.vsprops +0 -34
- data/ext/v8/upstream/v8/tools/visual_studio/d8.vcproj +0 -193
- data/ext/v8/upstream/v8/tools/visual_studio/d8_arm.vcproj +0 -193
- data/ext/v8/upstream/v8/tools/visual_studio/d8_x64.vcproj +0 -209
- data/ext/v8/upstream/v8/tools/visual_studio/d8js2c.cmd +0 -6
- data/ext/v8/upstream/v8/tools/visual_studio/debug.vsprops +0 -17
- data/ext/v8/upstream/v8/tools/visual_studio/ia32.vsprops +0 -17
- data/ext/v8/upstream/v8/tools/visual_studio/js2c.cmd +0 -6
- data/ext/v8/upstream/v8/tools/visual_studio/release.vsprops +0 -24
- data/ext/v8/upstream/v8/tools/visual_studio/v8.sln +0 -101
- data/ext/v8/upstream/v8/tools/visual_studio/v8.vcproj +0 -227
- data/ext/v8/upstream/v8/tools/visual_studio/v8_arm.sln +0 -74
- data/ext/v8/upstream/v8/tools/visual_studio/v8_arm.vcproj +0 -227
- data/ext/v8/upstream/v8/tools/visual_studio/v8_base.vcproj +0 -1308
- data/ext/v8/upstream/v8/tools/visual_studio/v8_base_arm.vcproj +0 -1238
- data/ext/v8/upstream/v8/tools/visual_studio/v8_base_x64.vcproj +0 -1300
- data/ext/v8/upstream/v8/tools/visual_studio/v8_cctest.vcproj +0 -265
- data/ext/v8/upstream/v8/tools/visual_studio/v8_cctest_arm.vcproj +0 -249
- data/ext/v8/upstream/v8/tools/visual_studio/v8_cctest_x64.vcproj +0 -257
- data/ext/v8/upstream/v8/tools/visual_studio/v8_mksnapshot.vcproj +0 -145
- data/ext/v8/upstream/v8/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -145
- data/ext/v8/upstream/v8/tools/visual_studio/v8_process_sample.vcproj +0 -145
- data/ext/v8/upstream/v8/tools/visual_studio/v8_process_sample_arm.vcproj +0 -145
- data/ext/v8/upstream/v8/tools/visual_studio/v8_process_sample_x64.vcproj +0 -161
- data/ext/v8/upstream/v8/tools/visual_studio/v8_shell_sample.vcproj +0 -147
- data/ext/v8/upstream/v8/tools/visual_studio/v8_shell_sample_arm.vcproj +0 -147
- data/ext/v8/upstream/v8/tools/visual_studio/v8_shell_sample_x64.vcproj +0 -163
- data/ext/v8/upstream/v8/tools/visual_studio/v8_snapshot.vcproj +0 -142
- data/ext/v8/upstream/v8/tools/visual_studio/v8_snapshot_cc.vcproj +0 -92
- data/ext/v8/upstream/v8/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -92
- data/ext/v8/upstream/v8/tools/visual_studio/v8_snapshot_x64.vcproj +0 -142
- data/ext/v8/upstream/v8/tools/visual_studio/v8_x64.sln +0 -101
- data/ext/v8/upstream/v8/tools/visual_studio/v8_x64.vcproj +0 -227
- data/ext/v8/upstream/v8/tools/visual_studio/x64.vsprops +0 -18
- data/ext/v8/upstream/v8/tools/windows-tick-processor.bat +0 -30
@@ -1,49 +0,0 @@
|
|
1
|
-
// Copyright 2008 the V8 project authors. All rights reserved.
|
2
|
-
// Redistribution and use in source and binary forms, with or without
|
3
|
-
// modification, are permitted provided that the following conditions are
|
4
|
-
// met:
|
5
|
-
//
|
6
|
-
// * Redistributions of source code must retain the above copyright
|
7
|
-
// notice, this list of conditions and the following disclaimer.
|
8
|
-
// * Redistributions in binary form must reproduce the above
|
9
|
-
// copyright notice, this list of conditions and the following
|
10
|
-
// disclaimer in the documentation and/or other materials provided
|
11
|
-
// with the distribution.
|
12
|
-
// * Neither the name of Google Inc. nor the names of its
|
13
|
-
// contributors may be used to endorse or promote products derived
|
14
|
-
// from this software without specific prior written permission.
|
15
|
-
//
|
16
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
20
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
21
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
22
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
23
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
24
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
26
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
-
|
28
|
-
// A simple interpreter for the Irregexp byte code.
|
29
|
-
|
30
|
-
#ifndef V8_INTERPRETER_IRREGEXP_H_
|
31
|
-
#define V8_INTERPRETER_IRREGEXP_H_
|
32
|
-
|
33
|
-
namespace v8 {
|
34
|
-
namespace internal {
|
35
|
-
|
36
|
-
|
37
|
-
class IrregexpInterpreter {
|
38
|
-
public:
|
39
|
-
static bool Match(Isolate* isolate,
|
40
|
-
Handle<ByteArray> code,
|
41
|
-
Handle<String> subject,
|
42
|
-
int* captures,
|
43
|
-
int start_position);
|
44
|
-
};
|
45
|
-
|
46
|
-
|
47
|
-
} } // namespace v8::internal
|
48
|
-
|
49
|
-
#endif // V8_INTERPRETER_IRREGEXP_H_
|
@@ -1,883 +0,0 @@
|
|
1
|
-
// Copyright 2006-2010 the V8 project authors. All rights reserved.
|
2
|
-
// Redistribution and use in source and binary forms, with or without
|
3
|
-
// modification, are permitted provided that the following conditions are
|
4
|
-
// met:
|
5
|
-
//
|
6
|
-
// * Redistributions of source code must retain the above copyright
|
7
|
-
// notice, this list of conditions and the following disclaimer.
|
8
|
-
// * Redistributions in binary form must reproduce the above
|
9
|
-
// copyright notice, this list of conditions and the following
|
10
|
-
// disclaimer in the documentation and/or other materials provided
|
11
|
-
// with the distribution.
|
12
|
-
// * Neither the name of Google Inc. nor the names of its
|
13
|
-
// contributors may be used to endorse or promote products derived
|
14
|
-
// from this software without specific prior written permission.
|
15
|
-
//
|
16
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
20
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
21
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
22
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
23
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
24
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
26
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
-
|
28
|
-
#include <stdlib.h>
|
29
|
-
|
30
|
-
#include "v8.h"
|
31
|
-
|
32
|
-
#include "ast.h"
|
33
|
-
#include "bootstrapper.h"
|
34
|
-
#include "codegen.h"
|
35
|
-
#include "compilation-cache.h"
|
36
|
-
#include "debug.h"
|
37
|
-
#include "deoptimizer.h"
|
38
|
-
#include "heap-profiler.h"
|
39
|
-
#include "hydrogen.h"
|
40
|
-
#include "isolate.h"
|
41
|
-
#include "lithium-allocator.h"
|
42
|
-
#include "log.h"
|
43
|
-
#include "regexp-stack.h"
|
44
|
-
#include "runtime-profiler.h"
|
45
|
-
#include "scanner.h"
|
46
|
-
#include "scopeinfo.h"
|
47
|
-
#include "serialize.h"
|
48
|
-
#include "simulator.h"
|
49
|
-
#include "spaces.h"
|
50
|
-
#include "stub-cache.h"
|
51
|
-
#include "version.h"
|
52
|
-
|
53
|
-
|
54
|
-
namespace v8 {
|
55
|
-
namespace internal {
|
56
|
-
|
57
|
-
|
58
|
-
// Create a dummy thread that will wait forever on a semaphore. The only
|
59
|
-
// purpose for this thread is to have some stack area to save essential data
|
60
|
-
// into for use by a stacks only core dump (aka minidump).
|
61
|
-
class PreallocatedMemoryThread: public Thread {
|
62
|
-
public:
|
63
|
-
char* data() {
|
64
|
-
if (data_ready_semaphore_ != NULL) {
|
65
|
-
// Initial access is guarded until the data has been published.
|
66
|
-
data_ready_semaphore_->Wait();
|
67
|
-
delete data_ready_semaphore_;
|
68
|
-
data_ready_semaphore_ = NULL;
|
69
|
-
}
|
70
|
-
return data_;
|
71
|
-
}
|
72
|
-
|
73
|
-
unsigned length() {
|
74
|
-
if (data_ready_semaphore_ != NULL) {
|
75
|
-
// Initial access is guarded until the data has been published.
|
76
|
-
data_ready_semaphore_->Wait();
|
77
|
-
delete data_ready_semaphore_;
|
78
|
-
data_ready_semaphore_ = NULL;
|
79
|
-
}
|
80
|
-
return length_;
|
81
|
-
}
|
82
|
-
|
83
|
-
// Stop the PreallocatedMemoryThread and release its resources.
|
84
|
-
void StopThread() {
|
85
|
-
keep_running_ = false;
|
86
|
-
wait_for_ever_semaphore_->Signal();
|
87
|
-
|
88
|
-
// Wait for the thread to terminate.
|
89
|
-
Join();
|
90
|
-
|
91
|
-
if (data_ready_semaphore_ != NULL) {
|
92
|
-
delete data_ready_semaphore_;
|
93
|
-
data_ready_semaphore_ = NULL;
|
94
|
-
}
|
95
|
-
|
96
|
-
delete wait_for_ever_semaphore_;
|
97
|
-
wait_for_ever_semaphore_ = NULL;
|
98
|
-
}
|
99
|
-
|
100
|
-
protected:
|
101
|
-
// When the thread starts running it will allocate a fixed number of bytes
|
102
|
-
// on the stack and publish the location of this memory for others to use.
|
103
|
-
void Run() {
|
104
|
-
EmbeddedVector<char, 15 * 1024> local_buffer;
|
105
|
-
|
106
|
-
// Initialize the buffer with a known good value.
|
107
|
-
OS::StrNCpy(local_buffer, "Trace data was not generated.\n",
|
108
|
-
local_buffer.length());
|
109
|
-
|
110
|
-
// Publish the local buffer and signal its availability.
|
111
|
-
data_ = local_buffer.start();
|
112
|
-
length_ = local_buffer.length();
|
113
|
-
data_ready_semaphore_->Signal();
|
114
|
-
|
115
|
-
while (keep_running_) {
|
116
|
-
// This thread will wait here until the end of time.
|
117
|
-
wait_for_ever_semaphore_->Wait();
|
118
|
-
}
|
119
|
-
|
120
|
-
// Make sure we access the buffer after the wait to remove all possibility
|
121
|
-
// of it being optimized away.
|
122
|
-
OS::StrNCpy(local_buffer, "PreallocatedMemoryThread shutting down.\n",
|
123
|
-
local_buffer.length());
|
124
|
-
}
|
125
|
-
|
126
|
-
|
127
|
-
private:
|
128
|
-
explicit PreallocatedMemoryThread(Isolate* isolate)
|
129
|
-
: Thread(isolate, "v8:PreallocMem"),
|
130
|
-
keep_running_(true),
|
131
|
-
wait_for_ever_semaphore_(OS::CreateSemaphore(0)),
|
132
|
-
data_ready_semaphore_(OS::CreateSemaphore(0)),
|
133
|
-
data_(NULL),
|
134
|
-
length_(0) {
|
135
|
-
}
|
136
|
-
|
137
|
-
// Used to make sure that the thread keeps looping even for spurious wakeups.
|
138
|
-
bool keep_running_;
|
139
|
-
|
140
|
-
// This semaphore is used by the PreallocatedMemoryThread to wait for ever.
|
141
|
-
Semaphore* wait_for_ever_semaphore_;
|
142
|
-
// Semaphore to signal that the data has been initialized.
|
143
|
-
Semaphore* data_ready_semaphore_;
|
144
|
-
|
145
|
-
// Location and size of the preallocated memory block.
|
146
|
-
char* data_;
|
147
|
-
unsigned length_;
|
148
|
-
|
149
|
-
friend class Isolate;
|
150
|
-
|
151
|
-
DISALLOW_COPY_AND_ASSIGN(PreallocatedMemoryThread);
|
152
|
-
};
|
153
|
-
|
154
|
-
|
155
|
-
void Isolate::PreallocatedMemoryThreadStart() {
|
156
|
-
if (preallocated_memory_thread_ != NULL) return;
|
157
|
-
preallocated_memory_thread_ = new PreallocatedMemoryThread(this);
|
158
|
-
preallocated_memory_thread_->Start();
|
159
|
-
}
|
160
|
-
|
161
|
-
|
162
|
-
void Isolate::PreallocatedMemoryThreadStop() {
|
163
|
-
if (preallocated_memory_thread_ == NULL) return;
|
164
|
-
preallocated_memory_thread_->StopThread();
|
165
|
-
// Done with the thread entirely.
|
166
|
-
delete preallocated_memory_thread_;
|
167
|
-
preallocated_memory_thread_ = NULL;
|
168
|
-
}
|
169
|
-
|
170
|
-
|
171
|
-
void Isolate::PreallocatedStorageInit(size_t size) {
|
172
|
-
ASSERT(free_list_.next_ == &free_list_);
|
173
|
-
ASSERT(free_list_.previous_ == &free_list_);
|
174
|
-
PreallocatedStorage* free_chunk =
|
175
|
-
reinterpret_cast<PreallocatedStorage*>(new char[size]);
|
176
|
-
free_list_.next_ = free_list_.previous_ = free_chunk;
|
177
|
-
free_chunk->next_ = free_chunk->previous_ = &free_list_;
|
178
|
-
free_chunk->size_ = size - sizeof(PreallocatedStorage);
|
179
|
-
preallocated_storage_preallocated_ = true;
|
180
|
-
}
|
181
|
-
|
182
|
-
|
183
|
-
void* Isolate::PreallocatedStorageNew(size_t size) {
|
184
|
-
if (!preallocated_storage_preallocated_) {
|
185
|
-
return FreeStoreAllocationPolicy::New(size);
|
186
|
-
}
|
187
|
-
ASSERT(free_list_.next_ != &free_list_);
|
188
|
-
ASSERT(free_list_.previous_ != &free_list_);
|
189
|
-
|
190
|
-
size = (size + kPointerSize - 1) & ~(kPointerSize - 1);
|
191
|
-
// Search for exact fit.
|
192
|
-
for (PreallocatedStorage* storage = free_list_.next_;
|
193
|
-
storage != &free_list_;
|
194
|
-
storage = storage->next_) {
|
195
|
-
if (storage->size_ == size) {
|
196
|
-
storage->Unlink();
|
197
|
-
storage->LinkTo(&in_use_list_);
|
198
|
-
return reinterpret_cast<void*>(storage + 1);
|
199
|
-
}
|
200
|
-
}
|
201
|
-
// Search for first fit.
|
202
|
-
for (PreallocatedStorage* storage = free_list_.next_;
|
203
|
-
storage != &free_list_;
|
204
|
-
storage = storage->next_) {
|
205
|
-
if (storage->size_ >= size + sizeof(PreallocatedStorage)) {
|
206
|
-
storage->Unlink();
|
207
|
-
storage->LinkTo(&in_use_list_);
|
208
|
-
PreallocatedStorage* left_over =
|
209
|
-
reinterpret_cast<PreallocatedStorage*>(
|
210
|
-
reinterpret_cast<char*>(storage + 1) + size);
|
211
|
-
left_over->size_ = storage->size_ - size - sizeof(PreallocatedStorage);
|
212
|
-
ASSERT(size + left_over->size_ + sizeof(PreallocatedStorage) ==
|
213
|
-
storage->size_);
|
214
|
-
storage->size_ = size;
|
215
|
-
left_over->LinkTo(&free_list_);
|
216
|
-
return reinterpret_cast<void*>(storage + 1);
|
217
|
-
}
|
218
|
-
}
|
219
|
-
// Allocation failure.
|
220
|
-
ASSERT(false);
|
221
|
-
return NULL;
|
222
|
-
}
|
223
|
-
|
224
|
-
|
225
|
-
// We don't attempt to coalesce.
|
226
|
-
void Isolate::PreallocatedStorageDelete(void* p) {
|
227
|
-
if (p == NULL) {
|
228
|
-
return;
|
229
|
-
}
|
230
|
-
if (!preallocated_storage_preallocated_) {
|
231
|
-
FreeStoreAllocationPolicy::Delete(p);
|
232
|
-
return;
|
233
|
-
}
|
234
|
-
PreallocatedStorage* storage = reinterpret_cast<PreallocatedStorage*>(p) - 1;
|
235
|
-
ASSERT(storage->next_->previous_ == storage);
|
236
|
-
ASSERT(storage->previous_->next_ == storage);
|
237
|
-
storage->Unlink();
|
238
|
-
storage->LinkTo(&free_list_);
|
239
|
-
}
|
240
|
-
|
241
|
-
|
242
|
-
Isolate* Isolate::default_isolate_ = NULL;
|
243
|
-
Thread::LocalStorageKey Isolate::isolate_key_;
|
244
|
-
Thread::LocalStorageKey Isolate::thread_id_key_;
|
245
|
-
Thread::LocalStorageKey Isolate::per_isolate_thread_data_key_;
|
246
|
-
Mutex* Isolate::process_wide_mutex_ = OS::CreateMutex();
|
247
|
-
Isolate::ThreadDataTable* Isolate::thread_data_table_ = NULL;
|
248
|
-
Isolate::ThreadId Isolate::highest_thread_id_ = 0;
|
249
|
-
|
250
|
-
|
251
|
-
class IsolateInitializer {
|
252
|
-
public:
|
253
|
-
IsolateInitializer() {
|
254
|
-
Isolate::EnsureDefaultIsolate();
|
255
|
-
}
|
256
|
-
};
|
257
|
-
|
258
|
-
static IsolateInitializer* EnsureDefaultIsolateAllocated() {
|
259
|
-
// TODO(isolates): Use the system threading API to do this once?
|
260
|
-
static IsolateInitializer static_initializer;
|
261
|
-
return &static_initializer;
|
262
|
-
}
|
263
|
-
|
264
|
-
// This variable only needed to trigger static intialization.
|
265
|
-
static IsolateInitializer* static_initializer = EnsureDefaultIsolateAllocated();
|
266
|
-
|
267
|
-
|
268
|
-
Isolate::ThreadId Isolate::AllocateThreadId() {
|
269
|
-
ThreadId new_id;
|
270
|
-
{
|
271
|
-
ScopedLock lock(process_wide_mutex_);
|
272
|
-
new_id = ++highest_thread_id_;
|
273
|
-
}
|
274
|
-
return new_id;
|
275
|
-
}
|
276
|
-
|
277
|
-
|
278
|
-
Isolate::PerIsolateThreadData* Isolate::AllocatePerIsolateThreadData(
|
279
|
-
ThreadId thread_id) {
|
280
|
-
ASSERT(thread_id != 0);
|
281
|
-
ASSERT(Thread::GetThreadLocalInt(thread_id_key_) == thread_id);
|
282
|
-
PerIsolateThreadData* per_thread = new PerIsolateThreadData(this, thread_id);
|
283
|
-
{
|
284
|
-
ScopedLock lock(process_wide_mutex_);
|
285
|
-
ASSERT(thread_data_table_->Lookup(this, thread_id) == NULL);
|
286
|
-
thread_data_table_->Insert(per_thread);
|
287
|
-
ASSERT(thread_data_table_->Lookup(this, thread_id) == per_thread);
|
288
|
-
}
|
289
|
-
return per_thread;
|
290
|
-
}
|
291
|
-
|
292
|
-
|
293
|
-
Isolate::PerIsolateThreadData*
|
294
|
-
Isolate::FindOrAllocatePerThreadDataForThisThread() {
|
295
|
-
ThreadId thread_id = Thread::GetThreadLocalInt(thread_id_key_);
|
296
|
-
if (thread_id == 0) {
|
297
|
-
thread_id = AllocateThreadId();
|
298
|
-
Thread::SetThreadLocalInt(thread_id_key_, thread_id);
|
299
|
-
}
|
300
|
-
PerIsolateThreadData* per_thread = NULL;
|
301
|
-
{
|
302
|
-
ScopedLock lock(process_wide_mutex_);
|
303
|
-
per_thread = thread_data_table_->Lookup(this, thread_id);
|
304
|
-
if (per_thread == NULL) {
|
305
|
-
per_thread = AllocatePerIsolateThreadData(thread_id);
|
306
|
-
}
|
307
|
-
}
|
308
|
-
return per_thread;
|
309
|
-
}
|
310
|
-
|
311
|
-
|
312
|
-
void Isolate::EnsureDefaultIsolate() {
|
313
|
-
ScopedLock lock(process_wide_mutex_);
|
314
|
-
if (default_isolate_ == NULL) {
|
315
|
-
isolate_key_ = Thread::CreateThreadLocalKey();
|
316
|
-
thread_id_key_ = Thread::CreateThreadLocalKey();
|
317
|
-
per_isolate_thread_data_key_ = Thread::CreateThreadLocalKey();
|
318
|
-
thread_data_table_ = new Isolate::ThreadDataTable();
|
319
|
-
default_isolate_ = new Isolate();
|
320
|
-
}
|
321
|
-
// Can't use SetIsolateThreadLocals(default_isolate_, NULL) here
|
322
|
-
// becase a non-null thread data may be already set.
|
323
|
-
Thread::SetThreadLocal(isolate_key_, default_isolate_);
|
324
|
-
CHECK(default_isolate_->PreInit());
|
325
|
-
}
|
326
|
-
|
327
|
-
|
328
|
-
Debugger* Isolate::GetDefaultIsolateDebugger() {
|
329
|
-
EnsureDefaultIsolate();
|
330
|
-
return default_isolate_->debugger();
|
331
|
-
}
|
332
|
-
|
333
|
-
|
334
|
-
StackGuard* Isolate::GetDefaultIsolateStackGuard() {
|
335
|
-
EnsureDefaultIsolate();
|
336
|
-
return default_isolate_->stack_guard();
|
337
|
-
}
|
338
|
-
|
339
|
-
|
340
|
-
void Isolate::EnterDefaultIsolate() {
|
341
|
-
EnsureDefaultIsolate();
|
342
|
-
ASSERT(default_isolate_ != NULL);
|
343
|
-
|
344
|
-
PerIsolateThreadData* data = CurrentPerIsolateThreadData();
|
345
|
-
// If not yet in default isolate - enter it.
|
346
|
-
if (data == NULL || data->isolate() != default_isolate_) {
|
347
|
-
default_isolate_->Enter();
|
348
|
-
}
|
349
|
-
}
|
350
|
-
|
351
|
-
|
352
|
-
Isolate* Isolate::GetDefaultIsolateForLocking() {
|
353
|
-
EnsureDefaultIsolate();
|
354
|
-
return default_isolate_;
|
355
|
-
}
|
356
|
-
|
357
|
-
|
358
|
-
Isolate::ThreadDataTable::ThreadDataTable()
|
359
|
-
: list_(NULL) {
|
360
|
-
}
|
361
|
-
|
362
|
-
|
363
|
-
Isolate::PerIsolateThreadData*
|
364
|
-
Isolate::ThreadDataTable::Lookup(Isolate* isolate, ThreadId thread_id) {
|
365
|
-
for (PerIsolateThreadData* data = list_; data != NULL; data = data->next_) {
|
366
|
-
if (data->Matches(isolate, thread_id)) return data;
|
367
|
-
}
|
368
|
-
return NULL;
|
369
|
-
}
|
370
|
-
|
371
|
-
|
372
|
-
void Isolate::ThreadDataTable::Insert(Isolate::PerIsolateThreadData* data) {
|
373
|
-
if (list_ != NULL) list_->prev_ = data;
|
374
|
-
data->next_ = list_;
|
375
|
-
list_ = data;
|
376
|
-
}
|
377
|
-
|
378
|
-
|
379
|
-
void Isolate::ThreadDataTable::Remove(PerIsolateThreadData* data) {
|
380
|
-
if (list_ == data) list_ = data->next_;
|
381
|
-
if (data->next_ != NULL) data->next_->prev_ = data->prev_;
|
382
|
-
if (data->prev_ != NULL) data->prev_->next_ = data->next_;
|
383
|
-
}
|
384
|
-
|
385
|
-
|
386
|
-
void Isolate::ThreadDataTable::Remove(Isolate* isolate, ThreadId thread_id) {
|
387
|
-
PerIsolateThreadData* data = Lookup(isolate, thread_id);
|
388
|
-
if (data != NULL) {
|
389
|
-
Remove(data);
|
390
|
-
}
|
391
|
-
}
|
392
|
-
|
393
|
-
|
394
|
-
#ifdef DEBUG
|
395
|
-
#define TRACE_ISOLATE(tag) \
|
396
|
-
do { \
|
397
|
-
if (FLAG_trace_isolates) { \
|
398
|
-
PrintF("Isolate %p " #tag "\n", reinterpret_cast<void*>(this)); \
|
399
|
-
} \
|
400
|
-
} while (false)
|
401
|
-
#else
|
402
|
-
#define TRACE_ISOLATE(tag)
|
403
|
-
#endif
|
404
|
-
|
405
|
-
|
406
|
-
Isolate::Isolate()
|
407
|
-
: state_(UNINITIALIZED),
|
408
|
-
entry_stack_(NULL),
|
409
|
-
stack_trace_nesting_level_(0),
|
410
|
-
incomplete_message_(NULL),
|
411
|
-
preallocated_memory_thread_(NULL),
|
412
|
-
preallocated_message_space_(NULL),
|
413
|
-
bootstrapper_(NULL),
|
414
|
-
runtime_profiler_(NULL),
|
415
|
-
compilation_cache_(NULL),
|
416
|
-
counters_(new Counters()),
|
417
|
-
code_range_(NULL),
|
418
|
-
break_access_(OS::CreateMutex()),
|
419
|
-
logger_(new Logger()),
|
420
|
-
stats_table_(new StatsTable()),
|
421
|
-
stub_cache_(NULL),
|
422
|
-
deoptimizer_data_(NULL),
|
423
|
-
capture_stack_trace_for_uncaught_exceptions_(false),
|
424
|
-
stack_trace_for_uncaught_exceptions_frame_limit_(0),
|
425
|
-
stack_trace_for_uncaught_exceptions_options_(StackTrace::kOverview),
|
426
|
-
transcendental_cache_(NULL),
|
427
|
-
memory_allocator_(NULL),
|
428
|
-
keyed_lookup_cache_(NULL),
|
429
|
-
context_slot_cache_(NULL),
|
430
|
-
descriptor_lookup_cache_(NULL),
|
431
|
-
handle_scope_implementer_(NULL),
|
432
|
-
scanner_constants_(NULL),
|
433
|
-
in_use_list_(0),
|
434
|
-
free_list_(0),
|
435
|
-
preallocated_storage_preallocated_(false),
|
436
|
-
pc_to_code_cache_(NULL),
|
437
|
-
write_input_buffer_(NULL),
|
438
|
-
global_handles_(NULL),
|
439
|
-
context_switcher_(NULL),
|
440
|
-
thread_manager_(NULL),
|
441
|
-
ast_sentinels_(NULL),
|
442
|
-
string_tracker_(NULL),
|
443
|
-
regexp_stack_(NULL),
|
444
|
-
frame_element_constant_list_(0),
|
445
|
-
result_constant_list_(0) {
|
446
|
-
TRACE_ISOLATE(constructor);
|
447
|
-
|
448
|
-
memset(isolate_addresses_, 0,
|
449
|
-
sizeof(isolate_addresses_[0]) * (k_isolate_address_count + 1));
|
450
|
-
|
451
|
-
heap_.isolate_ = this;
|
452
|
-
zone_.isolate_ = this;
|
453
|
-
stack_guard_.isolate_ = this;
|
454
|
-
|
455
|
-
#if defined(V8_TARGET_ARCH_ARM) && !defined(__arm__) || \
|
456
|
-
defined(V8_TARGET_ARCH_MIPS) && !defined(__mips__)
|
457
|
-
simulator_initialized_ = false;
|
458
|
-
simulator_i_cache_ = NULL;
|
459
|
-
simulator_redirection_ = NULL;
|
460
|
-
#endif
|
461
|
-
|
462
|
-
#ifdef DEBUG
|
463
|
-
// heap_histograms_ initializes itself.
|
464
|
-
memset(&js_spill_information_, 0, sizeof(js_spill_information_));
|
465
|
-
memset(code_kind_statistics_, 0,
|
466
|
-
sizeof(code_kind_statistics_[0]) * Code::NUMBER_OF_KINDS);
|
467
|
-
#endif
|
468
|
-
|
469
|
-
#ifdef ENABLE_DEBUGGER_SUPPORT
|
470
|
-
debug_ = NULL;
|
471
|
-
debugger_ = NULL;
|
472
|
-
#endif
|
473
|
-
|
474
|
-
#ifdef ENABLE_LOGGING_AND_PROFILING
|
475
|
-
producer_heap_profile_ = NULL;
|
476
|
-
#endif
|
477
|
-
|
478
|
-
handle_scope_data_.Initialize();
|
479
|
-
|
480
|
-
#define ISOLATE_INIT_EXECUTE(type, name, initial_value) \
|
481
|
-
name##_ = (initial_value);
|
482
|
-
ISOLATE_INIT_LIST(ISOLATE_INIT_EXECUTE)
|
483
|
-
#undef ISOLATE_INIT_EXECUTE
|
484
|
-
|
485
|
-
#define ISOLATE_INIT_ARRAY_EXECUTE(type, name, length) \
|
486
|
-
memset(name##_, 0, sizeof(type) * length);
|
487
|
-
ISOLATE_INIT_ARRAY_LIST(ISOLATE_INIT_ARRAY_EXECUTE)
|
488
|
-
#undef ISOLATE_INIT_ARRAY_EXECUTE
|
489
|
-
}
|
490
|
-
|
491
|
-
void Isolate::TearDown() {
|
492
|
-
TRACE_ISOLATE(tear_down);
|
493
|
-
|
494
|
-
// Temporarily set this isolate as current so that various parts of
|
495
|
-
// the isolate can access it in their destructors without having a
|
496
|
-
// direct pointer. We don't use Enter/Exit here to avoid
|
497
|
-
// initializing the thread data.
|
498
|
-
PerIsolateThreadData* saved_data = CurrentPerIsolateThreadData();
|
499
|
-
Isolate* saved_isolate = UncheckedCurrent();
|
500
|
-
SetIsolateThreadLocals(this, NULL);
|
501
|
-
|
502
|
-
Deinit();
|
503
|
-
|
504
|
-
if (!IsDefaultIsolate()) {
|
505
|
-
delete this;
|
506
|
-
}
|
507
|
-
|
508
|
-
// Restore the previous current isolate.
|
509
|
-
SetIsolateThreadLocals(saved_isolate, saved_data);
|
510
|
-
}
|
511
|
-
|
512
|
-
|
513
|
-
void Isolate::Deinit() {
|
514
|
-
if (state_ == INITIALIZED) {
|
515
|
-
TRACE_ISOLATE(deinit);
|
516
|
-
|
517
|
-
if (FLAG_hydrogen_stats) HStatistics::Instance()->Print();
|
518
|
-
|
519
|
-
// We must stop the logger before we tear down other components.
|
520
|
-
logger_->EnsureTickerStopped();
|
521
|
-
|
522
|
-
delete deoptimizer_data_;
|
523
|
-
deoptimizer_data_ = NULL;
|
524
|
-
if (FLAG_preemption) {
|
525
|
-
v8::Locker locker;
|
526
|
-
v8::Locker::StopPreemption();
|
527
|
-
}
|
528
|
-
builtins_.TearDown();
|
529
|
-
bootstrapper_->TearDown();
|
530
|
-
|
531
|
-
// Remove the external reference to the preallocated stack memory.
|
532
|
-
delete preallocated_message_space_;
|
533
|
-
preallocated_message_space_ = NULL;
|
534
|
-
PreallocatedMemoryThreadStop();
|
535
|
-
|
536
|
-
HeapProfiler::TearDown();
|
537
|
-
CpuProfiler::TearDown();
|
538
|
-
if (runtime_profiler_ != NULL) {
|
539
|
-
runtime_profiler_->TearDown();
|
540
|
-
delete runtime_profiler_;
|
541
|
-
runtime_profiler_ = NULL;
|
542
|
-
}
|
543
|
-
heap_.TearDown();
|
544
|
-
logger_->TearDown();
|
545
|
-
|
546
|
-
// The default isolate is re-initializable due to legacy API.
|
547
|
-
state_ = PREINITIALIZED;
|
548
|
-
}
|
549
|
-
}
|
550
|
-
|
551
|
-
|
552
|
-
void Isolate::SetIsolateThreadLocals(Isolate* isolate,
|
553
|
-
PerIsolateThreadData* data) {
|
554
|
-
Thread::SetThreadLocal(isolate_key_, isolate);
|
555
|
-
Thread::SetThreadLocal(per_isolate_thread_data_key_, data);
|
556
|
-
}
|
557
|
-
|
558
|
-
|
559
|
-
Isolate::~Isolate() {
|
560
|
-
TRACE_ISOLATE(destructor);
|
561
|
-
|
562
|
-
#ifdef ENABLE_LOGGING_AND_PROFILING
|
563
|
-
delete producer_heap_profile_;
|
564
|
-
producer_heap_profile_ = NULL;
|
565
|
-
#endif
|
566
|
-
|
567
|
-
delete scanner_constants_;
|
568
|
-
scanner_constants_ = NULL;
|
569
|
-
|
570
|
-
delete regexp_stack_;
|
571
|
-
regexp_stack_ = NULL;
|
572
|
-
|
573
|
-
delete ast_sentinels_;
|
574
|
-
ast_sentinels_ = NULL;
|
575
|
-
|
576
|
-
delete descriptor_lookup_cache_;
|
577
|
-
descriptor_lookup_cache_ = NULL;
|
578
|
-
delete context_slot_cache_;
|
579
|
-
context_slot_cache_ = NULL;
|
580
|
-
delete keyed_lookup_cache_;
|
581
|
-
keyed_lookup_cache_ = NULL;
|
582
|
-
|
583
|
-
delete transcendental_cache_;
|
584
|
-
transcendental_cache_ = NULL;
|
585
|
-
delete stub_cache_;
|
586
|
-
stub_cache_ = NULL;
|
587
|
-
delete stats_table_;
|
588
|
-
stats_table_ = NULL;
|
589
|
-
|
590
|
-
delete logger_;
|
591
|
-
logger_ = NULL;
|
592
|
-
|
593
|
-
delete counters_;
|
594
|
-
counters_ = NULL;
|
595
|
-
|
596
|
-
delete handle_scope_implementer_;
|
597
|
-
handle_scope_implementer_ = NULL;
|
598
|
-
delete break_access_;
|
599
|
-
break_access_ = NULL;
|
600
|
-
|
601
|
-
delete compilation_cache_;
|
602
|
-
compilation_cache_ = NULL;
|
603
|
-
delete bootstrapper_;
|
604
|
-
bootstrapper_ = NULL;
|
605
|
-
delete pc_to_code_cache_;
|
606
|
-
pc_to_code_cache_ = NULL;
|
607
|
-
delete write_input_buffer_;
|
608
|
-
write_input_buffer_ = NULL;
|
609
|
-
|
610
|
-
delete context_switcher_;
|
611
|
-
context_switcher_ = NULL;
|
612
|
-
delete thread_manager_;
|
613
|
-
thread_manager_ = NULL;
|
614
|
-
|
615
|
-
delete string_tracker_;
|
616
|
-
string_tracker_ = NULL;
|
617
|
-
|
618
|
-
delete memory_allocator_;
|
619
|
-
memory_allocator_ = NULL;
|
620
|
-
delete code_range_;
|
621
|
-
code_range_ = NULL;
|
622
|
-
delete global_handles_;
|
623
|
-
global_handles_ = NULL;
|
624
|
-
|
625
|
-
#ifdef ENABLE_DEBUGGER_SUPPORT
|
626
|
-
delete debugger_;
|
627
|
-
debugger_ = NULL;
|
628
|
-
delete debug_;
|
629
|
-
debug_ = NULL;
|
630
|
-
#endif
|
631
|
-
}
|
632
|
-
|
633
|
-
|
634
|
-
bool Isolate::PreInit() {
|
635
|
-
if (state_ != UNINITIALIZED) return true;
|
636
|
-
|
637
|
-
TRACE_ISOLATE(preinit);
|
638
|
-
|
639
|
-
ASSERT(Isolate::Current() == this);
|
640
|
-
|
641
|
-
#ifdef ENABLE_DEBUGGER_SUPPORT
|
642
|
-
debug_ = new Debug(this);
|
643
|
-
debugger_ = new Debugger();
|
644
|
-
debugger_->isolate_ = this;
|
645
|
-
#endif
|
646
|
-
|
647
|
-
memory_allocator_ = new MemoryAllocator();
|
648
|
-
memory_allocator_->isolate_ = this;
|
649
|
-
code_range_ = new CodeRange();
|
650
|
-
code_range_->isolate_ = this;
|
651
|
-
|
652
|
-
// Safe after setting Heap::isolate_, initializing StackGuard and
|
653
|
-
// ensuring that Isolate::Current() == this.
|
654
|
-
heap_.SetStackLimits();
|
655
|
-
|
656
|
-
#ifdef DEBUG
|
657
|
-
DisallowAllocationFailure disallow_allocation_failure;
|
658
|
-
#endif
|
659
|
-
|
660
|
-
#define C(name) isolate_addresses_[Isolate::k_##name] = \
|
661
|
-
reinterpret_cast<Address>(name());
|
662
|
-
ISOLATE_ADDRESS_LIST(C)
|
663
|
-
ISOLATE_ADDRESS_LIST_PROF(C)
|
664
|
-
#undef C
|
665
|
-
|
666
|
-
string_tracker_ = new StringTracker();
|
667
|
-
string_tracker_->isolate_ = this;
|
668
|
-
thread_manager_ = new ThreadManager();
|
669
|
-
thread_manager_->isolate_ = this;
|
670
|
-
compilation_cache_ = new CompilationCache(this);
|
671
|
-
transcendental_cache_ = new TranscendentalCache();
|
672
|
-
keyed_lookup_cache_ = new KeyedLookupCache();
|
673
|
-
context_slot_cache_ = new ContextSlotCache();
|
674
|
-
descriptor_lookup_cache_ = new DescriptorLookupCache();
|
675
|
-
scanner_constants_ = new ScannerConstants();
|
676
|
-
pc_to_code_cache_ = new PcToCodeCache(this);
|
677
|
-
write_input_buffer_ = new StringInputBuffer();
|
678
|
-
global_handles_ = new GlobalHandles(this);
|
679
|
-
bootstrapper_ = new Bootstrapper();
|
680
|
-
handle_scope_implementer_ = new HandleScopeImplementer();
|
681
|
-
stub_cache_ = new StubCache(this);
|
682
|
-
ast_sentinels_ = new AstSentinels();
|
683
|
-
regexp_stack_ = new RegExpStack();
|
684
|
-
regexp_stack_->isolate_ = this;
|
685
|
-
|
686
|
-
#ifdef ENABLE_LOGGING_AND_PROFILING
|
687
|
-
producer_heap_profile_ = new ProducerHeapProfile();
|
688
|
-
producer_heap_profile_->isolate_ = this;
|
689
|
-
#endif
|
690
|
-
|
691
|
-
state_ = PREINITIALIZED;
|
692
|
-
return true;
|
693
|
-
}
|
694
|
-
|
695
|
-
|
696
|
-
void Isolate::InitializeThreadLocal() {
|
697
|
-
thread_local_top_.Initialize();
|
698
|
-
clear_pending_exception();
|
699
|
-
clear_pending_message();
|
700
|
-
clear_scheduled_exception();
|
701
|
-
}
|
702
|
-
|
703
|
-
|
704
|
-
bool Isolate::Init(Deserializer* des) {
|
705
|
-
ASSERT(state_ != INITIALIZED);
|
706
|
-
|
707
|
-
TRACE_ISOLATE(init);
|
708
|
-
|
709
|
-
bool create_heap_objects = des == NULL;
|
710
|
-
|
711
|
-
#ifdef DEBUG
|
712
|
-
// The initialization process does not handle memory exhaustion.
|
713
|
-
DisallowAllocationFailure disallow_allocation_failure;
|
714
|
-
#endif
|
715
|
-
|
716
|
-
if (state_ == UNINITIALIZED && !PreInit()) return false;
|
717
|
-
|
718
|
-
// Enable logging before setting up the heap
|
719
|
-
logger_->Setup();
|
720
|
-
|
721
|
-
CpuProfiler::Setup();
|
722
|
-
HeapProfiler::Setup();
|
723
|
-
|
724
|
-
// Initialize other runtime facilities
|
725
|
-
#if defined(USE_SIMULATOR)
|
726
|
-
#if defined(V8_TARGET_ARCH_ARM) || defined(V8_TARGET_ARCH_MIPS)
|
727
|
-
Simulator::Initialize();
|
728
|
-
#endif
|
729
|
-
#endif
|
730
|
-
|
731
|
-
{ // NOLINT
|
732
|
-
// Ensure that the thread has a valid stack guard. The v8::Locker object
|
733
|
-
// will ensure this too, but we don't have to use lockers if we are only
|
734
|
-
// using one thread.
|
735
|
-
ExecutionAccess lock(this);
|
736
|
-
stack_guard_.InitThread(lock);
|
737
|
-
}
|
738
|
-
|
739
|
-
// Setup the object heap
|
740
|
-
ASSERT(!heap_.HasBeenSetup());
|
741
|
-
if (!heap_.Setup(create_heap_objects)) {
|
742
|
-
V8::SetFatalError();
|
743
|
-
return false;
|
744
|
-
}
|
745
|
-
|
746
|
-
bootstrapper_->Initialize(create_heap_objects);
|
747
|
-
builtins_.Setup(create_heap_objects);
|
748
|
-
|
749
|
-
InitializeThreadLocal();
|
750
|
-
|
751
|
-
// Only preallocate on the first initialization.
|
752
|
-
if (FLAG_preallocate_message_memory && preallocated_message_space_ == NULL) {
|
753
|
-
// Start the thread which will set aside some memory.
|
754
|
-
PreallocatedMemoryThreadStart();
|
755
|
-
preallocated_message_space_ =
|
756
|
-
new NoAllocationStringAllocator(
|
757
|
-
preallocated_memory_thread_->data(),
|
758
|
-
preallocated_memory_thread_->length());
|
759
|
-
PreallocatedStorageInit(preallocated_memory_thread_->length() / 4);
|
760
|
-
}
|
761
|
-
|
762
|
-
if (FLAG_preemption) {
|
763
|
-
v8::Locker locker;
|
764
|
-
v8::Locker::StartPreemption(100);
|
765
|
-
}
|
766
|
-
|
767
|
-
#ifdef ENABLE_DEBUGGER_SUPPORT
|
768
|
-
debug_->Setup(create_heap_objects);
|
769
|
-
#endif
|
770
|
-
stub_cache_->Initialize(create_heap_objects);
|
771
|
-
|
772
|
-
// If we are deserializing, read the state into the now-empty heap.
|
773
|
-
if (des != NULL) {
|
774
|
-
des->Deserialize();
|
775
|
-
stub_cache_->Clear();
|
776
|
-
}
|
777
|
-
|
778
|
-
// Deserializing may put strange things in the root array's copy of the
|
779
|
-
// stack guard.
|
780
|
-
heap_.SetStackLimits();
|
781
|
-
|
782
|
-
deoptimizer_data_ = new DeoptimizerData;
|
783
|
-
runtime_profiler_ = new RuntimeProfiler(this);
|
784
|
-
runtime_profiler_->Setup();
|
785
|
-
|
786
|
-
// If we are deserializing, log non-function code objects and compiled
|
787
|
-
// functions found in the snapshot.
|
788
|
-
if (des != NULL && FLAG_log_code) {
|
789
|
-
HandleScope scope;
|
790
|
-
LOG(this, LogCodeObjects());
|
791
|
-
LOG(this, LogCompiledFunctions());
|
792
|
-
}
|
793
|
-
|
794
|
-
state_ = INITIALIZED;
|
795
|
-
return true;
|
796
|
-
}
|
797
|
-
|
798
|
-
|
799
|
-
void Isolate::Enter() {
|
800
|
-
Isolate* current_isolate = NULL;
|
801
|
-
PerIsolateThreadData* current_data = CurrentPerIsolateThreadData();
|
802
|
-
if (current_data != NULL) {
|
803
|
-
current_isolate = current_data->isolate_;
|
804
|
-
ASSERT(current_isolate != NULL);
|
805
|
-
if (current_isolate == this) {
|
806
|
-
ASSERT(Current() == this);
|
807
|
-
ASSERT(entry_stack_ != NULL);
|
808
|
-
ASSERT(entry_stack_->previous_thread_data == NULL ||
|
809
|
-
entry_stack_->previous_thread_data->thread_id() ==
|
810
|
-
Thread::GetThreadLocalInt(thread_id_key_));
|
811
|
-
// Same thread re-enters the isolate, no need to re-init anything.
|
812
|
-
entry_stack_->entry_count++;
|
813
|
-
return;
|
814
|
-
}
|
815
|
-
}
|
816
|
-
|
817
|
-
// Threads can have default isolate set into TLS as Current but not yet have
|
818
|
-
// PerIsolateThreadData for it, as it requires more advanced phase of the
|
819
|
-
// initialization. For example, a thread might be the one that system used for
|
820
|
-
// static initializers - in this case the default isolate is set in TLS but
|
821
|
-
// the thread did not yet Enter the isolate. If PerisolateThreadData is not
|
822
|
-
// there, use the isolate set in TLS.
|
823
|
-
if (current_isolate == NULL) {
|
824
|
-
current_isolate = Isolate::UncheckedCurrent();
|
825
|
-
}
|
826
|
-
|
827
|
-
PerIsolateThreadData* data = FindOrAllocatePerThreadDataForThisThread();
|
828
|
-
ASSERT(data != NULL);
|
829
|
-
ASSERT(data->isolate_ == this);
|
830
|
-
|
831
|
-
EntryStackItem* item = new EntryStackItem(current_data,
|
832
|
-
current_isolate,
|
833
|
-
entry_stack_);
|
834
|
-
entry_stack_ = item;
|
835
|
-
|
836
|
-
SetIsolateThreadLocals(this, data);
|
837
|
-
|
838
|
-
CHECK(PreInit());
|
839
|
-
|
840
|
-
// In case it's the first time some thread enters the isolate.
|
841
|
-
set_thread_id(data->thread_id());
|
842
|
-
}
|
843
|
-
|
844
|
-
|
845
|
-
void Isolate::Exit() {
|
846
|
-
ASSERT(entry_stack_ != NULL);
|
847
|
-
ASSERT(entry_stack_->previous_thread_data == NULL ||
|
848
|
-
entry_stack_->previous_thread_data->thread_id() ==
|
849
|
-
Thread::GetThreadLocalInt(thread_id_key_));
|
850
|
-
|
851
|
-
if (--entry_stack_->entry_count > 0) return;
|
852
|
-
|
853
|
-
ASSERT(CurrentPerIsolateThreadData() != NULL);
|
854
|
-
ASSERT(CurrentPerIsolateThreadData()->isolate_ == this);
|
855
|
-
|
856
|
-
// Pop the stack.
|
857
|
-
EntryStackItem* item = entry_stack_;
|
858
|
-
entry_stack_ = item->previous_item;
|
859
|
-
|
860
|
-
PerIsolateThreadData* previous_thread_data = item->previous_thread_data;
|
861
|
-
Isolate* previous_isolate = item->previous_isolate;
|
862
|
-
|
863
|
-
delete item;
|
864
|
-
|
865
|
-
// Reinit the current thread for the isolate it was running before this one.
|
866
|
-
SetIsolateThreadLocals(previous_isolate, previous_thread_data);
|
867
|
-
}
|
868
|
-
|
869
|
-
|
870
|
-
void Isolate::ResetEagerOptimizingData() {
|
871
|
-
compilation_cache_->ResetEagerOptimizingData();
|
872
|
-
}
|
873
|
-
|
874
|
-
|
875
|
-
#ifdef DEBUG
|
876
|
-
#define ISOLATE_FIELD_OFFSET(type, name, ignored) \
|
877
|
-
const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_);
|
878
|
-
ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET)
|
879
|
-
ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET)
|
880
|
-
#undef ISOLATE_FIELD_OFFSET
|
881
|
-
#endif
|
882
|
-
|
883
|
-
} } // namespace v8::internal
|