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,196 +0,0 @@
|
|
1
|
-
// Copyright 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
|
-
#ifndef V8_SCANNER_H_
|
29
|
-
#define V8_SCANNER_H_
|
30
|
-
|
31
|
-
#include "token.h"
|
32
|
-
#include "char-predicates-inl.h"
|
33
|
-
#include "scanner-base.h"
|
34
|
-
|
35
|
-
namespace v8 {
|
36
|
-
namespace internal {
|
37
|
-
|
38
|
-
// A buffered character stream based on a random access character
|
39
|
-
// source (ReadBlock can be called with pos_ pointing to any position,
|
40
|
-
// even positions before the current).
|
41
|
-
class BufferedUC16CharacterStream: public UC16CharacterStream {
|
42
|
-
public:
|
43
|
-
BufferedUC16CharacterStream();
|
44
|
-
virtual ~BufferedUC16CharacterStream();
|
45
|
-
|
46
|
-
virtual void PushBack(uc32 character);
|
47
|
-
|
48
|
-
protected:
|
49
|
-
static const unsigned kBufferSize = 512;
|
50
|
-
static const unsigned kPushBackStepSize = 16;
|
51
|
-
|
52
|
-
virtual unsigned SlowSeekForward(unsigned delta);
|
53
|
-
virtual bool ReadBlock();
|
54
|
-
virtual void SlowPushBack(uc16 character);
|
55
|
-
|
56
|
-
virtual unsigned BufferSeekForward(unsigned delta) = 0;
|
57
|
-
virtual unsigned FillBuffer(unsigned position, unsigned length) = 0;
|
58
|
-
|
59
|
-
const uc16* pushback_limit_;
|
60
|
-
uc16 buffer_[kBufferSize];
|
61
|
-
};
|
62
|
-
|
63
|
-
|
64
|
-
// Generic string stream.
|
65
|
-
class GenericStringUC16CharacterStream: public BufferedUC16CharacterStream {
|
66
|
-
public:
|
67
|
-
GenericStringUC16CharacterStream(Handle<String> data,
|
68
|
-
unsigned start_position,
|
69
|
-
unsigned end_position);
|
70
|
-
virtual ~GenericStringUC16CharacterStream();
|
71
|
-
|
72
|
-
protected:
|
73
|
-
virtual unsigned BufferSeekForward(unsigned delta);
|
74
|
-
virtual unsigned FillBuffer(unsigned position, unsigned length);
|
75
|
-
|
76
|
-
Handle<String> string_;
|
77
|
-
unsigned start_position_;
|
78
|
-
unsigned length_;
|
79
|
-
};
|
80
|
-
|
81
|
-
|
82
|
-
// UC16 stream based on a literal UTF-8 string.
|
83
|
-
class Utf8ToUC16CharacterStream: public BufferedUC16CharacterStream {
|
84
|
-
public:
|
85
|
-
Utf8ToUC16CharacterStream(const byte* data, unsigned length);
|
86
|
-
virtual ~Utf8ToUC16CharacterStream();
|
87
|
-
|
88
|
-
protected:
|
89
|
-
virtual unsigned BufferSeekForward(unsigned delta);
|
90
|
-
virtual unsigned FillBuffer(unsigned char_position, unsigned length);
|
91
|
-
void SetRawPosition(unsigned char_position);
|
92
|
-
|
93
|
-
const byte* raw_data_;
|
94
|
-
unsigned raw_data_length_; // Measured in bytes, not characters.
|
95
|
-
unsigned raw_data_pos_;
|
96
|
-
// The character position of the character at raw_data[raw_data_pos_].
|
97
|
-
// Not necessarily the same as pos_.
|
98
|
-
unsigned raw_character_position_;
|
99
|
-
};
|
100
|
-
|
101
|
-
|
102
|
-
// UTF16 buffer to read characters from an external string.
|
103
|
-
class ExternalTwoByteStringUC16CharacterStream: public UC16CharacterStream {
|
104
|
-
public:
|
105
|
-
ExternalTwoByteStringUC16CharacterStream(Handle<ExternalTwoByteString> data,
|
106
|
-
int start_position,
|
107
|
-
int end_position);
|
108
|
-
virtual ~ExternalTwoByteStringUC16CharacterStream();
|
109
|
-
|
110
|
-
virtual void PushBack(uc32 character) {
|
111
|
-
ASSERT(buffer_cursor_ > raw_data_);
|
112
|
-
buffer_cursor_--;
|
113
|
-
pos_--;
|
114
|
-
}
|
115
|
-
|
116
|
-
protected:
|
117
|
-
virtual unsigned SlowSeekForward(unsigned delta) {
|
118
|
-
// Fast case always handles seeking.
|
119
|
-
return 0;
|
120
|
-
}
|
121
|
-
virtual bool ReadBlock() {
|
122
|
-
// Entire string is read at start.
|
123
|
-
return false;
|
124
|
-
}
|
125
|
-
Handle<ExternalTwoByteString> source_;
|
126
|
-
const uc16* raw_data_; // Pointer to the actual array of characters.
|
127
|
-
};
|
128
|
-
|
129
|
-
|
130
|
-
// ----------------------------------------------------------------------------
|
131
|
-
// V8JavaScriptScanner
|
132
|
-
// JavaScript scanner getting its input from either a V8 String or a unicode
|
133
|
-
// CharacterStream.
|
134
|
-
|
135
|
-
class V8JavaScriptScanner : public JavaScriptScanner {
|
136
|
-
public:
|
137
|
-
explicit V8JavaScriptScanner(ScannerConstants* scanner_constants)
|
138
|
-
: JavaScriptScanner(scanner_constants) {}
|
139
|
-
|
140
|
-
void Initialize(UC16CharacterStream* source);
|
141
|
-
};
|
142
|
-
|
143
|
-
|
144
|
-
class JsonScanner : public Scanner {
|
145
|
-
public:
|
146
|
-
explicit JsonScanner(ScannerConstants* scanner_constants);
|
147
|
-
|
148
|
-
void Initialize(UC16CharacterStream* source);
|
149
|
-
|
150
|
-
// Returns the next token.
|
151
|
-
Token::Value Next();
|
152
|
-
|
153
|
-
// Returns the value of a number token.
|
154
|
-
double number() {
|
155
|
-
return number_;
|
156
|
-
}
|
157
|
-
|
158
|
-
|
159
|
-
protected:
|
160
|
-
// Skip past JSON whitespace (only space, tab, newline and carrige-return).
|
161
|
-
bool SkipJsonWhiteSpace();
|
162
|
-
|
163
|
-
// Scan a single JSON token. The JSON lexical grammar is specified in the
|
164
|
-
// ECMAScript 5 standard, section 15.12.1.1.
|
165
|
-
// Recognizes all of the single-character tokens directly, or calls a function
|
166
|
-
// to scan a number, string or identifier literal.
|
167
|
-
// The only allowed whitespace characters between tokens are tab,
|
168
|
-
// carriage-return, newline and space.
|
169
|
-
void ScanJson();
|
170
|
-
|
171
|
-
// A JSON number (production JSONNumber) is a subset of the valid JavaScript
|
172
|
-
// decimal number literals.
|
173
|
-
// It includes an optional minus sign, must have at least one
|
174
|
-
// digit before and after a decimal point, may not have prefixed zeros (unless
|
175
|
-
// the integer part is zero), and may include an exponent part (e.g., "e-10").
|
176
|
-
// Hexadecimal and octal numbers are not allowed.
|
177
|
-
Token::Value ScanJsonNumber();
|
178
|
-
|
179
|
-
// A JSON string (production JSONString) is subset of valid JavaScript string
|
180
|
-
// literals. The string must only be double-quoted (not single-quoted), and
|
181
|
-
// the only allowed backslash-escapes are ", /, \, b, f, n, r, t and
|
182
|
-
// four-digit hex escapes (uXXXX). Any other use of backslashes is invalid.
|
183
|
-
Token::Value ScanJsonString();
|
184
|
-
|
185
|
-
// Used to recognizes one of the literals "true", "false", or "null". These
|
186
|
-
// are the only valid JSON identifiers (productions JSONBooleanLiteral,
|
187
|
-
// JSONNullLiteral).
|
188
|
-
Token::Value ScanJsonIdentifier(const char* text, Token::Value token);
|
189
|
-
|
190
|
-
// Holds the value of a scanned number token.
|
191
|
-
double number_;
|
192
|
-
};
|
193
|
-
|
194
|
-
} } // namespace v8::internal
|
195
|
-
|
196
|
-
#endif // V8_SCANNER_H_
|
@@ -1,631 +0,0 @@
|
|
1
|
-
// Copyright 2006-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
|
-
#include <stdlib.h>
|
29
|
-
|
30
|
-
#include "v8.h"
|
31
|
-
|
32
|
-
#include "scopeinfo.h"
|
33
|
-
#include "scopes.h"
|
34
|
-
|
35
|
-
namespace v8 {
|
36
|
-
namespace internal {
|
37
|
-
|
38
|
-
|
39
|
-
static int CompareLocal(Variable* const* v, Variable* const* w) {
|
40
|
-
Slot* s = (*v)->AsSlot();
|
41
|
-
Slot* t = (*w)->AsSlot();
|
42
|
-
// We may have rewritten parameters (that are in the arguments object)
|
43
|
-
// and which may have a NULL slot... - find a better solution...
|
44
|
-
int x = (s != NULL ? s->index() : 0);
|
45
|
-
int y = (t != NULL ? t->index() : 0);
|
46
|
-
// Consider sorting them according to type as well?
|
47
|
-
return x - y;
|
48
|
-
}
|
49
|
-
|
50
|
-
|
51
|
-
template<class Allocator>
|
52
|
-
ScopeInfo<Allocator>::ScopeInfo(Scope* scope)
|
53
|
-
: function_name_(FACTORY->empty_symbol()),
|
54
|
-
calls_eval_(scope->calls_eval()),
|
55
|
-
parameters_(scope->num_parameters()),
|
56
|
-
stack_slots_(scope->num_stack_slots()),
|
57
|
-
context_slots_(scope->num_heap_slots()),
|
58
|
-
context_modes_(scope->num_heap_slots()) {
|
59
|
-
// Add parameters.
|
60
|
-
for (int i = 0; i < scope->num_parameters(); i++) {
|
61
|
-
ASSERT(parameters_.length() == i);
|
62
|
-
parameters_.Add(scope->parameter(i)->name());
|
63
|
-
}
|
64
|
-
|
65
|
-
// Add stack locals and collect heap locals.
|
66
|
-
// We are assuming that the locals' slots are allocated in
|
67
|
-
// increasing order, so we can simply add them to the
|
68
|
-
// ScopeInfo lists. However, due to usage analysis, this is
|
69
|
-
// not true for context-allocated locals: Some of them
|
70
|
-
// may be parameters which are allocated before the
|
71
|
-
// non-parameter locals. When the non-parameter locals are
|
72
|
-
// sorted according to usage, the allocated slot indices may
|
73
|
-
// not be in increasing order with the variable list anymore.
|
74
|
-
// Thus, we first collect the context-allocated locals, and then
|
75
|
-
// sort them by context slot index before adding them to the
|
76
|
-
// ScopeInfo list.
|
77
|
-
List<Variable*, Allocator> locals(32); // 32 is a wild guess
|
78
|
-
ASSERT(locals.is_empty());
|
79
|
-
scope->CollectUsedVariables(&locals);
|
80
|
-
locals.Sort(&CompareLocal);
|
81
|
-
|
82
|
-
List<Variable*, Allocator> heap_locals(locals.length());
|
83
|
-
for (int i = 0; i < locals.length(); i++) {
|
84
|
-
Variable* var = locals[i];
|
85
|
-
if (var->is_used()) {
|
86
|
-
Slot* slot = var->AsSlot();
|
87
|
-
if (slot != NULL) {
|
88
|
-
switch (slot->type()) {
|
89
|
-
case Slot::PARAMETER:
|
90
|
-
// explicitly added to parameters_ above - ignore
|
91
|
-
break;
|
92
|
-
|
93
|
-
case Slot::LOCAL:
|
94
|
-
ASSERT(stack_slots_.length() == slot->index());
|
95
|
-
stack_slots_.Add(var->name());
|
96
|
-
break;
|
97
|
-
|
98
|
-
case Slot::CONTEXT:
|
99
|
-
heap_locals.Add(var);
|
100
|
-
break;
|
101
|
-
|
102
|
-
case Slot::LOOKUP:
|
103
|
-
// This is currently not used.
|
104
|
-
UNREACHABLE();
|
105
|
-
break;
|
106
|
-
}
|
107
|
-
}
|
108
|
-
}
|
109
|
-
}
|
110
|
-
|
111
|
-
// Add heap locals.
|
112
|
-
if (scope->num_heap_slots() > 0) {
|
113
|
-
// Add user-defined slots.
|
114
|
-
for (int i = 0; i < heap_locals.length(); i++) {
|
115
|
-
ASSERT(heap_locals[i]->AsSlot()->index() - Context::MIN_CONTEXT_SLOTS ==
|
116
|
-
context_slots_.length());
|
117
|
-
ASSERT(heap_locals[i]->AsSlot()->index() - Context::MIN_CONTEXT_SLOTS ==
|
118
|
-
context_modes_.length());
|
119
|
-
context_slots_.Add(heap_locals[i]->name());
|
120
|
-
context_modes_.Add(heap_locals[i]->mode());
|
121
|
-
}
|
122
|
-
|
123
|
-
} else {
|
124
|
-
ASSERT(heap_locals.length() == 0);
|
125
|
-
}
|
126
|
-
|
127
|
-
// Add the function context slot, if present.
|
128
|
-
// For now, this must happen at the very end because of the
|
129
|
-
// ordering of the scope info slots and the respective slot indices.
|
130
|
-
if (scope->is_function_scope()) {
|
131
|
-
Variable* var = scope->function();
|
132
|
-
if (var != NULL &&
|
133
|
-
var->is_used() &&
|
134
|
-
var->AsSlot()->type() == Slot::CONTEXT) {
|
135
|
-
function_name_ = var->name();
|
136
|
-
// Note that we must not find the function name in the context slot
|
137
|
-
// list - instead it must be handled separately in the
|
138
|
-
// Contexts::Lookup() function. Thus record an empty symbol here so we
|
139
|
-
// get the correct number of context slots.
|
140
|
-
ASSERT(var->AsSlot()->index() - Context::MIN_CONTEXT_SLOTS ==
|
141
|
-
context_slots_.length());
|
142
|
-
ASSERT(var->AsSlot()->index() - Context::MIN_CONTEXT_SLOTS ==
|
143
|
-
context_modes_.length());
|
144
|
-
context_slots_.Add(FACTORY->empty_symbol());
|
145
|
-
context_modes_.Add(Variable::INTERNAL);
|
146
|
-
}
|
147
|
-
}
|
148
|
-
}
|
149
|
-
|
150
|
-
|
151
|
-
// Encoding format in a FixedArray object:
|
152
|
-
//
|
153
|
-
// - function name
|
154
|
-
//
|
155
|
-
// - calls eval boolean flag
|
156
|
-
//
|
157
|
-
// - number of variables in the context object (smi) (= function context
|
158
|
-
// slot index + 1)
|
159
|
-
// - list of pairs (name, Var mode) of context-allocated variables (starting
|
160
|
-
// with context slot 0)
|
161
|
-
//
|
162
|
-
// - number of parameters (smi)
|
163
|
-
// - list of parameter names (starting with parameter 0 first)
|
164
|
-
//
|
165
|
-
// - number of variables on the stack (smi)
|
166
|
-
// - list of names of stack-allocated variables (starting with stack slot 0)
|
167
|
-
|
168
|
-
// The ScopeInfo representation could be simplified and the ScopeInfo
|
169
|
-
// re-implemented (with almost the same interface). Here is a
|
170
|
-
// suggestion for the new format:
|
171
|
-
//
|
172
|
-
// - have a single list with all variable names (parameters, stack locals,
|
173
|
-
// context locals), followed by a list of non-Object* values containing
|
174
|
-
// the variables information (what kind, index, attributes)
|
175
|
-
// - searching the linear list of names is fast and yields an index into the
|
176
|
-
// list if the variable name is found
|
177
|
-
// - that list index is then used to find the variable information in the
|
178
|
-
// subsequent list
|
179
|
-
// - the list entries don't have to be in any particular order, so all the
|
180
|
-
// current sorting business can go away
|
181
|
-
// - the ScopeInfo lookup routines can be reduced to perhaps a single lookup
|
182
|
-
// which returns all information at once
|
183
|
-
// - when gathering the information from a Scope, we only need to iterate
|
184
|
-
// through the local variables (parameters and context info is already
|
185
|
-
// present)
|
186
|
-
|
187
|
-
|
188
|
-
static inline Object** ReadInt(Object** p, int* x) {
|
189
|
-
*x = (reinterpret_cast<Smi*>(*p++))->value();
|
190
|
-
return p;
|
191
|
-
}
|
192
|
-
|
193
|
-
|
194
|
-
static inline Object** ReadBool(Object** p, bool* x) {
|
195
|
-
*x = (reinterpret_cast<Smi*>(*p++))->value() != 0;
|
196
|
-
return p;
|
197
|
-
}
|
198
|
-
|
199
|
-
|
200
|
-
static inline Object** ReadSymbol(Object** p, Handle<String>* s) {
|
201
|
-
*s = Handle<String>(reinterpret_cast<String*>(*p++));
|
202
|
-
return p;
|
203
|
-
}
|
204
|
-
|
205
|
-
|
206
|
-
template <class Allocator>
|
207
|
-
static Object** ReadList(Object** p, List<Handle<String>, Allocator >* list) {
|
208
|
-
ASSERT(list->is_empty());
|
209
|
-
int n;
|
210
|
-
p = ReadInt(p, &n);
|
211
|
-
while (n-- > 0) {
|
212
|
-
Handle<String> s;
|
213
|
-
p = ReadSymbol(p, &s);
|
214
|
-
list->Add(s);
|
215
|
-
}
|
216
|
-
return p;
|
217
|
-
}
|
218
|
-
|
219
|
-
|
220
|
-
template <class Allocator>
|
221
|
-
static Object** ReadList(Object** p,
|
222
|
-
List<Handle<String>, Allocator>* list,
|
223
|
-
List<Variable::Mode, Allocator>* modes) {
|
224
|
-
ASSERT(list->is_empty());
|
225
|
-
int n;
|
226
|
-
p = ReadInt(p, &n);
|
227
|
-
while (n-- > 0) {
|
228
|
-
Handle<String> s;
|
229
|
-
int m;
|
230
|
-
p = ReadSymbol(p, &s);
|
231
|
-
p = ReadInt(p, &m);
|
232
|
-
list->Add(s);
|
233
|
-
modes->Add(static_cast<Variable::Mode>(m));
|
234
|
-
}
|
235
|
-
return p;
|
236
|
-
}
|
237
|
-
|
238
|
-
|
239
|
-
template<class Allocator>
|
240
|
-
ScopeInfo<Allocator>::ScopeInfo(SerializedScopeInfo* data)
|
241
|
-
: function_name_(FACTORY->empty_symbol()),
|
242
|
-
parameters_(4),
|
243
|
-
stack_slots_(8),
|
244
|
-
context_slots_(8),
|
245
|
-
context_modes_(8) {
|
246
|
-
if (data->length() > 0) {
|
247
|
-
Object** p0 = data->data_start();
|
248
|
-
Object** p = p0;
|
249
|
-
p = ReadSymbol(p, &function_name_);
|
250
|
-
p = ReadBool(p, &calls_eval_);
|
251
|
-
p = ReadList<Allocator>(p, &context_slots_, &context_modes_);
|
252
|
-
p = ReadList<Allocator>(p, ¶meters_);
|
253
|
-
p = ReadList<Allocator>(p, &stack_slots_);
|
254
|
-
ASSERT((p - p0) == FixedArray::cast(data)->length());
|
255
|
-
}
|
256
|
-
}
|
257
|
-
|
258
|
-
|
259
|
-
static inline Object** WriteInt(Object** p, int x) {
|
260
|
-
*p++ = Smi::FromInt(x);
|
261
|
-
return p;
|
262
|
-
}
|
263
|
-
|
264
|
-
|
265
|
-
static inline Object** WriteBool(Object** p, bool b) {
|
266
|
-
*p++ = Smi::FromInt(b ? 1 : 0);
|
267
|
-
return p;
|
268
|
-
}
|
269
|
-
|
270
|
-
|
271
|
-
static inline Object** WriteSymbol(Object** p, Handle<String> s) {
|
272
|
-
*p++ = *s;
|
273
|
-
return p;
|
274
|
-
}
|
275
|
-
|
276
|
-
|
277
|
-
template <class Allocator>
|
278
|
-
static Object** WriteList(Object** p, List<Handle<String>, Allocator >* list) {
|
279
|
-
const int n = list->length();
|
280
|
-
p = WriteInt(p, n);
|
281
|
-
for (int i = 0; i < n; i++) {
|
282
|
-
p = WriteSymbol(p, list->at(i));
|
283
|
-
}
|
284
|
-
return p;
|
285
|
-
}
|
286
|
-
|
287
|
-
|
288
|
-
template <class Allocator>
|
289
|
-
static Object** WriteList(Object** p,
|
290
|
-
List<Handle<String>, Allocator>* list,
|
291
|
-
List<Variable::Mode, Allocator>* modes) {
|
292
|
-
const int n = list->length();
|
293
|
-
p = WriteInt(p, n);
|
294
|
-
for (int i = 0; i < n; i++) {
|
295
|
-
p = WriteSymbol(p, list->at(i));
|
296
|
-
p = WriteInt(p, modes->at(i));
|
297
|
-
}
|
298
|
-
return p;
|
299
|
-
}
|
300
|
-
|
301
|
-
|
302
|
-
template<class Allocator>
|
303
|
-
Handle<SerializedScopeInfo> ScopeInfo<Allocator>::Serialize() {
|
304
|
-
// function name, calls eval, length for 3 tables:
|
305
|
-
const int extra_slots = 1 + 1 + 3;
|
306
|
-
int length = extra_slots +
|
307
|
-
context_slots_.length() * 2 +
|
308
|
-
parameters_.length() +
|
309
|
-
stack_slots_.length();
|
310
|
-
|
311
|
-
Handle<SerializedScopeInfo> data(
|
312
|
-
SerializedScopeInfo::cast(*FACTORY->NewFixedArray(length, TENURED)));
|
313
|
-
AssertNoAllocation nogc;
|
314
|
-
|
315
|
-
Object** p0 = data->data_start();
|
316
|
-
Object** p = p0;
|
317
|
-
p = WriteSymbol(p, function_name_);
|
318
|
-
p = WriteBool(p, calls_eval_);
|
319
|
-
p = WriteList(p, &context_slots_, &context_modes_);
|
320
|
-
p = WriteList(p, ¶meters_);
|
321
|
-
p = WriteList(p, &stack_slots_);
|
322
|
-
ASSERT((p - p0) == length);
|
323
|
-
|
324
|
-
return data;
|
325
|
-
}
|
326
|
-
|
327
|
-
|
328
|
-
template<class Allocator>
|
329
|
-
Handle<String> ScopeInfo<Allocator>::LocalName(int i) const {
|
330
|
-
// A local variable can be allocated either on the stack or in the context.
|
331
|
-
// For variables allocated in the context they are always preceded by
|
332
|
-
// Context::MIN_CONTEXT_SLOTS of fixed allocated slots in the context.
|
333
|
-
if (i < number_of_stack_slots()) {
|
334
|
-
return stack_slot_name(i);
|
335
|
-
} else {
|
336
|
-
return context_slot_name(i - number_of_stack_slots() +
|
337
|
-
Context::MIN_CONTEXT_SLOTS);
|
338
|
-
}
|
339
|
-
}
|
340
|
-
|
341
|
-
|
342
|
-
template<class Allocator>
|
343
|
-
int ScopeInfo<Allocator>::NumberOfLocals() const {
|
344
|
-
int number_of_locals = number_of_stack_slots();
|
345
|
-
if (number_of_context_slots() > 0) {
|
346
|
-
ASSERT(number_of_context_slots() >= Context::MIN_CONTEXT_SLOTS);
|
347
|
-
number_of_locals += number_of_context_slots() - Context::MIN_CONTEXT_SLOTS;
|
348
|
-
}
|
349
|
-
return number_of_locals;
|
350
|
-
}
|
351
|
-
|
352
|
-
|
353
|
-
Handle<SerializedScopeInfo> SerializedScopeInfo::Create(Scope* scope) {
|
354
|
-
ScopeInfo<ZoneListAllocationPolicy> sinfo(scope);
|
355
|
-
return sinfo.Serialize();
|
356
|
-
}
|
357
|
-
|
358
|
-
|
359
|
-
SerializedScopeInfo* SerializedScopeInfo::Empty() {
|
360
|
-
return reinterpret_cast<SerializedScopeInfo*>(HEAP->empty_fixed_array());
|
361
|
-
}
|
362
|
-
|
363
|
-
|
364
|
-
Object** SerializedScopeInfo::ContextEntriesAddr() {
|
365
|
-
ASSERT(length() > 0);
|
366
|
-
return data_start() + 2; // +2 for function name and calls eval.
|
367
|
-
}
|
368
|
-
|
369
|
-
|
370
|
-
Object** SerializedScopeInfo::ParameterEntriesAddr() {
|
371
|
-
ASSERT(length() > 0);
|
372
|
-
Object** p = ContextEntriesAddr();
|
373
|
-
int number_of_context_slots;
|
374
|
-
p = ReadInt(p, &number_of_context_slots);
|
375
|
-
return p + number_of_context_slots*2; // *2 for pairs
|
376
|
-
}
|
377
|
-
|
378
|
-
|
379
|
-
Object** SerializedScopeInfo::StackSlotEntriesAddr() {
|
380
|
-
ASSERT(length() > 0);
|
381
|
-
Object** p = ParameterEntriesAddr();
|
382
|
-
int number_of_parameter_slots;
|
383
|
-
p = ReadInt(p, &number_of_parameter_slots);
|
384
|
-
return p + number_of_parameter_slots;
|
385
|
-
}
|
386
|
-
|
387
|
-
|
388
|
-
bool SerializedScopeInfo::CallsEval() {
|
389
|
-
if (length() > 0) {
|
390
|
-
Object** p = data_start() + 1; // +1 for function name.
|
391
|
-
bool calls_eval;
|
392
|
-
p = ReadBool(p, &calls_eval);
|
393
|
-
return calls_eval;
|
394
|
-
}
|
395
|
-
return true;
|
396
|
-
}
|
397
|
-
|
398
|
-
|
399
|
-
int SerializedScopeInfo::NumberOfStackSlots() {
|
400
|
-
if (length() > 0) {
|
401
|
-
Object** p = StackSlotEntriesAddr();
|
402
|
-
int number_of_stack_slots;
|
403
|
-
ReadInt(p, &number_of_stack_slots);
|
404
|
-
return number_of_stack_slots;
|
405
|
-
}
|
406
|
-
return 0;
|
407
|
-
}
|
408
|
-
|
409
|
-
|
410
|
-
int SerializedScopeInfo::NumberOfContextSlots() {
|
411
|
-
if (length() > 0) {
|
412
|
-
Object** p = ContextEntriesAddr();
|
413
|
-
int number_of_context_slots;
|
414
|
-
ReadInt(p, &number_of_context_slots);
|
415
|
-
return number_of_context_slots + Context::MIN_CONTEXT_SLOTS;
|
416
|
-
}
|
417
|
-
return 0;
|
418
|
-
}
|
419
|
-
|
420
|
-
|
421
|
-
bool SerializedScopeInfo::HasHeapAllocatedLocals() {
|
422
|
-
if (length() > 0) {
|
423
|
-
Object** p = ContextEntriesAddr();
|
424
|
-
int number_of_context_slots;
|
425
|
-
ReadInt(p, &number_of_context_slots);
|
426
|
-
return number_of_context_slots > 0;
|
427
|
-
}
|
428
|
-
return false;
|
429
|
-
}
|
430
|
-
|
431
|
-
|
432
|
-
int SerializedScopeInfo::StackSlotIndex(String* name) {
|
433
|
-
ASSERT(name->IsSymbol());
|
434
|
-
if (length() > 0) {
|
435
|
-
// Slots start after length entry.
|
436
|
-
Object** p0 = StackSlotEntriesAddr();
|
437
|
-
int number_of_stack_slots;
|
438
|
-
p0 = ReadInt(p0, &number_of_stack_slots);
|
439
|
-
Object** p = p0;
|
440
|
-
Object** end = p0 + number_of_stack_slots;
|
441
|
-
while (p != end) {
|
442
|
-
if (*p == name) return static_cast<int>(p - p0);
|
443
|
-
p++;
|
444
|
-
}
|
445
|
-
}
|
446
|
-
return -1;
|
447
|
-
}
|
448
|
-
|
449
|
-
int SerializedScopeInfo::ContextSlotIndex(String* name, Variable::Mode* mode) {
|
450
|
-
ASSERT(name->IsSymbol());
|
451
|
-
Isolate* isolate = GetIsolate();
|
452
|
-
int result = isolate->context_slot_cache()->Lookup(this, name, mode);
|
453
|
-
if (result != ContextSlotCache::kNotFound) return result;
|
454
|
-
if (length() > 0) {
|
455
|
-
// Slots start after length entry.
|
456
|
-
Object** p0 = ContextEntriesAddr();
|
457
|
-
int number_of_context_slots;
|
458
|
-
p0 = ReadInt(p0, &number_of_context_slots);
|
459
|
-
Object** p = p0;
|
460
|
-
Object** end = p0 + number_of_context_slots * 2;
|
461
|
-
while (p != end) {
|
462
|
-
if (*p == name) {
|
463
|
-
ASSERT(((p - p0) & 1) == 0);
|
464
|
-
int v;
|
465
|
-
ReadInt(p + 1, &v);
|
466
|
-
Variable::Mode mode_value = static_cast<Variable::Mode>(v);
|
467
|
-
if (mode != NULL) *mode = mode_value;
|
468
|
-
result = static_cast<int>((p - p0) >> 1) + Context::MIN_CONTEXT_SLOTS;
|
469
|
-
isolate->context_slot_cache()->Update(this, name, mode_value, result);
|
470
|
-
return result;
|
471
|
-
}
|
472
|
-
p += 2;
|
473
|
-
}
|
474
|
-
}
|
475
|
-
isolate->context_slot_cache()->Update(this, name, Variable::INTERNAL, -1);
|
476
|
-
return -1;
|
477
|
-
}
|
478
|
-
|
479
|
-
|
480
|
-
int SerializedScopeInfo::ParameterIndex(String* name) {
|
481
|
-
ASSERT(name->IsSymbol());
|
482
|
-
if (length() > 0) {
|
483
|
-
// We must read parameters from the end since for
|
484
|
-
// multiply declared parameters the value of the
|
485
|
-
// last declaration of that parameter is used
|
486
|
-
// inside a function (and thus we need to look
|
487
|
-
// at the last index). Was bug# 1110337.
|
488
|
-
//
|
489
|
-
// Eventually, we should only register such parameters
|
490
|
-
// once, with corresponding index. This requires a new
|
491
|
-
// implementation of the ScopeInfo code. See also other
|
492
|
-
// comments in this file regarding this.
|
493
|
-
Object** p = ParameterEntriesAddr();
|
494
|
-
int number_of_parameter_slots;
|
495
|
-
Object** p0 = ReadInt(p, &number_of_parameter_slots);
|
496
|
-
p = p0 + number_of_parameter_slots;
|
497
|
-
while (p > p0) {
|
498
|
-
p--;
|
499
|
-
if (*p == name) return static_cast<int>(p - p0);
|
500
|
-
}
|
501
|
-
}
|
502
|
-
return -1;
|
503
|
-
}
|
504
|
-
|
505
|
-
|
506
|
-
int SerializedScopeInfo::FunctionContextSlotIndex(String* name) {
|
507
|
-
ASSERT(name->IsSymbol());
|
508
|
-
if (length() > 0) {
|
509
|
-
Object** p = data_start();
|
510
|
-
if (*p == name) {
|
511
|
-
p = ContextEntriesAddr();
|
512
|
-
int number_of_context_slots;
|
513
|
-
ReadInt(p, &number_of_context_slots);
|
514
|
-
ASSERT(number_of_context_slots != 0);
|
515
|
-
// The function context slot is the last entry.
|
516
|
-
return number_of_context_slots + Context::MIN_CONTEXT_SLOTS - 1;
|
517
|
-
}
|
518
|
-
}
|
519
|
-
return -1;
|
520
|
-
}
|
521
|
-
|
522
|
-
|
523
|
-
int ContextSlotCache::Hash(Object* data, String* name) {
|
524
|
-
// Uses only lower 32 bits if pointers are larger.
|
525
|
-
uintptr_t addr_hash =
|
526
|
-
static_cast<uint32_t>(reinterpret_cast<uintptr_t>(data)) >> 2;
|
527
|
-
return static_cast<int>((addr_hash ^ name->Hash()) % kLength);
|
528
|
-
}
|
529
|
-
|
530
|
-
|
531
|
-
int ContextSlotCache::Lookup(Object* data,
|
532
|
-
String* name,
|
533
|
-
Variable::Mode* mode) {
|
534
|
-
int index = Hash(data, name);
|
535
|
-
Key& key = keys_[index];
|
536
|
-
if ((key.data == data) && key.name->Equals(name)) {
|
537
|
-
Value result(values_[index]);
|
538
|
-
if (mode != NULL) *mode = result.mode();
|
539
|
-
return result.index() + kNotFound;
|
540
|
-
}
|
541
|
-
return kNotFound;
|
542
|
-
}
|
543
|
-
|
544
|
-
|
545
|
-
void ContextSlotCache::Update(Object* data,
|
546
|
-
String* name,
|
547
|
-
Variable::Mode mode,
|
548
|
-
int slot_index) {
|
549
|
-
String* symbol;
|
550
|
-
ASSERT(slot_index > kNotFound);
|
551
|
-
if (HEAP->LookupSymbolIfExists(name, &symbol)) {
|
552
|
-
int index = Hash(data, symbol);
|
553
|
-
Key& key = keys_[index];
|
554
|
-
key.data = data;
|
555
|
-
key.name = symbol;
|
556
|
-
// Please note value only takes a uint as index.
|
557
|
-
values_[index] = Value(mode, slot_index - kNotFound).raw();
|
558
|
-
#ifdef DEBUG
|
559
|
-
ValidateEntry(data, name, mode, slot_index);
|
560
|
-
#endif
|
561
|
-
}
|
562
|
-
}
|
563
|
-
|
564
|
-
|
565
|
-
void ContextSlotCache::Clear() {
|
566
|
-
for (int index = 0; index < kLength; index++) keys_[index].data = NULL;
|
567
|
-
}
|
568
|
-
|
569
|
-
|
570
|
-
#ifdef DEBUG
|
571
|
-
|
572
|
-
void ContextSlotCache::ValidateEntry(Object* data,
|
573
|
-
String* name,
|
574
|
-
Variable::Mode mode,
|
575
|
-
int slot_index) {
|
576
|
-
String* symbol;
|
577
|
-
if (HEAP->LookupSymbolIfExists(name, &symbol)) {
|
578
|
-
int index = Hash(data, name);
|
579
|
-
Key& key = keys_[index];
|
580
|
-
ASSERT(key.data == data);
|
581
|
-
ASSERT(key.name->Equals(name));
|
582
|
-
Value result(values_[index]);
|
583
|
-
ASSERT(result.mode() == mode);
|
584
|
-
ASSERT(result.index() + kNotFound == slot_index);
|
585
|
-
}
|
586
|
-
}
|
587
|
-
|
588
|
-
|
589
|
-
template <class Allocator>
|
590
|
-
static void PrintList(const char* list_name,
|
591
|
-
int nof_internal_slots,
|
592
|
-
List<Handle<String>, Allocator>& list) {
|
593
|
-
if (list.length() > 0) {
|
594
|
-
PrintF("\n // %s\n", list_name);
|
595
|
-
if (nof_internal_slots > 0) {
|
596
|
-
PrintF(" %2d - %2d [internal slots]\n", 0 , nof_internal_slots - 1);
|
597
|
-
}
|
598
|
-
for (int i = 0; i < list.length(); i++) {
|
599
|
-
PrintF(" %2d ", i + nof_internal_slots);
|
600
|
-
list[i]->ShortPrint();
|
601
|
-
PrintF("\n");
|
602
|
-
}
|
603
|
-
}
|
604
|
-
}
|
605
|
-
|
606
|
-
|
607
|
-
template<class Allocator>
|
608
|
-
void ScopeInfo<Allocator>::Print() {
|
609
|
-
PrintF("ScopeInfo ");
|
610
|
-
if (function_name_->length() > 0)
|
611
|
-
function_name_->ShortPrint();
|
612
|
-
else
|
613
|
-
PrintF("/* no function name */");
|
614
|
-
PrintF("{");
|
615
|
-
|
616
|
-
PrintList<Allocator>("parameters", 0, parameters_);
|
617
|
-
PrintList<Allocator>("stack slots", 0, stack_slots_);
|
618
|
-
PrintList<Allocator>("context slots", Context::MIN_CONTEXT_SLOTS,
|
619
|
-
context_slots_);
|
620
|
-
|
621
|
-
PrintF("}\n");
|
622
|
-
}
|
623
|
-
#endif // DEBUG
|
624
|
-
|
625
|
-
|
626
|
-
// Make sure the classes get instantiated by the template system.
|
627
|
-
template class ScopeInfo<FreeStoreAllocationPolicy>;
|
628
|
-
template class ScopeInfo<PreallocatedStorage>;
|
629
|
-
template class ScopeInfo<ZoneListAllocationPolicy>;
|
630
|
-
|
631
|
-
} } // namespace v8::internal
|