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
data/lib/libv8/v8/src/debug.cc
CHANGED
@@ -169,7 +169,8 @@ void BreakLocationIterator::Next() {
|
|
169
169
|
if ((code->is_inline_cache_stub() &&
|
170
170
|
!code->is_binary_op_stub() &&
|
171
171
|
!code->is_unary_op_stub() &&
|
172
|
-
!code->is_compare_ic_stub()
|
172
|
+
!code->is_compare_ic_stub() &&
|
173
|
+
!code->is_to_boolean_ic_stub()) ||
|
173
174
|
RelocInfo::IsConstructCall(rmode())) {
|
174
175
|
break_point_++;
|
175
176
|
return;
|
@@ -772,9 +773,9 @@ bool Debug::CompileDebuggerScript(int index) {
|
|
772
773
|
bool caught_exception = false;
|
773
774
|
Handle<JSFunction> function =
|
774
775
|
factory->NewFunctionFromSharedFunctionInfo(function_info, context);
|
775
|
-
|
776
|
-
|
777
|
-
|
776
|
+
|
777
|
+
Execution::TryCall(function, Handle<Object>(context->global()),
|
778
|
+
0, NULL, &caught_exception);
|
778
779
|
|
779
780
|
// Check for caught exceptions.
|
780
781
|
if (caught_exception) {
|
@@ -796,7 +797,6 @@ bool Debug::Load() {
|
|
796
797
|
// Return if debugger is already loaded.
|
797
798
|
if (IsLoaded()) return true;
|
798
799
|
|
799
|
-
ASSERT(Isolate::Current() == isolate_);
|
800
800
|
Debugger* debugger = isolate_->debugger();
|
801
801
|
|
802
802
|
// Bail out if we're already in the process of compiling the native
|
@@ -1048,7 +1048,6 @@ Handle<Object> Debug::CheckBreakPoints(Handle<Object> break_point_objects) {
|
|
1048
1048
|
|
1049
1049
|
// Check whether a single break point object is triggered.
|
1050
1050
|
bool Debug::CheckBreakPoint(Handle<Object> break_point_object) {
|
1051
|
-
ASSERT(Isolate::Current() == isolate_);
|
1052
1051
|
Factory* factory = isolate_->factory();
|
1053
1052
|
HandleScope scope(isolate_);
|
1054
1053
|
|
@@ -1234,7 +1233,6 @@ bool Debug::IsBreakOnException(ExceptionBreakType type) {
|
|
1234
1233
|
|
1235
1234
|
|
1236
1235
|
void Debug::PrepareStep(StepAction step_action, int step_count) {
|
1237
|
-
ASSERT(Isolate::Current() == isolate_);
|
1238
1236
|
HandleScope scope(isolate_);
|
1239
1237
|
ASSERT(Debug::InDebugger());
|
1240
1238
|
|
@@ -1739,7 +1737,6 @@ void Debug::RemoveDebugInfo(Handle<DebugInfo> debug_info) {
|
|
1739
1737
|
|
1740
1738
|
|
1741
1739
|
void Debug::SetAfterBreakTarget(JavaScriptFrame* frame) {
|
1742
|
-
ASSERT(Isolate::Current() == isolate_);
|
1743
1740
|
HandleScope scope(isolate_);
|
1744
1741
|
|
1745
1742
|
// Get the executing function in which the debug break occurred.
|
@@ -1825,6 +1822,13 @@ void Debug::SetAfterBreakTarget(JavaScriptFrame* frame) {
|
|
1825
1822
|
bool Debug::IsBreakAtReturn(JavaScriptFrame* frame) {
|
1826
1823
|
HandleScope scope(isolate_);
|
1827
1824
|
|
1825
|
+
// If there are no break points this cannot be break at return, as
|
1826
|
+
// the debugger statement and stack guard bebug break cannot be at
|
1827
|
+
// return.
|
1828
|
+
if (!has_break_points_) {
|
1829
|
+
return false;
|
1830
|
+
}
|
1831
|
+
|
1828
1832
|
// Get the executing function in which the debug break occurred.
|
1829
1833
|
Handle<SharedFunctionInfo> shared =
|
1830
1834
|
Handle<SharedFunctionInfo>(JSFunction::cast(frame->function())->shared());
|
@@ -1872,7 +1876,6 @@ bool Debug::IsDebugGlobal(GlobalObject* global) {
|
|
1872
1876
|
|
1873
1877
|
|
1874
1878
|
void Debug::ClearMirrorCache() {
|
1875
|
-
ASSERT(Isolate::Current() == isolate_);
|
1876
1879
|
PostponeInterruptsScope postpone(isolate_);
|
1877
1880
|
HandleScope scope(isolate_);
|
1878
1881
|
ASSERT(isolate_->context() == *Debug::debug_context());
|
@@ -1884,15 +1887,13 @@ void Debug::ClearMirrorCache() {
|
|
1884
1887
|
*function_name));
|
1885
1888
|
ASSERT(fun->IsJSFunction());
|
1886
1889
|
bool caught_exception;
|
1887
|
-
|
1888
|
-
Handle<JSFunction>::cast(fun),
|
1890
|
+
Execution::TryCall(Handle<JSFunction>::cast(fun),
|
1889
1891
|
Handle<JSObject>(Debug::debug_context()->global()),
|
1890
1892
|
0, NULL, &caught_exception);
|
1891
1893
|
}
|
1892
1894
|
|
1893
1895
|
|
1894
1896
|
void Debug::CreateScriptCache() {
|
1895
|
-
ASSERT(Isolate::Current() == isolate_);
|
1896
1897
|
Heap* heap = isolate_->heap();
|
1897
1898
|
HandleScope scope(isolate_);
|
1898
1899
|
|
@@ -1934,7 +1935,6 @@ void Debug::AddScriptToScriptCache(Handle<Script> script) {
|
|
1934
1935
|
|
1935
1936
|
|
1936
1937
|
Handle<FixedArray> Debug::GetLoadedScripts() {
|
1937
|
-
ASSERT(Isolate::Current() == isolate_);
|
1938
1938
|
// Create and fill the script cache when the loaded scripts is requested for
|
1939
1939
|
// the first time.
|
1940
1940
|
if (script_cache_ == NULL) {
|
@@ -1964,8 +1964,8 @@ void Debug::AfterGarbageCollection() {
|
|
1964
1964
|
}
|
1965
1965
|
|
1966
1966
|
|
1967
|
-
Debugger::Debugger()
|
1968
|
-
: debugger_access_(
|
1967
|
+
Debugger::Debugger(Isolate* isolate)
|
1968
|
+
: debugger_access_(isolate->debugger_access()),
|
1969
1969
|
event_listener_(Handle<Object>()),
|
1970
1970
|
event_listener_data_(Handle<Object>()),
|
1971
1971
|
compiling_natives_(false),
|
@@ -1979,15 +1979,14 @@ Debugger::Debugger()
|
|
1979
1979
|
message_dispatch_helper_thread_(NULL),
|
1980
1980
|
host_dispatch_micros_(100 * 1000),
|
1981
1981
|
agent_(NULL),
|
1982
|
-
command_queue_(kQueueInitialSize),
|
1982
|
+
command_queue_(isolate->logger(), kQueueInitialSize),
|
1983
1983
|
command_received_(OS::CreateSemaphore(0)),
|
1984
|
-
event_command_queue_(kQueueInitialSize)
|
1984
|
+
event_command_queue_(isolate->logger(), kQueueInitialSize),
|
1985
|
+
isolate_(isolate) {
|
1985
1986
|
}
|
1986
1987
|
|
1987
1988
|
|
1988
1989
|
Debugger::~Debugger() {
|
1989
|
-
delete debugger_access_;
|
1990
|
-
debugger_access_ = 0;
|
1991
1990
|
delete dispatch_handler_access_;
|
1992
1991
|
dispatch_handler_access_ = 0;
|
1993
1992
|
delete command_received_;
|
@@ -1998,7 +1997,6 @@ Debugger::~Debugger() {
|
|
1998
1997
|
Handle<Object> Debugger::MakeJSObject(Vector<const char> constructor_name,
|
1999
1998
|
int argc, Object*** argv,
|
2000
1999
|
bool* caught_exception) {
|
2001
|
-
ASSERT(Isolate::Current() == isolate_);
|
2002
2000
|
ASSERT(isolate_->context() == *isolate_->debug()->debug_context());
|
2003
2001
|
|
2004
2002
|
// Create the execution state object.
|
@@ -2020,7 +2018,6 @@ Handle<Object> Debugger::MakeJSObject(Vector<const char> constructor_name,
|
|
2020
2018
|
|
2021
2019
|
|
2022
2020
|
Handle<Object> Debugger::MakeExecutionState(bool* caught_exception) {
|
2023
|
-
ASSERT(Isolate::Current() == isolate_);
|
2024
2021
|
// Create the execution state object.
|
2025
2022
|
Handle<Object> break_id = isolate_->factory()->NewNumberFromInt(
|
2026
2023
|
isolate_->debug()->break_id());
|
@@ -2034,7 +2031,6 @@ Handle<Object> Debugger::MakeExecutionState(bool* caught_exception) {
|
|
2034
2031
|
Handle<Object> Debugger::MakeBreakEvent(Handle<Object> exec_state,
|
2035
2032
|
Handle<Object> break_points_hit,
|
2036
2033
|
bool* caught_exception) {
|
2037
|
-
ASSERT(Isolate::Current() == isolate_);
|
2038
2034
|
// Create the new break event object.
|
2039
2035
|
const int argc = 2;
|
2040
2036
|
Object** argv[argc] = { exec_state.location(),
|
@@ -2050,7 +2046,6 @@ Handle<Object> Debugger::MakeExceptionEvent(Handle<Object> exec_state,
|
|
2050
2046
|
Handle<Object> exception,
|
2051
2047
|
bool uncaught,
|
2052
2048
|
bool* caught_exception) {
|
2053
|
-
ASSERT(Isolate::Current() == isolate_);
|
2054
2049
|
Factory* factory = isolate_->factory();
|
2055
2050
|
// Create the new exception event object.
|
2056
2051
|
const int argc = 3;
|
@@ -2065,7 +2060,6 @@ Handle<Object> Debugger::MakeExceptionEvent(Handle<Object> exec_state,
|
|
2065
2060
|
|
2066
2061
|
Handle<Object> Debugger::MakeNewFunctionEvent(Handle<Object> function,
|
2067
2062
|
bool* caught_exception) {
|
2068
|
-
ASSERT(Isolate::Current() == isolate_);
|
2069
2063
|
// Create the new function event object.
|
2070
2064
|
const int argc = 1;
|
2071
2065
|
Object** argv[argc] = { function.location() };
|
@@ -2077,7 +2071,6 @@ Handle<Object> Debugger::MakeNewFunctionEvent(Handle<Object> function,
|
|
2077
2071
|
Handle<Object> Debugger::MakeCompileEvent(Handle<Script> script,
|
2078
2072
|
bool before,
|
2079
2073
|
bool* caught_exception) {
|
2080
|
-
ASSERT(Isolate::Current() == isolate_);
|
2081
2074
|
Factory* factory = isolate_->factory();
|
2082
2075
|
// Create the compile event object.
|
2083
2076
|
Handle<Object> exec_state = MakeExecutionState(caught_exception);
|
@@ -2097,7 +2090,6 @@ Handle<Object> Debugger::MakeCompileEvent(Handle<Script> script,
|
|
2097
2090
|
|
2098
2091
|
Handle<Object> Debugger::MakeScriptCollectedEvent(int id,
|
2099
2092
|
bool* caught_exception) {
|
2100
|
-
ASSERT(Isolate::Current() == isolate_);
|
2101
2093
|
// Create the script collected event object.
|
2102
2094
|
Handle<Object> exec_state = MakeExecutionState(caught_exception);
|
2103
2095
|
Handle<Object> id_object = Handle<Smi>(Smi::FromInt(id));
|
@@ -2112,7 +2104,6 @@ Handle<Object> Debugger::MakeScriptCollectedEvent(int id,
|
|
2112
2104
|
|
2113
2105
|
|
2114
2106
|
void Debugger::OnException(Handle<Object> exception, bool uncaught) {
|
2115
|
-
ASSERT(Isolate::Current() == isolate_);
|
2116
2107
|
HandleScope scope(isolate_);
|
2117
2108
|
Debug* debug = isolate_->debug();
|
2118
2109
|
|
@@ -2157,7 +2148,6 @@ void Debugger::OnException(Handle<Object> exception, bool uncaught) {
|
|
2157
2148
|
|
2158
2149
|
void Debugger::OnDebugBreak(Handle<Object> break_points_hit,
|
2159
2150
|
bool auto_continue) {
|
2160
|
-
ASSERT(Isolate::Current() == isolate_);
|
2161
2151
|
HandleScope scope(isolate_);
|
2162
2152
|
|
2163
2153
|
// Debugger has already been entered by caller.
|
@@ -2167,7 +2157,7 @@ void Debugger::OnDebugBreak(Handle<Object> break_points_hit,
|
|
2167
2157
|
if (!Debugger::EventActive(v8::Break)) return;
|
2168
2158
|
|
2169
2159
|
// Debugger must be entered in advance.
|
2170
|
-
ASSERT(
|
2160
|
+
ASSERT(isolate_->context() == *isolate_->debug()->debug_context());
|
2171
2161
|
|
2172
2162
|
// Create the event data object.
|
2173
2163
|
bool caught_exception = false;
|
@@ -2190,7 +2180,6 @@ void Debugger::OnDebugBreak(Handle<Object> break_points_hit,
|
|
2190
2180
|
|
2191
2181
|
|
2192
2182
|
void Debugger::OnBeforeCompile(Handle<Script> script) {
|
2193
|
-
ASSERT(Isolate::Current() == isolate_);
|
2194
2183
|
HandleScope scope(isolate_);
|
2195
2184
|
|
2196
2185
|
// Bail out based on state or if there is no listener for this event
|
@@ -2220,7 +2209,6 @@ void Debugger::OnBeforeCompile(Handle<Script> script) {
|
|
2220
2209
|
// Handle debugger actions when a new script is compiled.
|
2221
2210
|
void Debugger::OnAfterCompile(Handle<Script> script,
|
2222
2211
|
AfterCompileFlags after_compile_flags) {
|
2223
|
-
ASSERT(Isolate::Current() == isolate_);
|
2224
2212
|
HandleScope scope(isolate_);
|
2225
2213
|
Debug* debug = isolate_->debug();
|
2226
2214
|
|
@@ -2262,8 +2250,7 @@ void Debugger::OnAfterCompile(Handle<Script> script,
|
|
2262
2250
|
bool caught_exception = false;
|
2263
2251
|
const int argc = 1;
|
2264
2252
|
Object** argv[argc] = { reinterpret_cast<Object**>(wrapper.location()) };
|
2265
|
-
|
2266
|
-
Handle<JSFunction>::cast(update_script_break_points),
|
2253
|
+
Execution::TryCall(Handle<JSFunction>::cast(update_script_break_points),
|
2267
2254
|
Isolate::Current()->js_builtins_object(), argc, argv,
|
2268
2255
|
&caught_exception);
|
2269
2256
|
if (caught_exception) {
|
@@ -2289,7 +2276,6 @@ void Debugger::OnAfterCompile(Handle<Script> script,
|
|
2289
2276
|
|
2290
2277
|
|
2291
2278
|
void Debugger::OnScriptCollected(int id) {
|
2292
|
-
ASSERT(Isolate::Current() == isolate_);
|
2293
2279
|
HandleScope scope(isolate_);
|
2294
2280
|
|
2295
2281
|
// No more to do if not debugging.
|
@@ -2319,7 +2305,6 @@ void Debugger::OnScriptCollected(int id) {
|
|
2319
2305
|
void Debugger::ProcessDebugEvent(v8::DebugEvent event,
|
2320
2306
|
Handle<JSObject> event_data,
|
2321
2307
|
bool auto_continue) {
|
2322
|
-
ASSERT(Isolate::Current() == isolate_);
|
2323
2308
|
HandleScope scope(isolate_);
|
2324
2309
|
|
2325
2310
|
// Clear any pending debug break if this is a real break.
|
@@ -2395,7 +2380,6 @@ void Debugger::CallJSEventCallback(v8::DebugEvent event,
|
|
2395
2380
|
Handle<Object> exec_state,
|
2396
2381
|
Handle<Object> event_data) {
|
2397
2382
|
ASSERT(event_listener_->IsJSFunction());
|
2398
|
-
ASSERT(Isolate::Current() == isolate_);
|
2399
2383
|
Handle<JSFunction> fun(Handle<JSFunction>::cast(event_listener_));
|
2400
2384
|
|
2401
2385
|
// Invoke the JavaScript debug event listener.
|
@@ -2411,7 +2395,6 @@ void Debugger::CallJSEventCallback(v8::DebugEvent event,
|
|
2411
2395
|
|
2412
2396
|
|
2413
2397
|
Handle<Context> Debugger::GetDebugContext() {
|
2414
|
-
ASSERT(Isolate::Current() == isolate_);
|
2415
2398
|
never_unload_debugger_ = true;
|
2416
2399
|
EnterDebugger debugger;
|
2417
2400
|
return isolate_->debug()->debug_context();
|
@@ -2419,7 +2402,6 @@ Handle<Context> Debugger::GetDebugContext() {
|
|
2419
2402
|
|
2420
2403
|
|
2421
2404
|
void Debugger::UnloadDebugger() {
|
2422
|
-
ASSERT(Isolate::Current() == isolate_);
|
2423
2405
|
Debug* debug = isolate_->debug();
|
2424
2406
|
|
2425
2407
|
// Make sure that there are no breakpoints left.
|
@@ -2439,7 +2421,6 @@ void Debugger::NotifyMessageHandler(v8::DebugEvent event,
|
|
2439
2421
|
Handle<JSObject> exec_state,
|
2440
2422
|
Handle<JSObject> event_data,
|
2441
2423
|
bool auto_continue) {
|
2442
|
-
ASSERT(Isolate::Current() == isolate_);
|
2443
2424
|
HandleScope scope(isolate_);
|
2444
2425
|
|
2445
2426
|
if (!isolate_->debug()->Load()) return;
|
@@ -2535,7 +2516,8 @@ void Debugger::NotifyMessageHandler(v8::DebugEvent event,
|
|
2535
2516
|
|
2536
2517
|
// Get the command from the queue.
|
2537
2518
|
CommandMessage command = command_queue_.Get();
|
2538
|
-
|
2519
|
+
isolate_->logger()->DebugTag(
|
2520
|
+
"Got request from command queue, in interactive loop.");
|
2539
2521
|
if (!Debugger::IsDebuggerActive()) {
|
2540
2522
|
// Delete command text and user data.
|
2541
2523
|
command.Dispose();
|
@@ -2609,7 +2591,6 @@ void Debugger::NotifyMessageHandler(v8::DebugEvent event,
|
|
2609
2591
|
|
2610
2592
|
void Debugger::SetEventListener(Handle<Object> callback,
|
2611
2593
|
Handle<Object> data) {
|
2612
|
-
ASSERT(Isolate::Current() == isolate_);
|
2613
2594
|
HandleScope scope(isolate_);
|
2614
2595
|
GlobalHandles* global_handles = isolate_->global_handles();
|
2615
2596
|
|
@@ -2643,7 +2624,6 @@ void Debugger::SetEventListener(Handle<Object> callback,
|
|
2643
2624
|
|
2644
2625
|
|
2645
2626
|
void Debugger::SetMessageHandler(v8::Debug::MessageHandler2 handler) {
|
2646
|
-
ASSERT(Isolate::Current() == isolate_);
|
2647
2627
|
ScopedLock with(debugger_access_);
|
2648
2628
|
|
2649
2629
|
message_handler_ = handler;
|
@@ -2659,7 +2639,6 @@ void Debugger::SetMessageHandler(v8::Debug::MessageHandler2 handler) {
|
|
2659
2639
|
|
2660
2640
|
|
2661
2641
|
void Debugger::ListenersChanged() {
|
2662
|
-
ASSERT(Isolate::Current() == isolate_);
|
2663
2642
|
if (IsDebuggerActive()) {
|
2664
2643
|
// Disable the compilation cache when the debugger is active.
|
2665
2644
|
isolate_->compilation_cache()->Disable();
|
@@ -2675,7 +2654,6 @@ void Debugger::ListenersChanged() {
|
|
2675
2654
|
|
2676
2655
|
void Debugger::SetHostDispatchHandler(v8::Debug::HostDispatchHandler handler,
|
2677
2656
|
int period) {
|
2678
|
-
ASSERT(Isolate::Current() == isolate_);
|
2679
2657
|
host_dispatch_handler_ = handler;
|
2680
2658
|
host_dispatch_micros_ = period * 1000;
|
2681
2659
|
}
|
@@ -2683,7 +2661,6 @@ void Debugger::SetHostDispatchHandler(v8::Debug::HostDispatchHandler handler,
|
|
2683
2661
|
|
2684
2662
|
void Debugger::SetDebugMessageDispatchHandler(
|
2685
2663
|
v8::Debug::DebugMessageDispatchHandler handler, bool provide_locker) {
|
2686
|
-
ASSERT(Isolate::Current() == isolate_);
|
2687
2664
|
ScopedLock with(dispatch_handler_access_);
|
2688
2665
|
debug_message_dispatch_handler_ = handler;
|
2689
2666
|
|
@@ -2697,7 +2674,6 @@ void Debugger::SetDebugMessageDispatchHandler(
|
|
2697
2674
|
// Calls the registered debug message handler. This callback is part of the
|
2698
2675
|
// public API.
|
2699
2676
|
void Debugger::InvokeMessageHandler(MessageImpl message) {
|
2700
|
-
ASSERT(Isolate::Current() == isolate_);
|
2701
2677
|
ScopedLock with(debugger_access_);
|
2702
2678
|
|
2703
2679
|
if (message_handler_ != NULL) {
|
@@ -2712,13 +2688,12 @@ void Debugger::InvokeMessageHandler(MessageImpl message) {
|
|
2712
2688
|
// by the API client thread.
|
2713
2689
|
void Debugger::ProcessCommand(Vector<const uint16_t> command,
|
2714
2690
|
v8::Debug::ClientData* client_data) {
|
2715
|
-
ASSERT(Isolate::Current() == isolate_);
|
2716
2691
|
// Need to cast away const.
|
2717
2692
|
CommandMessage message = CommandMessage::New(
|
2718
2693
|
Vector<uint16_t>(const_cast<uint16_t*>(command.start()),
|
2719
2694
|
command.length()),
|
2720
2695
|
client_data);
|
2721
|
-
|
2696
|
+
isolate_->logger()->DebugTag("Put command on command_queue.");
|
2722
2697
|
command_queue_.Put(message);
|
2723
2698
|
command_received_->Signal();
|
2724
2699
|
|
@@ -2742,13 +2717,11 @@ void Debugger::ProcessCommand(Vector<const uint16_t> command,
|
|
2742
2717
|
|
2743
2718
|
|
2744
2719
|
bool Debugger::HasCommands() {
|
2745
|
-
ASSERT(Isolate::Current() == isolate_);
|
2746
2720
|
return !command_queue_.IsEmpty();
|
2747
2721
|
}
|
2748
2722
|
|
2749
2723
|
|
2750
2724
|
void Debugger::EnqueueDebugCommand(v8::Debug::ClientData* client_data) {
|
2751
|
-
ASSERT(Isolate::Current() == isolate_);
|
2752
2725
|
CommandMessage message = CommandMessage::New(Vector<uint16_t>(), client_data);
|
2753
2726
|
event_command_queue_.Put(message);
|
2754
2727
|
|
@@ -2760,7 +2733,6 @@ void Debugger::EnqueueDebugCommand(v8::Debug::ClientData* client_data) {
|
|
2760
2733
|
|
2761
2734
|
|
2762
2735
|
bool Debugger::IsDebuggerActive() {
|
2763
|
-
ASSERT(Isolate::Current() == isolate_);
|
2764
2736
|
ScopedLock with(debugger_access_);
|
2765
2737
|
|
2766
2738
|
return message_handler_ != NULL || !event_listener_.is_null();
|
@@ -2770,7 +2742,6 @@ bool Debugger::IsDebuggerActive() {
|
|
2770
2742
|
Handle<Object> Debugger::Call(Handle<JSFunction> fun,
|
2771
2743
|
Handle<Object> data,
|
2772
2744
|
bool* pending_exception) {
|
2773
|
-
ASSERT(Isolate::Current() == isolate_);
|
2774
2745
|
// When calling functions in the debugger prevent it from beeing unloaded.
|
2775
2746
|
Debugger::never_unload_debugger_ = true;
|
2776
2747
|
|
@@ -2820,7 +2791,7 @@ bool Debugger::StartAgent(const char* name, int port,
|
|
2820
2791
|
|
2821
2792
|
if (Socket::Setup()) {
|
2822
2793
|
if (agent_ == NULL) {
|
2823
|
-
agent_ = new DebuggerAgent(
|
2794
|
+
agent_ = new DebuggerAgent(name, port);
|
2824
2795
|
agent_->Start();
|
2825
2796
|
}
|
2826
2797
|
return true;
|
@@ -2849,7 +2820,6 @@ void Debugger::WaitForAgent() {
|
|
2849
2820
|
|
2850
2821
|
|
2851
2822
|
void Debugger::CallMessageDispatchHandler() {
|
2852
|
-
ASSERT(Isolate::Current() == isolate_);
|
2853
2823
|
v8::Debug::DebugMessageDispatchHandler handler;
|
2854
2824
|
{
|
2855
2825
|
ScopedLock with(dispatch_handler_access_);
|
@@ -2957,7 +2927,7 @@ v8::Handle<v8::Context> MessageImpl::GetEventContext() const {
|
|
2957
2927
|
v8::Handle<v8::Context> context = GetDebugEventContext(isolate);
|
2958
2928
|
// Isolate::context() may be NULL when "script collected" event occures.
|
2959
2929
|
ASSERT(!context.IsEmpty() || event_ == v8::ScriptCollected);
|
2960
|
-
return
|
2930
|
+
return context;
|
2961
2931
|
}
|
2962
2932
|
|
2963
2933
|
|
@@ -3083,8 +3053,8 @@ void CommandMessageQueue::Expand() {
|
|
3083
3053
|
}
|
3084
3054
|
|
3085
3055
|
|
3086
|
-
LockingCommandMessageQueue::LockingCommandMessageQueue(int size)
|
3087
|
-
: queue_(size) {
|
3056
|
+
LockingCommandMessageQueue::LockingCommandMessageQueue(Logger* logger, int size)
|
3057
|
+
: logger_(logger), queue_(size) {
|
3088
3058
|
lock_ = OS::CreateMutex();
|
3089
3059
|
}
|
3090
3060
|
|
@@ -3103,7 +3073,7 @@ bool LockingCommandMessageQueue::IsEmpty() const {
|
|
3103
3073
|
CommandMessage LockingCommandMessageQueue::Get() {
|
3104
3074
|
ScopedLock sl(lock_);
|
3105
3075
|
CommandMessage result = queue_.Get();
|
3106
|
-
|
3076
|
+
logger_->DebugEvent("Get", result.text());
|
3107
3077
|
return result;
|
3108
3078
|
}
|
3109
3079
|
|
@@ -3111,7 +3081,7 @@ CommandMessage LockingCommandMessageQueue::Get() {
|
|
3111
3081
|
void LockingCommandMessageQueue::Put(const CommandMessage& message) {
|
3112
3082
|
ScopedLock sl(lock_);
|
3113
3083
|
queue_.Put(message);
|
3114
|
-
|
3084
|
+
logger_->DebugEvent("Put", message.text());
|
3115
3085
|
}
|
3116
3086
|
|
3117
3087
|
|
@@ -3122,7 +3092,7 @@ void LockingCommandMessageQueue::Clear() {
|
|
3122
3092
|
|
3123
3093
|
|
3124
3094
|
MessageDispatchHelperThread::MessageDispatchHelperThread(Isolate* isolate)
|
3125
|
-
: Thread(
|
3095
|
+
: Thread("v8:MsgDispHelpr"),
|
3126
3096
|
sem_(OS::CreateSemaphore(0)), mutex_(OS::CreateMutex()),
|
3127
3097
|
already_signalled_(false) {
|
3128
3098
|
}
|
data/lib/libv8/v8/src/debug.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:
|
@@ -35,6 +35,7 @@
|
|
35
35
|
#include "execution.h"
|
36
36
|
#include "factory.h"
|
37
37
|
#include "flags.h"
|
38
|
+
#include "frames-inl.h"
|
38
39
|
#include "hashmap.h"
|
39
40
|
#include "platform.h"
|
40
41
|
#include "string-stream.h"
|
@@ -678,13 +679,14 @@ class MessageDispatchHelperThread;
|
|
678
679
|
// Mutex to CommandMessageQueue. Includes logging of all puts and gets.
|
679
680
|
class LockingCommandMessageQueue BASE_EMBEDDED {
|
680
681
|
public:
|
681
|
-
|
682
|
+
LockingCommandMessageQueue(Logger* logger, int size);
|
682
683
|
~LockingCommandMessageQueue();
|
683
684
|
bool IsEmpty() const;
|
684
685
|
CommandMessage Get();
|
685
686
|
void Put(const CommandMessage& message);
|
686
687
|
void Clear();
|
687
688
|
private:
|
689
|
+
Logger* logger_;
|
688
690
|
CommandMessageQueue queue_;
|
689
691
|
Mutex* lock_;
|
690
692
|
DISALLOW_COPY_AND_ASSIGN(LockingCommandMessageQueue);
|
@@ -811,7 +813,7 @@ class Debugger {
|
|
811
813
|
bool IsDebuggerActive();
|
812
814
|
|
813
815
|
private:
|
814
|
-
Debugger();
|
816
|
+
explicit Debugger(Isolate* isolate);
|
815
817
|
|
816
818
|
void CallEventCallback(v8::DebugEvent event,
|
817
819
|
Handle<Object> exec_state,
|