libv8 3.3.10.4 → 3.5.10.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/libv8/scons/CHANGES.txt +24 -231
- data/lib/libv8/scons/LICENSE.txt +1 -1
- data/lib/libv8/scons/MANIFEST +0 -1
- data/lib/libv8/scons/PKG-INFO +1 -1
- data/lib/libv8/scons/README.txt +9 -9
- data/lib/libv8/scons/RELEASE.txt +75 -77
- data/lib/libv8/scons/engine/SCons/Action.py +6 -22
- data/lib/libv8/scons/engine/SCons/Builder.py +2 -2
- data/lib/libv8/scons/engine/SCons/CacheDir.py +2 -2
- data/lib/libv8/scons/engine/SCons/Debug.py +2 -2
- data/lib/libv8/scons/engine/SCons/Defaults.py +10 -24
- data/lib/libv8/scons/engine/SCons/Environment.py +19 -118
- data/lib/libv8/scons/engine/SCons/Errors.py +2 -2
- data/lib/libv8/scons/engine/SCons/Executor.py +2 -2
- data/lib/libv8/scons/engine/SCons/Job.py +2 -2
- data/lib/libv8/scons/engine/SCons/Memoize.py +2 -2
- data/lib/libv8/scons/engine/SCons/Node/Alias.py +2 -2
- data/lib/libv8/scons/engine/SCons/Node/FS.py +121 -281
- data/lib/libv8/scons/engine/SCons/Node/Python.py +2 -2
- data/lib/libv8/scons/engine/SCons/Node/__init__.py +5 -6
- data/lib/libv8/scons/engine/SCons/Options/BoolOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/EnumOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/ListOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/PackageOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/PathOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/PathList.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/aix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/cygwin.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/darwin.py +3 -27
- data/lib/libv8/scons/engine/SCons/Platform/hpux.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/irix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/os2.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/posix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/sunos.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/win32.py +2 -2
- data/lib/libv8/scons/engine/SCons/SConf.py +2 -2
- data/lib/libv8/scons/engine/SCons/SConsign.py +3 -9
- data/lib/libv8/scons/engine/SCons/Scanner/C.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/D.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/Dir.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/Fortran.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/IDL.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/LaTeX.py +2 -5
- data/lib/libv8/scons/engine/SCons/Scanner/Prog.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/RC.py +3 -3
- data/lib/libv8/scons/engine/SCons/Scanner/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Script/Interactive.py +2 -2
- data/lib/libv8/scons/engine/SCons/Script/Main.py +11 -82
- data/lib/libv8/scons/engine/SCons/Script/SConsOptions.py +5 -5
- data/lib/libv8/scons/engine/SCons/Script/SConscript.py +2 -2
- data/lib/libv8/scons/engine/SCons/Script/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Sig.py +2 -2
- data/lib/libv8/scons/engine/SCons/Subst.py +2 -2
- data/lib/libv8/scons/engine/SCons/Taskmaster.py +2 -10
- data/lib/libv8/scons/engine/SCons/Tool/386asm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/BitKeeper.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/CVS.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/FortranCommon.py +2 -19
- data/lib/libv8/scons/engine/SCons/Tool/JavaCommon.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/arch.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/common.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/netframework.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/sdk.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vc.py +6 -9
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vs.py +2 -29
- data/lib/libv8/scons/engine/SCons/Tool/Perforce.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/PharLapCommon.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/RCS.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/SCCS.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/Subversion.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/__init__.py +3 -3
- data/lib/libv8/scons/engine/SCons/Tool/aixc++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/aixcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/aixf77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/aixlink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/applelink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/as.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/bcc32.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/c++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/cc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/cvf.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/default.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/dmd.py +7 -24
- data/lib/libv8/scons/engine/SCons/Tool/dvi.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/dvipdf.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/dvips.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/f77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/f90.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/f95.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/filesystem.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/fortran.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/g++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/g77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/gas.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/gcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/gfortran.py +3 -3
- data/lib/libv8/scons/engine/SCons/Tool/gnulink.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/gs.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/hpc++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/hpcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/hplink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/icc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/icl.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ifl.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ifort.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ilink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ilink32.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/install.py +3 -57
- data/lib/libv8/scons/engine/SCons/Tool/intelc.py +25 -65
- data/lib/libv8/scons/engine/SCons/Tool/ipkg.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/jar.py +3 -9
- data/lib/libv8/scons/engine/SCons/Tool/javac.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/javah.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/latex.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/lex.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/link.py +5 -6
- data/lib/libv8/scons/engine/SCons/Tool/linkloc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/m4.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/masm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/midl.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/mingw.py +10 -31
- data/lib/libv8/scons/engine/SCons/Tool/mslib.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/mslink.py +9 -61
- data/lib/libv8/scons/engine/SCons/Tool/mssdk.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/msvc.py +11 -21
- data/lib/libv8/scons/engine/SCons/Tool/msvs.py +59 -477
- data/lib/libv8/scons/engine/SCons/Tool/mwcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/mwld.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/nasm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/ipk.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/msi.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/rpm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/src_tarbz2.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/src_targz.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/src_zip.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/tarbz2.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/targz.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/zip.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/pdf.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/pdflatex.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/pdftex.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/qt.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/rmic.py +3 -9
- data/lib/libv8/scons/engine/SCons/Tool/rpcgen.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/rpm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgiar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgic++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgicc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgilink.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunc++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/suncc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunf77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunf90.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunf95.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunlink.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/swig.py +5 -6
- data/lib/libv8/scons/engine/SCons/Tool/tar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/tex.py +43 -96
- data/lib/libv8/scons/engine/SCons/Tool/textfile.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/tlib.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/wix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/yacc.py +2 -12
- data/lib/libv8/scons/engine/SCons/Tool/zip.py +2 -2
- data/lib/libv8/scons/engine/SCons/Util.py +3 -3
- data/lib/libv8/scons/engine/SCons/Variables/BoolVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/EnumVariable.py +3 -3
- data/lib/libv8/scons/engine/SCons/Variables/ListVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/PackageVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/PathVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Warnings.py +2 -2
- data/lib/libv8/scons/engine/SCons/__init__.py +6 -6
- data/lib/libv8/scons/engine/SCons/compat/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_builtins.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_collections.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_dbm.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_hashlib.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_io.py +2 -2
- data/lib/libv8/scons/engine/SCons/cpp.py +2 -2
- data/lib/libv8/scons/engine/SCons/dblite.py +1 -4
- data/lib/libv8/scons/engine/SCons/exitfuncs.py +2 -2
- data/lib/libv8/scons/scons-time.1 +3 -3
- data/lib/libv8/scons/scons.1 +1164 -1170
- data/lib/libv8/scons/sconsign.1 +3 -3
- data/lib/libv8/scons/script/scons +22 -22
- data/lib/libv8/scons/script/scons-time +2 -2
- data/lib/libv8/scons/script/scons.bat +4 -7
- data/lib/libv8/scons/script/sconsign +20 -21
- data/lib/libv8/scons/setup.cfg +1 -0
- data/lib/libv8/scons/setup.py +40 -38
- data/lib/libv8/v8/.gitignore +1 -1
- data/lib/libv8/v8/AUTHORS +2 -0
- data/lib/libv8/v8/ChangeLog +387 -0
- data/lib/libv8/v8/Makefile +171 -0
- data/lib/libv8/v8/SConstruct +124 -51
- data/lib/libv8/v8/build/README.txt +31 -14
- data/lib/libv8/v8/build/all.gyp +11 -4
- data/lib/libv8/v8/build/armu.gypi +6 -2
- data/lib/libv8/v8/build/common.gypi +240 -94
- data/lib/libv8/v8/build/gyp_v8 +32 -4
- data/lib/libv8/v8/build/standalone.gypi +200 -0
- data/lib/libv8/v8/include/v8-debug.h +0 -0
- data/lib/libv8/v8/include/v8-profiler.h +8 -11
- data/lib/libv8/v8/include/v8.h +191 -108
- data/lib/libv8/v8/preparser/SConscript +2 -2
- data/lib/libv8/v8/preparser/preparser-process.cc +3 -3
- data/lib/libv8/v8/preparser/preparser.gyp +42 -0
- data/lib/libv8/v8/src/SConscript +33 -8
- data/lib/libv8/v8/src/accessors.cc +77 -43
- data/lib/libv8/v8/src/api.cc +393 -191
- data/lib/libv8/v8/src/api.h +4 -8
- data/lib/libv8/v8/src/apinatives.js +15 -3
- data/lib/libv8/v8/src/arguments.h +8 -0
- data/lib/libv8/v8/src/arm/assembler-arm.cc +120 -120
- data/lib/libv8/v8/src/arm/assembler-arm.h +92 -43
- data/lib/libv8/v8/src/arm/builtins-arm.cc +32 -39
- data/lib/libv8/v8/src/arm/code-stubs-arm.cc +572 -351
- data/lib/libv8/v8/src/arm/code-stubs-arm.h +8 -77
- data/lib/libv8/v8/src/arm/codegen-arm.h +0 -2
- data/lib/libv8/v8/src/arm/deoptimizer-arm.cc +50 -30
- data/lib/libv8/v8/src/arm/disasm-arm.cc +1 -1
- data/lib/libv8/v8/src/arm/frames-arm.h +9 -5
- data/lib/libv8/v8/src/arm/full-codegen-arm.cc +331 -432
- data/lib/libv8/v8/src/arm/ic-arm.cc +192 -124
- data/lib/libv8/v8/src/arm/lithium-arm.cc +216 -232
- data/lib/libv8/v8/src/arm/lithium-arm.h +106 -259
- data/lib/libv8/v8/src/arm/lithium-codegen-arm.cc +633 -642
- data/lib/libv8/v8/src/arm/lithium-codegen-arm.h +4 -4
- data/lib/libv8/v8/src/arm/lithium-gap-resolver-arm.cc +1 -3
- data/lib/libv8/v8/src/arm/macro-assembler-arm.cc +260 -185
- data/lib/libv8/v8/src/arm/macro-assembler-arm.h +45 -25
- data/lib/libv8/v8/src/arm/regexp-macro-assembler-arm.cc +25 -13
- data/lib/libv8/v8/src/arm/regexp-macro-assembler-arm.h +3 -0
- data/lib/libv8/v8/src/arm/stub-cache-arm.cc +413 -226
- data/lib/libv8/v8/src/array.js +38 -18
- data/lib/libv8/v8/src/assembler.cc +12 -5
- data/lib/libv8/v8/src/assembler.h +15 -9
- data/lib/libv8/v8/src/ast-inl.h +34 -25
- data/lib/libv8/v8/src/ast.cc +141 -72
- data/lib/libv8/v8/src/ast.h +255 -181
- data/lib/libv8/v8/src/bignum.cc +3 -4
- data/lib/libv8/v8/src/bootstrapper.cc +55 -11
- data/lib/libv8/v8/src/bootstrapper.h +3 -2
- data/lib/libv8/v8/src/builtins.cc +8 -2
- data/lib/libv8/v8/src/builtins.h +4 -0
- data/lib/libv8/v8/src/cached-powers.cc +8 -4
- data/lib/libv8/v8/src/checks.h +3 -3
- data/lib/libv8/v8/src/code-stubs.cc +173 -28
- data/lib/libv8/v8/src/code-stubs.h +104 -148
- data/lib/libv8/v8/src/codegen.cc +8 -8
- data/lib/libv8/v8/src/compilation-cache.cc +2 -47
- data/lib/libv8/v8/src/compilation-cache.h +0 -10
- data/lib/libv8/v8/src/compiler.cc +27 -16
- data/lib/libv8/v8/src/compiler.h +13 -18
- data/lib/libv8/v8/src/contexts.cc +107 -72
- data/lib/libv8/v8/src/contexts.h +70 -34
- data/lib/libv8/v8/src/conversions-inl.h +572 -14
- data/lib/libv8/v8/src/conversions.cc +9 -707
- data/lib/libv8/v8/src/conversions.h +23 -12
- data/lib/libv8/v8/src/cpu-profiler-inl.h +2 -19
- data/lib/libv8/v8/src/cpu-profiler.cc +4 -21
- data/lib/libv8/v8/src/cpu-profiler.h +8 -17
- data/lib/libv8/v8/src/d8-debug.cc +5 -3
- data/lib/libv8/v8/src/d8-debug.h +6 -7
- data/lib/libv8/v8/src/d8-posix.cc +1 -10
- data/lib/libv8/v8/src/d8.cc +721 -219
- data/lib/libv8/v8/src/d8.gyp +37 -12
- data/lib/libv8/v8/src/d8.h +141 -19
- data/lib/libv8/v8/src/d8.js +17 -8
- data/lib/libv8/v8/src/date.js +16 -5
- data/lib/libv8/v8/src/dateparser-inl.h +242 -39
- data/lib/libv8/v8/src/dateparser.cc +38 -4
- data/lib/libv8/v8/src/dateparser.h +170 -28
- data/lib/libv8/v8/src/debug-agent.cc +5 -3
- data/lib/libv8/v8/src/debug-agent.h +11 -7
- data/lib/libv8/v8/src/debug-debugger.js +65 -34
- data/lib/libv8/v8/src/debug.cc +30 -60
- data/lib/libv8/v8/src/debug.h +5 -3
- data/lib/libv8/v8/src/deoptimizer.cc +227 -10
- data/lib/libv8/v8/src/deoptimizer.h +133 -9
- data/lib/libv8/v8/src/disassembler.cc +22 -14
- data/lib/libv8/v8/src/diy-fp.cc +4 -3
- data/lib/libv8/v8/src/diy-fp.h +3 -3
- data/lib/libv8/v8/src/elements.cc +634 -0
- data/lib/libv8/v8/src/elements.h +95 -0
- data/lib/libv8/v8/src/execution.cc +5 -21
- data/lib/libv8/v8/src/extensions/experimental/break-iterator.cc +3 -1
- data/lib/libv8/v8/src/extensions/experimental/break-iterator.h +1 -1
- data/lib/libv8/v8/src/extensions/experimental/collator.cc +6 -2
- data/lib/libv8/v8/src/extensions/experimental/collator.h +1 -2
- data/lib/libv8/v8/src/extensions/experimental/datetime-format.cc +384 -0
- data/lib/libv8/v8/src/extensions/experimental/datetime-format.h +83 -0
- data/lib/libv8/v8/src/extensions/experimental/experimental.gyp +18 -7
- data/lib/libv8/v8/src/extensions/experimental/i18n-extension.cc +12 -16
- data/lib/libv8/v8/src/extensions/experimental/i18n-extension.h +1 -1
- data/lib/libv8/v8/src/extensions/experimental/i18n-js2c.py +126 -0
- data/lib/libv8/v8/src/extensions/experimental/i18n-locale.cc +3 -4
- data/lib/libv8/v8/src/extensions/experimental/i18n-locale.h +1 -1
- data/lib/libv8/v8/src/{shell.h → extensions/experimental/i18n-natives.h} +8 -20
- data/lib/libv8/v8/src/extensions/experimental/i18n-utils.cc +45 -1
- data/lib/libv8/v8/src/extensions/experimental/i18n-utils.h +21 -1
- data/lib/libv8/v8/src/extensions/experimental/i18n.js +211 -11
- data/lib/libv8/v8/src/extensions/experimental/language-matcher.cc +4 -3
- data/lib/libv8/v8/src/extensions/experimental/language-matcher.h +1 -1
- data/lib/libv8/v8/src/extensions/experimental/number-format.cc +374 -0
- data/lib/libv8/v8/src/extensions/experimental/number-format.h +71 -0
- data/lib/libv8/v8/src/factory.cc +89 -18
- data/lib/libv8/v8/src/factory.h +36 -8
- data/lib/libv8/v8/src/flag-definitions.h +11 -44
- data/lib/libv8/v8/src/frames-inl.h +8 -1
- data/lib/libv8/v8/src/frames.cc +39 -3
- data/lib/libv8/v8/src/frames.h +10 -3
- data/lib/libv8/v8/src/full-codegen.cc +311 -293
- data/lib/libv8/v8/src/full-codegen.h +183 -143
- data/lib/libv8/v8/src/func-name-inferrer.cc +29 -15
- data/lib/libv8/v8/src/func-name-inferrer.h +19 -9
- data/lib/libv8/v8/src/gdb-jit.cc +658 -55
- data/lib/libv8/v8/src/gdb-jit.h +6 -2
- data/lib/libv8/v8/src/global-handles.cc +368 -312
- data/lib/libv8/v8/src/global-handles.h +29 -36
- data/lib/libv8/v8/src/globals.h +3 -1
- data/lib/libv8/v8/src/handles.cc +43 -69
- data/lib/libv8/v8/src/handles.h +21 -16
- data/lib/libv8/v8/src/heap-inl.h +11 -13
- data/lib/libv8/v8/src/heap-profiler.cc +0 -999
- data/lib/libv8/v8/src/heap-profiler.h +0 -303
- data/lib/libv8/v8/src/heap.cc +366 -141
- data/lib/libv8/v8/src/heap.h +87 -26
- data/lib/libv8/v8/src/hydrogen-instructions.cc +192 -81
- data/lib/libv8/v8/src/hydrogen-instructions.h +711 -482
- data/lib/libv8/v8/src/hydrogen.cc +1146 -629
- data/lib/libv8/v8/src/hydrogen.h +100 -64
- data/lib/libv8/v8/src/ia32/assembler-ia32.cc +19 -0
- data/lib/libv8/v8/src/ia32/assembler-ia32.h +15 -2
- data/lib/libv8/v8/src/ia32/builtins-ia32.cc +34 -39
- data/lib/libv8/v8/src/ia32/code-stubs-ia32.cc +675 -377
- data/lib/libv8/v8/src/ia32/code-stubs-ia32.h +8 -69
- data/lib/libv8/v8/src/ia32/codegen-ia32.cc +1 -0
- data/lib/libv8/v8/src/ia32/codegen-ia32.h +0 -2
- data/lib/libv8/v8/src/ia32/cpu-ia32.cc +3 -2
- data/lib/libv8/v8/src/ia32/deoptimizer-ia32.cc +28 -3
- data/lib/libv8/v8/src/ia32/disasm-ia32.cc +21 -10
- data/lib/libv8/v8/src/ia32/frames-ia32.h +6 -5
- data/lib/libv8/v8/src/ia32/full-codegen-ia32.cc +459 -465
- data/lib/libv8/v8/src/ia32/ic-ia32.cc +196 -147
- data/lib/libv8/v8/src/ia32/lithium-codegen-ia32.cc +575 -650
- data/lib/libv8/v8/src/ia32/lithium-codegen-ia32.h +19 -21
- data/lib/libv8/v8/src/ia32/lithium-gap-resolver-ia32.cc +7 -2
- data/lib/libv8/v8/src/ia32/lithium-ia32.cc +261 -256
- data/lib/libv8/v8/src/ia32/lithium-ia32.h +234 -335
- data/lib/libv8/v8/src/ia32/macro-assembler-ia32.cc +224 -67
- data/lib/libv8/v8/src/ia32/macro-assembler-ia32.h +63 -19
- data/lib/libv8/v8/src/ia32/regexp-macro-assembler-ia32.cc +22 -8
- data/lib/libv8/v8/src/ia32/regexp-macro-assembler-ia32.h +3 -0
- data/lib/libv8/v8/src/ia32/stub-cache-ia32.cc +380 -239
- data/lib/libv8/v8/src/ic.cc +198 -234
- data/lib/libv8/v8/src/ic.h +32 -30
- data/lib/libv8/v8/src/interpreter-irregexp.cc +6 -4
- data/lib/libv8/v8/src/isolate.cc +112 -95
- data/lib/libv8/v8/src/isolate.h +55 -71
- data/lib/libv8/v8/src/json-parser.h +486 -48
- data/lib/libv8/v8/src/json.js +28 -23
- data/lib/libv8/v8/src/jsregexp.cc +163 -208
- data/lib/libv8/v8/src/jsregexp.h +0 -1
- data/lib/libv8/v8/src/lithium-allocator-inl.h +29 -27
- data/lib/libv8/v8/src/lithium-allocator.cc +22 -17
- data/lib/libv8/v8/src/lithium-allocator.h +8 -8
- data/lib/libv8/v8/src/lithium.cc +16 -11
- data/lib/libv8/v8/src/lithium.h +31 -34
- data/lib/libv8/v8/src/liveedit.cc +111 -15
- data/lib/libv8/v8/src/liveedit.h +3 -4
- data/lib/libv8/v8/src/liveobjectlist.cc +116 -80
- data/lib/libv8/v8/src/liveobjectlist.h +2 -2
- data/lib/libv8/v8/src/log-inl.h +0 -4
- data/lib/libv8/v8/src/log-utils.cc +25 -143
- data/lib/libv8/v8/src/log-utils.h +13 -92
- data/lib/libv8/v8/src/log.cc +26 -249
- data/lib/libv8/v8/src/log.h +6 -17
- data/lib/libv8/v8/src/macros.py +9 -6
- data/lib/libv8/v8/src/mark-compact.cc +276 -56
- data/lib/libv8/v8/src/mark-compact.h +20 -0
- data/lib/libv8/v8/src/messages.js +93 -39
- data/lib/libv8/v8/src/mips/assembler-mips-inl.h +9 -3
- data/lib/libv8/v8/src/mips/assembler-mips.cc +297 -189
- data/lib/libv8/v8/src/mips/assembler-mips.h +121 -54
- data/lib/libv8/v8/src/mips/builtins-mips.cc +23 -24
- data/lib/libv8/v8/src/mips/code-stubs-mips.cc +484 -263
- data/lib/libv8/v8/src/mips/code-stubs-mips.h +8 -83
- data/lib/libv8/v8/src/mips/codegen-mips.h +0 -2
- data/lib/libv8/v8/src/mips/constants-mips.h +37 -11
- data/lib/libv8/v8/src/mips/deoptimizer-mips.cc +6 -1
- data/lib/libv8/v8/src/mips/frames-mips.h +8 -7
- data/lib/libv8/v8/src/mips/full-codegen-mips.cc +258 -419
- data/lib/libv8/v8/src/mips/ic-mips.cc +181 -121
- data/lib/libv8/v8/src/mips/macro-assembler-mips.cc +640 -382
- data/lib/libv8/v8/src/mips/macro-assembler-mips.h +94 -89
- data/lib/libv8/v8/src/mips/regexp-macro-assembler-mips.cc +23 -10
- data/lib/libv8/v8/src/mips/regexp-macro-assembler-mips.h +6 -1
- data/lib/libv8/v8/src/mips/simulator-mips.cc +249 -49
- data/lib/libv8/v8/src/mips/simulator-mips.h +25 -1
- data/lib/libv8/v8/src/mips/stub-cache-mips.cc +373 -161
- data/lib/libv8/v8/src/mirror-debugger.js +55 -8
- data/lib/libv8/v8/src/misc-intrinsics.h +89 -0
- data/lib/libv8/v8/src/mksnapshot.cc +36 -4
- data/lib/libv8/v8/src/natives.h +5 -2
- data/lib/libv8/v8/src/objects-debug.cc +73 -6
- data/lib/libv8/v8/src/objects-inl.h +529 -164
- data/lib/libv8/v8/src/objects-printer.cc +67 -12
- data/lib/libv8/v8/src/objects-visiting.cc +13 -2
- data/lib/libv8/v8/src/objects-visiting.h +41 -1
- data/lib/libv8/v8/src/objects.cc +2200 -1177
- data/lib/libv8/v8/src/objects.h +912 -283
- data/lib/libv8/v8/src/parser.cc +566 -371
- data/lib/libv8/v8/src/parser.h +35 -33
- data/lib/libv8/v8/src/platform-cygwin.cc +10 -25
- data/lib/libv8/v8/src/platform-freebsd.cc +4 -29
- data/lib/libv8/v8/src/platform-linux.cc +60 -57
- data/lib/libv8/v8/src/platform-macos.cc +4 -27
- data/lib/libv8/v8/src/platform-nullos.cc +3 -16
- data/lib/libv8/v8/src/platform-openbsd.cc +247 -85
- data/lib/libv8/v8/src/platform-posix.cc +43 -1
- data/lib/libv8/v8/src/platform-solaris.cc +151 -112
- data/lib/libv8/v8/src/platform-tls.h +1 -1
- data/lib/libv8/v8/src/platform-win32.cc +65 -39
- data/lib/libv8/v8/src/platform.h +17 -14
- data/lib/libv8/v8/src/preparse-data-format.h +2 -2
- data/lib/libv8/v8/src/preparse-data.h +8 -2
- data/lib/libv8/v8/src/preparser-api.cc +2 -18
- data/lib/libv8/v8/src/preparser.cc +106 -65
- data/lib/libv8/v8/src/preparser.h +26 -5
- data/lib/libv8/v8/src/prettyprinter.cc +25 -43
- data/lib/libv8/v8/src/profile-generator-inl.h +0 -4
- data/lib/libv8/v8/src/profile-generator.cc +213 -34
- data/lib/libv8/v8/src/profile-generator.h +9 -9
- data/lib/libv8/v8/src/property.h +1 -0
- data/lib/libv8/v8/src/proxy.js +74 -4
- data/lib/libv8/v8/src/regexp-macro-assembler.cc +10 -6
- data/lib/libv8/v8/src/regexp.js +16 -11
- data/lib/libv8/v8/src/rewriter.cc +24 -133
- data/lib/libv8/v8/src/runtime-profiler.cc +27 -151
- data/lib/libv8/v8/src/runtime-profiler.h +5 -31
- data/lib/libv8/v8/src/runtime.cc +1450 -681
- data/lib/libv8/v8/src/runtime.h +47 -31
- data/lib/libv8/v8/src/runtime.js +2 -1
- data/lib/libv8/v8/src/scanner-base.cc +358 -220
- data/lib/libv8/v8/src/scanner-base.h +30 -138
- data/lib/libv8/v8/src/scanner.cc +0 -18
- data/lib/libv8/v8/src/scanner.h +0 -15
- data/lib/libv8/v8/src/scopeinfo.cc +3 -1
- data/lib/libv8/v8/src/scopeinfo.h +1 -6
- data/lib/libv8/v8/src/scopes.cc +243 -253
- data/lib/libv8/v8/src/scopes.h +58 -109
- data/lib/libv8/v8/src/serialize.cc +12 -54
- data/lib/libv8/v8/src/serialize.h +47 -0
- data/lib/libv8/v8/src/small-pointer-list.h +25 -0
- data/lib/libv8/v8/src/spaces-inl.h +4 -50
- data/lib/libv8/v8/src/spaces.cc +64 -131
- data/lib/libv8/v8/src/spaces.h +19 -70
- data/lib/libv8/v8/src/string-stream.cc +3 -1
- data/lib/libv8/v8/src/string.js +10 -6
- data/lib/libv8/v8/src/strtod.cc +7 -3
- data/lib/libv8/v8/src/stub-cache.cc +59 -129
- data/lib/libv8/v8/src/stub-cache.h +42 -54
- data/lib/libv8/v8/src/third_party/valgrind/valgrind.h +1447 -1339
- data/lib/libv8/v8/src/token.cc +4 -4
- data/lib/libv8/v8/src/token.h +6 -5
- data/lib/libv8/v8/src/type-info.cc +173 -129
- data/lib/libv8/v8/src/type-info.h +40 -22
- data/lib/libv8/v8/src/utils.cc +25 -304
- data/lib/libv8/v8/src/utils.h +118 -3
- data/lib/libv8/v8/src/v8-counters.h +3 -6
- data/lib/libv8/v8/src/v8.cc +34 -27
- data/lib/libv8/v8/src/v8.h +7 -7
- data/lib/libv8/v8/src/v8conversions.cc +129 -0
- data/lib/libv8/v8/src/v8conversions.h +60 -0
- data/lib/libv8/v8/src/v8globals.h +15 -6
- data/lib/libv8/v8/src/v8natives.js +300 -78
- data/lib/libv8/v8/src/v8threads.cc +14 -6
- data/lib/libv8/v8/src/v8threads.h +4 -1
- data/lib/libv8/v8/src/v8utils.cc +360 -0
- data/lib/libv8/v8/src/v8utils.h +17 -66
- data/lib/libv8/v8/src/variables.cc +7 -12
- data/lib/libv8/v8/src/variables.h +12 -10
- data/lib/libv8/v8/src/version.cc +2 -2
- data/lib/libv8/v8/src/vm-state-inl.h +0 -41
- data/lib/libv8/v8/src/vm-state.h +0 -11
- data/lib/libv8/v8/src/weakmap.js +103 -0
- data/lib/libv8/v8/src/x64/assembler-x64.h +6 -3
- data/lib/libv8/v8/src/x64/builtins-x64.cc +25 -22
- data/lib/libv8/v8/src/x64/code-stubs-x64.cc +523 -250
- data/lib/libv8/v8/src/x64/code-stubs-x64.h +8 -71
- data/lib/libv8/v8/src/x64/codegen-x64.cc +1 -0
- data/lib/libv8/v8/src/x64/codegen-x64.h +0 -2
- data/lib/libv8/v8/src/x64/cpu-x64.cc +2 -1
- data/lib/libv8/v8/src/x64/deoptimizer-x64.cc +40 -8
- data/lib/libv8/v8/src/x64/disasm-x64.cc +12 -10
- data/lib/libv8/v8/src/x64/frames-x64.h +7 -6
- data/lib/libv8/v8/src/x64/full-codegen-x64.cc +310 -415
- data/lib/libv8/v8/src/x64/ic-x64.cc +180 -117
- data/lib/libv8/v8/src/x64/lithium-codegen-x64.cc +411 -523
- data/lib/libv8/v8/src/x64/lithium-codegen-x64.h +11 -6
- data/lib/libv8/v8/src/x64/lithium-x64.cc +191 -216
- data/lib/libv8/v8/src/x64/lithium-x64.h +112 -263
- data/lib/libv8/v8/src/x64/macro-assembler-x64.cc +177 -61
- data/lib/libv8/v8/src/x64/macro-assembler-x64.h +23 -7
- data/lib/libv8/v8/src/x64/regexp-macro-assembler-x64.cc +21 -9
- data/lib/libv8/v8/src/x64/regexp-macro-assembler-x64.h +6 -0
- data/lib/libv8/v8/src/x64/stub-cache-x64.cc +273 -107
- data/lib/libv8/v8/src/zone.cc +31 -22
- data/lib/libv8/v8/src/zone.h +12 -6
- data/lib/libv8/v8/tools/codemap.js +8 -0
- data/lib/libv8/v8/tools/gcmole/Makefile +43 -0
- data/lib/libv8/v8/tools/gcmole/gcmole.lua +0 -2
- data/lib/libv8/v8/tools/gdb-v8-support.py +154 -0
- data/lib/libv8/v8/tools/grokdump.py +44 -35
- data/lib/libv8/v8/tools/gyp/v8.gyp +94 -248
- data/lib/libv8/v8/tools/js2c.py +83 -52
- data/lib/libv8/v8/tools/linux-tick-processor +4 -6
- data/lib/libv8/v8/tools/ll_prof.py +3 -3
- data/lib/libv8/v8/tools/oom_dump/README +3 -1
- data/lib/libv8/v8/tools/presubmit.py +11 -4
- data/lib/libv8/v8/tools/profile.js +46 -2
- data/lib/libv8/v8/tools/splaytree.js +11 -0
- data/lib/libv8/v8/tools/stats-viewer.py +15 -11
- data/lib/libv8/v8/tools/test-wrapper-gypbuild.py +227 -0
- data/lib/libv8/v8/tools/test.py +28 -8
- data/lib/libv8/v8/tools/tickprocessor.js +0 -16
- data/lib/libv8/version.rb +1 -1
- data/libv8.gemspec +2 -2
- metadata +31 -19
- data/lib/libv8/scons/engine/SCons/Tool/f03.py +0 -63
- data/lib/libv8/v8/src/json-parser.cc +0 -504
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Copyright 2011 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_EXTENSIONS_EXPERIMENTAL_NUMBER_FORMAT_H_
|
|
29
|
+
#define V8_EXTENSIONS_EXPERIMENTAL_NUMBER_FORMAT_H_
|
|
30
|
+
|
|
31
|
+
#include "include/v8.h"
|
|
32
|
+
|
|
33
|
+
#include "unicode/uversion.h"
|
|
34
|
+
|
|
35
|
+
namespace U_ICU_NAMESPACE {
|
|
36
|
+
class DecimalFormat;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
namespace v8 {
|
|
40
|
+
namespace internal {
|
|
41
|
+
|
|
42
|
+
class NumberFormat {
|
|
43
|
+
public:
|
|
44
|
+
// 3-letter ISO 4217 currency code plus \0.
|
|
45
|
+
static const int kCurrencyCodeLength;
|
|
46
|
+
|
|
47
|
+
static v8::Handle<v8::Value> JSNumberFormat(const v8::Arguments& args);
|
|
48
|
+
|
|
49
|
+
// Helper methods for various bindings.
|
|
50
|
+
|
|
51
|
+
// Unpacks date format object from corresponding JavaScript object.
|
|
52
|
+
static icu::DecimalFormat* UnpackNumberFormat(
|
|
53
|
+
v8::Handle<v8::Object> obj);
|
|
54
|
+
|
|
55
|
+
// Release memory we allocated for the NumberFormat once the JS object that
|
|
56
|
+
// holds the pointer gets garbage collected.
|
|
57
|
+
static void DeleteNumberFormat(v8::Persistent<v8::Value> object,
|
|
58
|
+
void* param);
|
|
59
|
+
|
|
60
|
+
// Formats number and returns corresponding string.
|
|
61
|
+
static v8::Handle<v8::Value> Format(const v8::Arguments& args);
|
|
62
|
+
|
|
63
|
+
private:
|
|
64
|
+
NumberFormat();
|
|
65
|
+
|
|
66
|
+
static v8::Persistent<v8::FunctionTemplate> number_format_template_;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
} } // namespace v8::internal
|
|
70
|
+
|
|
71
|
+
#endif // V8_EXTENSIONS_EXPERIMENTAL_NUMBER_FORMAT_H_
|
data/lib/libv8/v8/src/factory.cc
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2011 the V8 project authors. All rights reserved.
|
|
2
2
|
// Redistribution and use in source and binary forms, with or without
|
|
3
3
|
// modification, are permitted provided that the following conditions are
|
|
4
4
|
// met:
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
#include "macro-assembler.h"
|
|
35
35
|
#include "objects.h"
|
|
36
36
|
#include "objects-visiting.h"
|
|
37
|
+
#include "scopeinfo.h"
|
|
37
38
|
|
|
38
39
|
namespace v8 {
|
|
39
40
|
namespace internal {
|
|
@@ -58,6 +59,16 @@ Handle<FixedArray> Factory::NewFixedArrayWithHoles(int size,
|
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
|
|
62
|
+
Handle<FixedArray> Factory::NewFixedDoubleArray(int size,
|
|
63
|
+
PretenureFlag pretenure) {
|
|
64
|
+
ASSERT(0 <= size);
|
|
65
|
+
CALL_HEAP_FUNCTION(
|
|
66
|
+
isolate(),
|
|
67
|
+
isolate()->heap()->AllocateUninitializedFixedDoubleArray(size, pretenure),
|
|
68
|
+
FixedArray);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
61
72
|
Handle<StringDictionary> Factory::NewStringDictionary(int at_least_space_for) {
|
|
62
73
|
ASSERT(0 <= at_least_space_for);
|
|
63
74
|
CALL_HEAP_FUNCTION(isolate(),
|
|
@@ -74,6 +85,14 @@ Handle<NumberDictionary> Factory::NewNumberDictionary(int at_least_space_for) {
|
|
|
74
85
|
}
|
|
75
86
|
|
|
76
87
|
|
|
88
|
+
Handle<ObjectHashTable> Factory::NewObjectHashTable(int at_least_space_for) {
|
|
89
|
+
ASSERT(0 <= at_least_space_for);
|
|
90
|
+
CALL_HEAP_FUNCTION(isolate(),
|
|
91
|
+
ObjectHashTable::Allocate(at_least_space_for),
|
|
92
|
+
ObjectHashTable);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
|
|
77
96
|
Handle<DescriptorArray> Factory::NewDescriptorArray(int number_of_descriptors) {
|
|
78
97
|
ASSERT(0 <= number_of_descriptors);
|
|
79
98
|
CALL_HEAP_FUNCTION(isolate(),
|
|
@@ -169,21 +188,21 @@ Handle<String> Factory::NewStringFromTwoByte(Vector<const uc16> string,
|
|
|
169
188
|
}
|
|
170
189
|
|
|
171
190
|
|
|
172
|
-
Handle<
|
|
173
|
-
|
|
191
|
+
Handle<SeqAsciiString> Factory::NewRawAsciiString(int length,
|
|
192
|
+
PretenureFlag pretenure) {
|
|
174
193
|
CALL_HEAP_FUNCTION(
|
|
175
194
|
isolate(),
|
|
176
195
|
isolate()->heap()->AllocateRawAsciiString(length, pretenure),
|
|
177
|
-
|
|
196
|
+
SeqAsciiString);
|
|
178
197
|
}
|
|
179
198
|
|
|
180
199
|
|
|
181
|
-
Handle<
|
|
182
|
-
|
|
200
|
+
Handle<SeqTwoByteString> Factory::NewRawTwoByteString(int length,
|
|
201
|
+
PretenureFlag pretenure) {
|
|
183
202
|
CALL_HEAP_FUNCTION(
|
|
184
203
|
isolate(),
|
|
185
204
|
isolate()->heap()->AllocateRawTwoByteString(length, pretenure),
|
|
186
|
-
|
|
205
|
+
SeqTwoByteString);
|
|
187
206
|
}
|
|
188
207
|
|
|
189
208
|
|
|
@@ -204,6 +223,16 @@ Handle<String> Factory::NewSubString(Handle<String> str,
|
|
|
204
223
|
}
|
|
205
224
|
|
|
206
225
|
|
|
226
|
+
Handle<String> Factory::NewProperSubString(Handle<String> str,
|
|
227
|
+
int begin,
|
|
228
|
+
int end) {
|
|
229
|
+
ASSERT(begin > 0 || end < str->length());
|
|
230
|
+
CALL_HEAP_FUNCTION(isolate(),
|
|
231
|
+
isolate()->heap()->AllocateSubString(*str, begin, end),
|
|
232
|
+
String);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
|
|
207
236
|
Handle<String> Factory::NewExternalStringFromAscii(
|
|
208
237
|
ExternalAsciiString::Resource* resource) {
|
|
209
238
|
CALL_HEAP_FUNCTION(
|
|
@@ -231,22 +260,47 @@ Handle<Context> Factory::NewGlobalContext() {
|
|
|
231
260
|
|
|
232
261
|
|
|
233
262
|
Handle<Context> Factory::NewFunctionContext(int length,
|
|
234
|
-
Handle<JSFunction>
|
|
263
|
+
Handle<JSFunction> function) {
|
|
264
|
+
CALL_HEAP_FUNCTION(
|
|
265
|
+
isolate(),
|
|
266
|
+
isolate()->heap()->AllocateFunctionContext(length, *function),
|
|
267
|
+
Context);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
Handle<Context> Factory::NewCatchContext(Handle<JSFunction> function,
|
|
272
|
+
Handle<Context> previous,
|
|
273
|
+
Handle<String> name,
|
|
274
|
+
Handle<Object> thrown_object) {
|
|
275
|
+
CALL_HEAP_FUNCTION(
|
|
276
|
+
isolate(),
|
|
277
|
+
isolate()->heap()->AllocateCatchContext(*function,
|
|
278
|
+
*previous,
|
|
279
|
+
*name,
|
|
280
|
+
*thrown_object),
|
|
281
|
+
Context);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
Handle<Context> Factory::NewWithContext(Handle<JSFunction> function,
|
|
286
|
+
Handle<Context> previous,
|
|
287
|
+
Handle<JSObject> extension) {
|
|
235
288
|
CALL_HEAP_FUNCTION(
|
|
236
289
|
isolate(),
|
|
237
|
-
isolate()->heap()->
|
|
290
|
+
isolate()->heap()->AllocateWithContext(*function, *previous, *extension),
|
|
238
291
|
Context);
|
|
239
292
|
}
|
|
240
293
|
|
|
241
294
|
|
|
242
|
-
Handle<Context> Factory::
|
|
243
|
-
|
|
244
|
-
|
|
295
|
+
Handle<Context> Factory::NewBlockContext(
|
|
296
|
+
Handle<JSFunction> function,
|
|
297
|
+
Handle<Context> previous,
|
|
298
|
+
Handle<SerializedScopeInfo> scope_info) {
|
|
245
299
|
CALL_HEAP_FUNCTION(
|
|
246
300
|
isolate(),
|
|
247
|
-
isolate()->heap()->
|
|
248
|
-
|
|
249
|
-
|
|
301
|
+
isolate()->heap()->AllocateBlockContext(*function,
|
|
302
|
+
*previous,
|
|
303
|
+
*scope_info),
|
|
250
304
|
Context);
|
|
251
305
|
}
|
|
252
306
|
|
|
@@ -694,6 +748,14 @@ Handle<JSFunction> Factory::NewFunctionWithoutPrototype(Handle<String> name,
|
|
|
694
748
|
}
|
|
695
749
|
|
|
696
750
|
|
|
751
|
+
Handle<SerializedScopeInfo> Factory::NewSerializedScopeInfo(int length) {
|
|
752
|
+
CALL_HEAP_FUNCTION(
|
|
753
|
+
isolate(),
|
|
754
|
+
isolate()->heap()->AllocateSerializedScopeInfo(length),
|
|
755
|
+
SerializedScopeInfo);
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
|
|
697
759
|
Handle<Code> Factory::NewCode(const CodeDesc& desc,
|
|
698
760
|
Code::Flags flags,
|
|
699
761
|
Handle<Object> self_ref,
|
|
@@ -860,6 +922,13 @@ Handle<JSProxy> Factory::NewJSProxy(Handle<Object> handler,
|
|
|
860
922
|
}
|
|
861
923
|
|
|
862
924
|
|
|
925
|
+
void Factory::BecomeJSObject(Handle<JSProxy> object) {
|
|
926
|
+
CALL_HEAP_FUNCTION_VOID(
|
|
927
|
+
isolate(),
|
|
928
|
+
isolate()->heap()->ReinitializeJSProxyAsJSObject(*object));
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
|
|
863
932
|
Handle<SharedFunctionInfo> Factory::NewSharedFunctionInfo(
|
|
864
933
|
Handle<String> name,
|
|
865
934
|
int number_of_literals,
|
|
@@ -1189,12 +1258,14 @@ void Factory::SetRegExpIrregexpData(Handle<JSRegExp> regexp,
|
|
|
1189
1258
|
JSRegExp::Flags flags,
|
|
1190
1259
|
int capture_count) {
|
|
1191
1260
|
Handle<FixedArray> store = NewFixedArray(JSRegExp::kIrregexpDataSize);
|
|
1192
|
-
|
|
1261
|
+
Smi* uninitialized = Smi::FromInt(JSRegExp::kUninitializedValue);
|
|
1193
1262
|
store->set(JSRegExp::kTagIndex, Smi::FromInt(type));
|
|
1194
1263
|
store->set(JSRegExp::kSourceIndex, *source);
|
|
1195
1264
|
store->set(JSRegExp::kFlagsIndex, Smi::FromInt(flags.value()));
|
|
1196
|
-
store->set(JSRegExp::kIrregexpASCIICodeIndex,
|
|
1197
|
-
store->set(JSRegExp::kIrregexpUC16CodeIndex,
|
|
1265
|
+
store->set(JSRegExp::kIrregexpASCIICodeIndex, uninitialized);
|
|
1266
|
+
store->set(JSRegExp::kIrregexpUC16CodeIndex, uninitialized);
|
|
1267
|
+
store->set(JSRegExp::kIrregexpASCIICodeSavedIndex, uninitialized);
|
|
1268
|
+
store->set(JSRegExp::kIrregexpUC16CodeSavedIndex, uninitialized);
|
|
1198
1269
|
store->set(JSRegExp::kIrregexpMaxRegisterCountIndex, Smi::FromInt(0));
|
|
1199
1270
|
store->set(JSRegExp::kIrregexpCaptureCountIndex,
|
|
1200
1271
|
Smi::FromInt(capture_count));
|
data/lib/libv8/v8/src/factory.h
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2011 the V8 project authors. All rights reserved.
|
|
2
2
|
// Redistribution and use in source and binary forms, with or without
|
|
3
3
|
// modification, are permitted provided that the following conditions are
|
|
4
4
|
// met:
|
|
@@ -39,7 +39,7 @@ namespace internal {
|
|
|
39
39
|
|
|
40
40
|
class Factory {
|
|
41
41
|
public:
|
|
42
|
-
// Allocate a new fixed array
|
|
42
|
+
// Allocate a new uninitialized fixed array.
|
|
43
43
|
Handle<FixedArray> NewFixedArray(
|
|
44
44
|
int size,
|
|
45
45
|
PretenureFlag pretenure = NOT_TENURED);
|
|
@@ -49,10 +49,17 @@ class Factory {
|
|
|
49
49
|
int size,
|
|
50
50
|
PretenureFlag pretenure = NOT_TENURED);
|
|
51
51
|
|
|
52
|
+
// Allocate a new uninitialized fixed double array.
|
|
53
|
+
Handle<FixedArray> NewFixedDoubleArray(
|
|
54
|
+
int size,
|
|
55
|
+
PretenureFlag pretenure = NOT_TENURED);
|
|
56
|
+
|
|
52
57
|
Handle<NumberDictionary> NewNumberDictionary(int at_least_space_for);
|
|
53
58
|
|
|
54
59
|
Handle<StringDictionary> NewStringDictionary(int at_least_space_for);
|
|
55
60
|
|
|
61
|
+
Handle<ObjectHashTable> NewObjectHashTable(int at_least_space_for);
|
|
62
|
+
|
|
56
63
|
Handle<DescriptorArray> NewDescriptorArray(int number_of_descriptors);
|
|
57
64
|
Handle<DeoptimizationInputData> NewDeoptimizationInputData(
|
|
58
65
|
int deopt_entry_count,
|
|
@@ -112,10 +119,10 @@ class Factory {
|
|
|
112
119
|
// Allocates and partially initializes an ASCII or TwoByte String. The
|
|
113
120
|
// characters of the string are uninitialized. Currently used in regexp code
|
|
114
121
|
// only, where they are pretenured.
|
|
115
|
-
Handle<
|
|
122
|
+
Handle<SeqAsciiString> NewRawAsciiString(
|
|
116
123
|
int length,
|
|
117
124
|
PretenureFlag pretenure = NOT_TENURED);
|
|
118
|
-
Handle<
|
|
125
|
+
Handle<SeqTwoByteString> NewRawTwoByteString(
|
|
119
126
|
int length,
|
|
120
127
|
PretenureFlag pretenure = NOT_TENURED);
|
|
121
128
|
|
|
@@ -128,6 +135,11 @@ class Factory {
|
|
|
128
135
|
int begin,
|
|
129
136
|
int end);
|
|
130
137
|
|
|
138
|
+
// Create a new string object which holds a proper substring of a string.
|
|
139
|
+
Handle<String> NewProperSubString(Handle<String> str,
|
|
140
|
+
int begin,
|
|
141
|
+
int end);
|
|
142
|
+
|
|
131
143
|
// Creates a new external String object. There are two String encodings
|
|
132
144
|
// in the system: ASCII and two byte. Unlike other String types, it does
|
|
133
145
|
// not make sense to have a UTF-8 factory function for external strings,
|
|
@@ -142,12 +154,23 @@ class Factory {
|
|
|
142
154
|
|
|
143
155
|
// Create a function context.
|
|
144
156
|
Handle<Context> NewFunctionContext(int length,
|
|
145
|
-
Handle<JSFunction>
|
|
157
|
+
Handle<JSFunction> function);
|
|
158
|
+
|
|
159
|
+
// Create a catch context.
|
|
160
|
+
Handle<Context> NewCatchContext(Handle<JSFunction> function,
|
|
161
|
+
Handle<Context> previous,
|
|
162
|
+
Handle<String> name,
|
|
163
|
+
Handle<Object> thrown_object);
|
|
146
164
|
|
|
147
165
|
// Create a 'with' context.
|
|
148
|
-
Handle<Context> NewWithContext(Handle<
|
|
149
|
-
Handle<
|
|
150
|
-
|
|
166
|
+
Handle<Context> NewWithContext(Handle<JSFunction> function,
|
|
167
|
+
Handle<Context> previous,
|
|
168
|
+
Handle<JSObject> extension);
|
|
169
|
+
|
|
170
|
+
// Create a 'block' context.
|
|
171
|
+
Handle<Context> NewBlockContext(Handle<JSFunction> function,
|
|
172
|
+
Handle<Context> previous,
|
|
173
|
+
Handle<SerializedScopeInfo> scope_info);
|
|
151
174
|
|
|
152
175
|
// Return the Symbol matching the passed in string.
|
|
153
176
|
Handle<String> SymbolFromString(Handle<String> value);
|
|
@@ -237,6 +260,9 @@ class Factory {
|
|
|
237
260
|
|
|
238
261
|
Handle<JSProxy> NewJSProxy(Handle<Object> handler, Handle<Object> prototype);
|
|
239
262
|
|
|
263
|
+
// Change the type of the argument into a regular JS object and reinitialize.
|
|
264
|
+
void BecomeJSObject(Handle<JSProxy> object);
|
|
265
|
+
|
|
240
266
|
Handle<JSFunction> NewFunction(Handle<String> name,
|
|
241
267
|
Handle<Object> prototype);
|
|
242
268
|
|
|
@@ -256,6 +282,8 @@ class Factory {
|
|
|
256
282
|
Handle<Context> context,
|
|
257
283
|
PretenureFlag pretenure = TENURED);
|
|
258
284
|
|
|
285
|
+
Handle<SerializedScopeInfo> NewSerializedScopeInfo(int length);
|
|
286
|
+
|
|
259
287
|
Handle<Code> NewCode(const CodeDesc& desc,
|
|
260
288
|
Code::Flags flags,
|
|
261
289
|
Handle<Object> self_reference,
|
|
@@ -97,7 +97,14 @@ private:
|
|
|
97
97
|
#define FLAG FLAG_FULL
|
|
98
98
|
|
|
99
99
|
// Flags for experimental language features.
|
|
100
|
+
DEFINE_bool(harmony_typeof, false, "enable harmony semantics for typeof")
|
|
100
101
|
DEFINE_bool(harmony_proxies, false, "enable harmony proxies")
|
|
102
|
+
DEFINE_bool(harmony_weakmaps, false, "enable harmony weak maps")
|
|
103
|
+
DEFINE_bool(harmony_block_scoping, false, "enable harmony block scoping")
|
|
104
|
+
|
|
105
|
+
// Flags for experimental implementation features.
|
|
106
|
+
DEFINE_bool(unbox_double_arrays, true, "automatically unbox arrays of doubles")
|
|
107
|
+
DEFINE_bool(string_slices, false, "use string slices")
|
|
101
108
|
|
|
102
109
|
// Flags for Crankshaft.
|
|
103
110
|
#ifdef V8_TARGET_ARCH_MIPS
|
|
@@ -131,12 +138,9 @@ DEFINE_bool(stress_environments, false, "environment for every instruction")
|
|
|
131
138
|
DEFINE_int(deopt_every_n_times,
|
|
132
139
|
0,
|
|
133
140
|
"deoptimize every n times a deopt point is passed")
|
|
134
|
-
DEFINE_bool(process_arguments_object, true, "try to deal with arguments object")
|
|
135
141
|
DEFINE_bool(trap_on_deopt, false, "put a break point before deoptimizing")
|
|
136
142
|
DEFINE_bool(deoptimize_uncommon_cases, true, "deoptimize uncommon cases")
|
|
137
143
|
DEFINE_bool(polymorphic_inlining, true, "polymorphic inlining")
|
|
138
|
-
DEFINE_bool(aggressive_loop_invariant_motion, true,
|
|
139
|
-
"aggressive motion of instructions out of loops")
|
|
140
144
|
DEFINE_bool(use_osr, true, "use on-stack replacement")
|
|
141
145
|
|
|
142
146
|
DEFINE_bool(trace_osr, false, "trace on-stack replacement")
|
|
@@ -149,8 +153,6 @@ DEFINE_bool(debug_code, false,
|
|
|
149
153
|
DEFINE_bool(code_comments, false, "emit comments in code disassembly")
|
|
150
154
|
DEFINE_bool(peephole_optimization, true,
|
|
151
155
|
"perform peephole optimizations in assembly code")
|
|
152
|
-
DEFINE_bool(print_peephole_optimization, false,
|
|
153
|
-
"print peephole optimizations in assembly code")
|
|
154
156
|
DEFINE_bool(enable_sse2, true,
|
|
155
157
|
"enable use of SSE2 instructions if available")
|
|
156
158
|
DEFINE_bool(enable_sse3, true,
|
|
@@ -189,7 +191,6 @@ DEFINE_bool(stack_trace_on_abort, true,
|
|
|
189
191
|
|
|
190
192
|
// codegen-ia32.cc / codegen-arm.cc
|
|
191
193
|
DEFINE_bool(trace, false, "trace function calls")
|
|
192
|
-
DEFINE_bool(defer_negation, true, "defer negation operation")
|
|
193
194
|
DEFINE_bool(mask_constants_with_cookie,
|
|
194
195
|
true,
|
|
195
196
|
"use random jit cookie to mask large constants")
|
|
@@ -202,33 +203,23 @@ DEFINE_bool(opt, true, "use adaptive optimizations")
|
|
|
202
203
|
DEFINE_bool(opt_eagerly, false, "be more eager when adaptively optimizing")
|
|
203
204
|
DEFINE_bool(always_opt, false, "always try to optimize functions")
|
|
204
205
|
DEFINE_bool(prepare_always_opt, false, "prepare for turning on always opt")
|
|
205
|
-
DEFINE_bool(debug_info, true, "add debug information to compiled functions")
|
|
206
206
|
DEFINE_bool(deopt, true, "support deoptimization")
|
|
207
207
|
DEFINE_bool(trace_deopt, false, "trace deoptimization")
|
|
208
208
|
|
|
209
209
|
// compiler.cc
|
|
210
|
-
DEFINE_bool(strict, false, "strict error checking")
|
|
211
210
|
DEFINE_int(min_preparse_length, 1024,
|
|
212
211
|
"minimum length for automatic enable preparsing")
|
|
213
|
-
DEFINE_bool(full_compiler, true, "enable dedicated backend for run-once code")
|
|
214
212
|
DEFINE_bool(always_full_compiler, false,
|
|
215
213
|
"try to use the dedicated run-once backend for all code")
|
|
216
214
|
DEFINE_bool(trace_bailout, false,
|
|
217
215
|
"print reasons for falling back to using the classic V8 backend")
|
|
218
|
-
DEFINE_bool(safe_int32_compiler, true,
|
|
219
|
-
"enable optimized side-effect-free int32 expressions.")
|
|
220
|
-
DEFINE_bool(use_flow_graph, false, "perform flow-graph based optimizations")
|
|
221
216
|
|
|
222
217
|
// compilation-cache.cc
|
|
223
218
|
DEFINE_bool(compilation_cache, true, "enable compilation cache")
|
|
224
219
|
|
|
225
220
|
DEFINE_bool(cache_prototype_transitions, true, "cache prototype transitions")
|
|
226
221
|
|
|
227
|
-
// data-flow.cc
|
|
228
|
-
DEFINE_bool(loop_peeling, false, "Peel off the first iteration of loops.")
|
|
229
|
-
|
|
230
222
|
// debug.cc
|
|
231
|
-
DEFINE_bool(remote_debugging, false, "enable remote debugging")
|
|
232
223
|
DEFINE_bool(trace_debug_json, false, "trace debugging JSON request/response")
|
|
233
224
|
DEFINE_bool(debugger_auto_break, true,
|
|
234
225
|
"automatically set the debug break flag when debugger commands are "
|
|
@@ -316,9 +307,6 @@ DEFINE_bool(use_verbose_printer, true, "allows verbose printing")
|
|
|
316
307
|
DEFINE_bool(allow_natives_syntax, false, "allow natives syntax")
|
|
317
308
|
DEFINE_bool(strict_mode, true, "allow strict mode directives")
|
|
318
309
|
|
|
319
|
-
// rewriter.cc
|
|
320
|
-
DEFINE_bool(optimize_ast, true, "optimize the ast")
|
|
321
|
-
|
|
322
310
|
// simulator-arm.cc and simulator-mips.cc
|
|
323
311
|
DEFINE_bool(trace_sim, false, "Trace simulator execution")
|
|
324
312
|
DEFINE_bool(check_icache, false, "Check icache flushes in ARM simulator")
|
|
@@ -337,7 +325,6 @@ DEFINE_bool(preemption, false,
|
|
|
337
325
|
"activate a 100ms timer that switches between V8 threads")
|
|
338
326
|
|
|
339
327
|
// Regexp
|
|
340
|
-
DEFINE_bool(trace_regexps, false, "trace regexp execution")
|
|
341
328
|
DEFINE_bool(regexp_optimization, true, "generate optimized regexp code")
|
|
342
329
|
DEFINE_bool(regexp_entry_native, true, "use native code to enter regexp")
|
|
343
330
|
|
|
@@ -388,6 +375,8 @@ DEFINE_bool(debug_script_collected_events, true,
|
|
|
388
375
|
DEFINE_bool(gdbjit, false, "enable GDBJIT interface (disables compacting GC)")
|
|
389
376
|
DEFINE_bool(gdbjit_full, false, "enable GDBJIT interface for all code objects")
|
|
390
377
|
DEFINE_bool(gdbjit_dump, false, "dump elf objects with debug info to disk")
|
|
378
|
+
DEFINE_string(gdbjit_dump_filter, "",
|
|
379
|
+
"dump only objects containing this substring")
|
|
391
380
|
|
|
392
381
|
//
|
|
393
382
|
// Debug only flags
|
|
@@ -414,16 +403,12 @@ DEFINE_bool(print_builtin_ast, false, "print source AST for builtins")
|
|
|
414
403
|
DEFINE_bool(print_json_ast, false, "print source AST as JSON")
|
|
415
404
|
DEFINE_bool(print_builtin_json_ast, false,
|
|
416
405
|
"print source AST for builtins as JSON")
|
|
417
|
-
DEFINE_bool(trace_calls, false, "trace calls")
|
|
418
|
-
DEFINE_bool(trace_builtin_calls, false, "trace builtins calls")
|
|
419
406
|
DEFINE_string(stop_at, "", "function name where to insert a breakpoint")
|
|
407
|
+
DEFINE_bool(verify_stack_height, false, "verify stack height tracing on ia32")
|
|
420
408
|
|
|
421
409
|
// compiler.cc
|
|
422
410
|
DEFINE_bool(print_builtin_scopes, false, "print scopes for builtins")
|
|
423
411
|
DEFINE_bool(print_scopes, false, "print scopes")
|
|
424
|
-
DEFINE_bool(print_ir, false, "print the AST as seen by the backend")
|
|
425
|
-
DEFINE_bool(print_graph_text, false,
|
|
426
|
-
"print a text representation of the flow graph")
|
|
427
412
|
|
|
428
413
|
// contexts.cc
|
|
429
414
|
DEFINE_bool(trace_contexts, false, "trace contexts operations")
|
|
@@ -472,14 +457,10 @@ DEFINE_bool(trace_regexp_assembler,
|
|
|
472
457
|
"trace regexp macro assembler calls.")
|
|
473
458
|
|
|
474
459
|
//
|
|
475
|
-
// Logging and profiling
|
|
460
|
+
// Logging and profiling flags
|
|
476
461
|
//
|
|
477
462
|
#undef FLAG
|
|
478
|
-
#ifdef ENABLE_LOGGING_AND_PROFILING
|
|
479
463
|
#define FLAG FLAG_FULL
|
|
480
|
-
#else
|
|
481
|
-
#define FLAG FLAG_READONLY
|
|
482
|
-
#endif
|
|
483
464
|
|
|
484
465
|
// log.cc
|
|
485
466
|
DEFINE_bool(log, false,
|
|
@@ -495,7 +476,6 @@ DEFINE_bool(log_handles, false, "Log global handle events.")
|
|
|
495
476
|
DEFINE_bool(log_snapshot_positions, false,
|
|
496
477
|
"log positions of (de)serialized objects in the snapshot.")
|
|
497
478
|
DEFINE_bool(log_suspect, false, "Log suspect operations.")
|
|
498
|
-
DEFINE_bool(log_producers, false, "Log stack traces of JS objects allocations.")
|
|
499
479
|
DEFINE_bool(prof, false,
|
|
500
480
|
"Log statistical profiling information (implies --log-code).")
|
|
501
481
|
DEFINE_bool(prof_auto, true,
|
|
@@ -511,19 +491,6 @@ DEFINE_bool(sliding_state_window, false,
|
|
|
511
491
|
DEFINE_string(logfile, "v8.log", "Specify the name of the log file.")
|
|
512
492
|
DEFINE_bool(ll_prof, false, "Enable low-level linux profiler.")
|
|
513
493
|
|
|
514
|
-
//
|
|
515
|
-
// Heap protection flags
|
|
516
|
-
// Using heap protection requires ENABLE_LOGGING_AND_PROFILING as well.
|
|
517
|
-
//
|
|
518
|
-
#ifdef ENABLE_HEAP_PROTECTION
|
|
519
|
-
#undef FLAG
|
|
520
|
-
#define FLAG FLAG_FULL
|
|
521
|
-
|
|
522
|
-
DEFINE_bool(protect_heap, false,
|
|
523
|
-
"Protect/unprotect V8's heap when leaving/entring the VM.")
|
|
524
|
-
|
|
525
|
-
#endif
|
|
526
|
-
|
|
527
494
|
//
|
|
528
495
|
// Disassembler only flags
|
|
529
496
|
//
|