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,171 @@
|
|
|
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
|
+
|
|
29
|
+
# Variable default definitions. Override them by exporting them in your shell.
|
|
30
|
+
CXX ?= "g++" # For distcc: export CXX="distcc g++"
|
|
31
|
+
LINK ?= "g++"
|
|
32
|
+
OUTDIR ?= out
|
|
33
|
+
TESTJOBS ?= -j16
|
|
34
|
+
GYPFLAGS ?=
|
|
35
|
+
|
|
36
|
+
# Special build flags. Use them like this: "make library=shared"
|
|
37
|
+
|
|
38
|
+
# library=shared || component=shared_library
|
|
39
|
+
ifeq ($(library), shared)
|
|
40
|
+
GYPFLAGS += -Dcomponent=shared_library
|
|
41
|
+
endif
|
|
42
|
+
ifdef component
|
|
43
|
+
GYPFLAGS += -Dcomponent=$(component)
|
|
44
|
+
endif
|
|
45
|
+
# console=readline
|
|
46
|
+
ifdef console
|
|
47
|
+
GYPFLAGS += -Dconsole=$(console)
|
|
48
|
+
endif
|
|
49
|
+
# disassembler=on
|
|
50
|
+
ifeq ($(disassembler), on)
|
|
51
|
+
GYPFLAGS += -Dv8_enable_disassembler=1
|
|
52
|
+
endif
|
|
53
|
+
# snapshot=off
|
|
54
|
+
ifeq ($(snapshot), off)
|
|
55
|
+
GYPFLAGS += -Dv8_use_snapshot='false'
|
|
56
|
+
endif
|
|
57
|
+
# gdbjit=on
|
|
58
|
+
ifeq ($(gdbjit), on)
|
|
59
|
+
GYPFLAGS += -Dv8_enable_gdbjit=1
|
|
60
|
+
endif
|
|
61
|
+
# liveobjectlist=on
|
|
62
|
+
ifeq ($(liveobjectlist), on)
|
|
63
|
+
GYPFLAGS += -Dv8_use_liveobjectlist=true
|
|
64
|
+
endif
|
|
65
|
+
# vfp3=off
|
|
66
|
+
ifeq ($(vfp3), off)
|
|
67
|
+
GYPFLAGS += -Dv8_can_use_vfp_instructions=false
|
|
68
|
+
else
|
|
69
|
+
GYPFLAGS += -Dv8_can_use_vfp_instructions=true
|
|
70
|
+
endif
|
|
71
|
+
|
|
72
|
+
# ----------------- available targets: --------------------
|
|
73
|
+
# - any arch listed in ARCHES (see below)
|
|
74
|
+
# - any mode listed in MODES
|
|
75
|
+
# - every combination <arch>.<mode>, e.g. "ia32.release"
|
|
76
|
+
# - any of the above with .check appended, e.g. "ia32.release.check"
|
|
77
|
+
# - default (no target specified): build all ARCHES and MODES
|
|
78
|
+
# - "check": build all targets and run all tests
|
|
79
|
+
# - "<arch>.clean" for any <arch> in ARCHES
|
|
80
|
+
# - "clean": clean all ARCHES
|
|
81
|
+
|
|
82
|
+
# ----------------- internal stuff ------------------------
|
|
83
|
+
|
|
84
|
+
# Architectures and modes to be compiled. Consider these to be internal
|
|
85
|
+
# variables, don't override them (use the targets instead).
|
|
86
|
+
ARCHES = ia32 x64 arm
|
|
87
|
+
MODES = release debug
|
|
88
|
+
|
|
89
|
+
# List of files that trigger Makefile regeneration:
|
|
90
|
+
GYPFILES = build/all.gyp build/common.gypi build/standalone.gypi \
|
|
91
|
+
preparser/preparser.gyp samples/samples.gyp src/d8.gyp \
|
|
92
|
+
test/cctest/cctest.gyp tools/gyp/v8.gyp
|
|
93
|
+
|
|
94
|
+
# Generates all combinations of ARCHES and MODES, e.g. "ia32.release".
|
|
95
|
+
BUILDS = $(foreach mode,$(MODES),$(addsuffix .$(mode),$(ARCHES)))
|
|
96
|
+
# Generates corresponding test targets, e.g. "ia32.release.check".
|
|
97
|
+
CHECKS = $(addsuffix .check,$(BUILDS))
|
|
98
|
+
# File where previously used GYPFLAGS are stored.
|
|
99
|
+
ENVFILE = $(OUTDIR)/environment
|
|
100
|
+
|
|
101
|
+
.PHONY: all clean $(ENVFILE).new \
|
|
102
|
+
$(ARCHES) $(MODES) $(BUILDS) $(addsuffix .clean,$(ARCHES))
|
|
103
|
+
|
|
104
|
+
# Target definitions. "all" is the default.
|
|
105
|
+
all: $(MODES)
|
|
106
|
+
|
|
107
|
+
# Compile targets. MODES and ARCHES are convenience targets.
|
|
108
|
+
.SECONDEXPANSION:
|
|
109
|
+
$(MODES): $(addsuffix .$$@,$(ARCHES))
|
|
110
|
+
|
|
111
|
+
$(ARCHES): $(addprefix $$@.,$(MODES))
|
|
112
|
+
|
|
113
|
+
# Defines how to build a particular target (e.g. ia32.release).
|
|
114
|
+
$(BUILDS): $(OUTDIR)/Makefile-$$(basename $$@)
|
|
115
|
+
@$(MAKE) -C "$(OUTDIR)" -f Makefile-$(basename $@) \
|
|
116
|
+
CXX="$(CXX)" LINK="$(LINK)" \
|
|
117
|
+
BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
|
|
118
|
+
python -c "print raw_input().capitalize()") \
|
|
119
|
+
builddir="$(shell pwd)/$(OUTDIR)/$@"
|
|
120
|
+
|
|
121
|
+
# Test targets.
|
|
122
|
+
check: all
|
|
123
|
+
@tools/test-wrapper-gypbuild.py $(TESTJOBS) --outdir=$(OUTDIR)
|
|
124
|
+
|
|
125
|
+
$(addsuffix .check,$(MODES)): $$(basename $$@)
|
|
126
|
+
@tools/test-wrapper-gypbuild.py $(TESTJOBS) --outdir=$(OUTDIR) \
|
|
127
|
+
--mode=$(basename $@)
|
|
128
|
+
|
|
129
|
+
$(addsuffix .check,$(ARCHES)): $$(basename $$@)
|
|
130
|
+
@tools/test-wrapper-gypbuild.py $(TESTJOBS) --outdir=$(OUTDIR) \
|
|
131
|
+
--arch=$(basename $@)
|
|
132
|
+
|
|
133
|
+
$(CHECKS): $$(basename $$@)
|
|
134
|
+
@tools/test-wrapper-gypbuild.py $(TESTJOBS) --outdir=$(OUTDIR) \
|
|
135
|
+
--arch-and-mode=$(basename $@)
|
|
136
|
+
|
|
137
|
+
# Clean targets. You can clean each architecture individually, or everything.
|
|
138
|
+
$(addsuffix .clean,$(ARCHES)):
|
|
139
|
+
rm -f $(OUTDIR)/Makefile-$(basename $@)
|
|
140
|
+
rm -rf $(OUTDIR)/$(basename $@).release
|
|
141
|
+
rm -rf $(OUTDIR)/$(basename $@).debug
|
|
142
|
+
find $(OUTDIR) -regex '.*\(host\|target\)-$(basename $@)\.mk' -delete
|
|
143
|
+
|
|
144
|
+
clean: $(addsuffix .clean,$(ARCHES))
|
|
145
|
+
|
|
146
|
+
# GYP file generation targets.
|
|
147
|
+
$(OUTDIR)/Makefile-ia32: $(GYPFILES) $(ENVFILE)
|
|
148
|
+
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
|
|
149
|
+
-Ibuild/standalone.gypi --depth=. -Dtarget_arch=ia32 \
|
|
150
|
+
-S-ia32 $(GYPFLAGS)
|
|
151
|
+
|
|
152
|
+
$(OUTDIR)/Makefile-x64: $(GYPFILES) $(ENVFILE)
|
|
153
|
+
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
|
|
154
|
+
-Ibuild/standalone.gypi --depth=. -Dtarget_arch=x64 \
|
|
155
|
+
-S-x64 $(GYPFLAGS)
|
|
156
|
+
|
|
157
|
+
$(OUTDIR)/Makefile-arm: $(GYPFILES) $(ENVFILE)
|
|
158
|
+
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
|
|
159
|
+
-Ibuild/standalone.gypi --depth=. -Ibuild/armu.gypi \
|
|
160
|
+
-S-arm $(GYPFLAGS)
|
|
161
|
+
|
|
162
|
+
# Replaces the old with the new environment file if they're different, which
|
|
163
|
+
# will trigger GYP to regenerate Makefiles.
|
|
164
|
+
$(ENVFILE): $(ENVFILE).new
|
|
165
|
+
@if test -r $(ENVFILE) && cmp $(ENVFILE).new $(ENVFILE) >/dev/null; \
|
|
166
|
+
then rm $(ENVFILE).new; \
|
|
167
|
+
else mv $(ENVFILE).new $(ENVFILE); fi
|
|
168
|
+
|
|
169
|
+
# Stores current GYPFLAGS in a file.
|
|
170
|
+
$(ENVFILE).new:
|
|
171
|
+
@mkdir -p $(OUTDIR); echo "GYPFLAGS=$(GYPFLAGS)" > $(ENVFILE).new;
|
data/lib/libv8/v8/SConstruct
CHANGED
|
@@ -60,26 +60,17 @@ LIBRARY_FLAGS = {
|
|
|
60
60
|
'mode:debug': {
|
|
61
61
|
'CPPDEFINES': ['V8_ENABLE_CHECKS', 'OBJECT_PRINT']
|
|
62
62
|
},
|
|
63
|
-
'vmstate:on': {
|
|
64
|
-
'CPPDEFINES': ['ENABLE_VMSTATE_TRACKING'],
|
|
65
|
-
},
|
|
66
63
|
'objectprint:on': {
|
|
67
64
|
'CPPDEFINES': ['OBJECT_PRINT'],
|
|
68
65
|
},
|
|
69
|
-
'protectheap:on': {
|
|
70
|
-
'CPPDEFINES': ['ENABLE_VMSTATE_TRACKING', 'ENABLE_HEAP_PROTECTION'],
|
|
71
|
-
},
|
|
72
|
-
'profilingsupport:on': {
|
|
73
|
-
'CPPDEFINES': ['ENABLE_VMSTATE_TRACKING', 'ENABLE_LOGGING_AND_PROFILING'],
|
|
74
|
-
},
|
|
75
66
|
'debuggersupport:on': {
|
|
76
67
|
'CPPDEFINES': ['ENABLE_DEBUGGER_SUPPORT'],
|
|
77
68
|
},
|
|
78
69
|
'inspector:on': {
|
|
79
70
|
'CPPDEFINES': ['INSPECTOR'],
|
|
80
71
|
},
|
|
81
|
-
'fasttls:
|
|
82
|
-
'CPPDEFINES': ['
|
|
72
|
+
'fasttls:off': {
|
|
73
|
+
'CPPDEFINES': ['V8_NO_FAST_TLS'],
|
|
83
74
|
},
|
|
84
75
|
'liveobjectlist:on': {
|
|
85
76
|
'CPPDEFINES': ['ENABLE_DEBUGGER_SUPPORT', 'INSPECTOR',
|
|
@@ -89,7 +80,7 @@ LIBRARY_FLAGS = {
|
|
|
89
80
|
'gcc': {
|
|
90
81
|
'all': {
|
|
91
82
|
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
|
92
|
-
'CXXFLAGS': ['
|
|
83
|
+
'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
|
93
84
|
},
|
|
94
85
|
'visibility:hidden': {
|
|
95
86
|
# Use visibility=default to disable this.
|
|
@@ -162,13 +153,19 @@ LIBRARY_FLAGS = {
|
|
|
162
153
|
}
|
|
163
154
|
},
|
|
164
155
|
'armeabi:softfp' : {
|
|
165
|
-
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0'
|
|
156
|
+
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0'],
|
|
157
|
+
'vfp3:on': {
|
|
158
|
+
'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
|
|
159
|
+
},
|
|
166
160
|
'simulator:none': {
|
|
167
161
|
'CCFLAGS': ['-mfloat-abi=softfp'],
|
|
168
162
|
}
|
|
169
163
|
},
|
|
170
164
|
'armeabi:hard' : {
|
|
171
|
-
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=1'
|
|
165
|
+
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=1'],
|
|
166
|
+
'vfp3:on': {
|
|
167
|
+
'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
|
|
168
|
+
},
|
|
172
169
|
'simulator:none': {
|
|
173
170
|
'CCFLAGS': ['-mfloat-abi=hard'],
|
|
174
171
|
}
|
|
@@ -230,7 +227,7 @@ LIBRARY_FLAGS = {
|
|
|
230
227
|
'msvc': {
|
|
231
228
|
'all': {
|
|
232
229
|
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
|
233
|
-
'CXXFLAGS': ['
|
|
230
|
+
'CXXFLAGS': ['/GR-', '/Gy'],
|
|
234
231
|
'CPPDEFINES': ['WIN32'],
|
|
235
232
|
'LINKFLAGS': ['/INCREMENTAL:NO', '/NXCOMPAT', '/IGNORE:4221'],
|
|
236
233
|
'CCPDBFLAGS': ['/Zi']
|
|
@@ -400,16 +397,20 @@ DTOA_EXTRA_FLAGS = {
|
|
|
400
397
|
CCTEST_EXTRA_FLAGS = {
|
|
401
398
|
'all': {
|
|
402
399
|
'CPPPATH': [join(root_dir, 'src')],
|
|
400
|
+
'library:shared': {
|
|
401
|
+
'CPPDEFINES': ['USING_V8_SHARED']
|
|
402
|
+
},
|
|
403
403
|
},
|
|
404
404
|
'gcc': {
|
|
405
405
|
'all': {
|
|
406
406
|
'LIBPATH': [abspath('.')],
|
|
407
407
|
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
|
408
|
-
'CXXFLAGS': ['
|
|
408
|
+
'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
|
409
409
|
'LINKFLAGS': ['$CCFLAGS'],
|
|
410
410
|
},
|
|
411
411
|
'os:linux': {
|
|
412
412
|
'LIBS': ['pthread'],
|
|
413
|
+
'CCFLAGS': ['-Wno-unused-but-set-variable'],
|
|
413
414
|
},
|
|
414
415
|
'os:macos': {
|
|
415
416
|
'LIBS': ['pthread'],
|
|
@@ -436,15 +437,12 @@ CCTEST_EXTRA_FLAGS = {
|
|
|
436
437
|
'CPPDEFINES': ['_HAS_EXCEPTIONS=0'],
|
|
437
438
|
'LIBS': ['winmm', 'ws2_32']
|
|
438
439
|
},
|
|
439
|
-
'library:shared': {
|
|
440
|
-
'CPPDEFINES': ['USING_V8_SHARED']
|
|
441
|
-
},
|
|
442
440
|
'arch:ia32': {
|
|
443
441
|
'CPPDEFINES': ['V8_TARGET_ARCH_IA32']
|
|
444
442
|
},
|
|
445
443
|
'arch:x64': {
|
|
446
444
|
'CPPDEFINES': ['V8_TARGET_ARCH_X64'],
|
|
447
|
-
'LINKFLAGS': ['/STACK:
|
|
445
|
+
'LINKFLAGS': ['/STACK:2097152']
|
|
448
446
|
},
|
|
449
447
|
}
|
|
450
448
|
}
|
|
@@ -453,12 +451,15 @@ CCTEST_EXTRA_FLAGS = {
|
|
|
453
451
|
SAMPLE_FLAGS = {
|
|
454
452
|
'all': {
|
|
455
453
|
'CPPPATH': [join(abspath('.'), 'include')],
|
|
454
|
+
'library:shared': {
|
|
455
|
+
'CPPDEFINES': ['USING_V8_SHARED']
|
|
456
|
+
},
|
|
456
457
|
},
|
|
457
458
|
'gcc': {
|
|
458
459
|
'all': {
|
|
459
460
|
'LIBPATH': ['.'],
|
|
460
461
|
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
|
461
|
-
'CXXFLAGS': ['
|
|
462
|
+
'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
|
462
463
|
'LINKFLAGS': ['$CCFLAGS'],
|
|
463
464
|
},
|
|
464
465
|
'os:linux': {
|
|
@@ -472,6 +473,9 @@ SAMPLE_FLAGS = {
|
|
|
472
473
|
'LIBS': ['execinfo', 'pthread']
|
|
473
474
|
},
|
|
474
475
|
'os:solaris': {
|
|
476
|
+
# On Solaris, to get isinf, INFINITY, fpclassify and other macros one
|
|
477
|
+
# needs to define __C99FEATURES__.
|
|
478
|
+
'CPPDEFINES': ['__C99FEATURES__'],
|
|
475
479
|
'LIBPATH' : ['/usr/local/lib'],
|
|
476
480
|
'LIBS': ['m', 'pthread', 'socket', 'nsl', 'rt'],
|
|
477
481
|
'LINKFLAGS': ['-mt']
|
|
@@ -498,7 +502,10 @@ SAMPLE_FLAGS = {
|
|
|
498
502
|
}
|
|
499
503
|
},
|
|
500
504
|
'armeabi:hard' : {
|
|
501
|
-
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=1'
|
|
505
|
+
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=1'],
|
|
506
|
+
'vfp3:on': {
|
|
507
|
+
'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
|
|
508
|
+
},
|
|
502
509
|
'simulator:none': {
|
|
503
510
|
'CCFLAGS': ['-mfloat-abi=hard'],
|
|
504
511
|
}
|
|
@@ -572,9 +579,6 @@ SAMPLE_FLAGS = {
|
|
|
572
579
|
'verbose:on': {
|
|
573
580
|
'LINKFLAGS': ['/VERBOSE']
|
|
574
581
|
},
|
|
575
|
-
'library:shared': {
|
|
576
|
-
'CPPDEFINES': ['USING_V8_SHARED']
|
|
577
|
-
},
|
|
578
582
|
'prof:on': {
|
|
579
583
|
'LINKFLAGS': ['/MAP']
|
|
580
584
|
},
|
|
@@ -606,7 +610,7 @@ SAMPLE_FLAGS = {
|
|
|
606
610
|
},
|
|
607
611
|
'arch:x64': {
|
|
608
612
|
'CPPDEFINES': ['V8_TARGET_ARCH_X64', 'WIN32'],
|
|
609
|
-
'LINKFLAGS': ['/MACHINE:X64', '/STACK:
|
|
613
|
+
'LINKFLAGS': ['/MACHINE:X64', '/STACK:2097152']
|
|
610
614
|
},
|
|
611
615
|
'mode:debug': {
|
|
612
616
|
'CCFLAGS': ['/Od'],
|
|
@@ -625,13 +629,16 @@ SAMPLE_FLAGS = {
|
|
|
625
629
|
|
|
626
630
|
PREPARSER_FLAGS = {
|
|
627
631
|
'all': {
|
|
628
|
-
'CPPPATH': [join(abspath('.'), 'include'), join(abspath('.'), 'src')]
|
|
632
|
+
'CPPPATH': [join(abspath('.'), 'include'), join(abspath('.'), 'src')],
|
|
633
|
+
'library:shared': {
|
|
634
|
+
'CPPDEFINES': ['USING_V8_SHARED']
|
|
635
|
+
},
|
|
629
636
|
},
|
|
630
637
|
'gcc': {
|
|
631
638
|
'all': {
|
|
632
639
|
'LIBPATH': ['.'],
|
|
633
640
|
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
|
634
|
-
'CXXFLAGS': ['
|
|
641
|
+
'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
|
635
642
|
'LINKFLAGS': ['$CCFLAGS'],
|
|
636
643
|
},
|
|
637
644
|
'os:win32': {
|
|
@@ -712,6 +719,9 @@ PREPARSER_FLAGS = {
|
|
|
712
719
|
'CCFLAGS': ['-g', '-O0'],
|
|
713
720
|
'CPPDEFINES': ['DEBUG']
|
|
714
721
|
},
|
|
722
|
+
'os:freebsd': {
|
|
723
|
+
'LIBPATH' : ['/usr/local/lib'],
|
|
724
|
+
},
|
|
715
725
|
},
|
|
716
726
|
'msvc': {
|
|
717
727
|
'all': {
|
|
@@ -724,9 +734,6 @@ PREPARSER_FLAGS = {
|
|
|
724
734
|
'verbose:on': {
|
|
725
735
|
'LINKFLAGS': ['/VERBOSE']
|
|
726
736
|
},
|
|
727
|
-
'library:shared': {
|
|
728
|
-
'CPPDEFINES': ['USING_V8_SHARED']
|
|
729
|
-
},
|
|
730
737
|
'prof:on': {
|
|
731
738
|
'LINKFLAGS': ['/MAP']
|
|
732
739
|
},
|
|
@@ -758,7 +765,7 @@ PREPARSER_FLAGS = {
|
|
|
758
765
|
},
|
|
759
766
|
'arch:x64': {
|
|
760
767
|
'CPPDEFINES': ['V8_TARGET_ARCH_X64', 'WIN32'],
|
|
761
|
-
'LINKFLAGS': ['/MACHINE:X64', '/STACK:
|
|
768
|
+
'LINKFLAGS': ['/MACHINE:X64', '/STACK:2097152']
|
|
762
769
|
},
|
|
763
770
|
'mode:debug': {
|
|
764
771
|
'CCFLAGS': ['/Od'],
|
|
@@ -776,10 +783,17 @@ PREPARSER_FLAGS = {
|
|
|
776
783
|
|
|
777
784
|
|
|
778
785
|
D8_FLAGS = {
|
|
786
|
+
'all': {
|
|
787
|
+
'library:shared': {
|
|
788
|
+
'CPPDEFINES': ['V8_SHARED'],
|
|
789
|
+
'LIBS': ['v8'],
|
|
790
|
+
'LIBPATH': ['.']
|
|
791
|
+
},
|
|
792
|
+
},
|
|
779
793
|
'gcc': {
|
|
780
794
|
'all': {
|
|
781
795
|
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
|
782
|
-
'CXXFLAGS': ['
|
|
796
|
+
'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
|
783
797
|
'LINKFLAGS': ['$CCFLAGS'],
|
|
784
798
|
},
|
|
785
799
|
'console:readline': {
|
|
@@ -807,10 +821,67 @@ D8_FLAGS = {
|
|
|
807
821
|
'arch:arm': {
|
|
808
822
|
'LINKFLAGS': ARM_LINK_FLAGS
|
|
809
823
|
},
|
|
824
|
+
'compress_startup_data:bz2': {
|
|
825
|
+
'CPPDEFINES': ['COMPRESS_STARTUP_DATA_BZ2'],
|
|
826
|
+
'os:linux': {
|
|
827
|
+
'LIBS': ['bz2']
|
|
828
|
+
}
|
|
829
|
+
}
|
|
810
830
|
},
|
|
811
831
|
'msvc': {
|
|
812
832
|
'all': {
|
|
813
833
|
'LIBS': ['winmm', 'ws2_32']
|
|
834
|
+
},
|
|
835
|
+
'verbose:off': {
|
|
836
|
+
'CCFLAGS': ['/nologo'],
|
|
837
|
+
'LINKFLAGS': ['/NOLOGO']
|
|
838
|
+
},
|
|
839
|
+
'verbose:on': {
|
|
840
|
+
'LINKFLAGS': ['/VERBOSE']
|
|
841
|
+
},
|
|
842
|
+
'prof:on': {
|
|
843
|
+
'LINKFLAGS': ['/MAP']
|
|
844
|
+
},
|
|
845
|
+
'mode:release': {
|
|
846
|
+
'CCFLAGS': ['/O2'],
|
|
847
|
+
'LINKFLAGS': ['/OPT:REF', '/OPT:ICF'],
|
|
848
|
+
'msvcrt:static': {
|
|
849
|
+
'CCFLAGS': ['/MT']
|
|
850
|
+
},
|
|
851
|
+
'msvcrt:shared': {
|
|
852
|
+
'CCFLAGS': ['/MD']
|
|
853
|
+
},
|
|
854
|
+
'msvcltcg:on': {
|
|
855
|
+
'CCFLAGS': ['/GL'],
|
|
856
|
+
'pgo:off': {
|
|
857
|
+
'LINKFLAGS': ['/LTCG'],
|
|
858
|
+
},
|
|
859
|
+
},
|
|
860
|
+
'pgo:instrument': {
|
|
861
|
+
'LINKFLAGS': ['/LTCG:PGI']
|
|
862
|
+
},
|
|
863
|
+
'pgo:optimize': {
|
|
864
|
+
'LINKFLAGS': ['/LTCG:PGO']
|
|
865
|
+
}
|
|
866
|
+
},
|
|
867
|
+
'arch:ia32': {
|
|
868
|
+
'CPPDEFINES': ['V8_TARGET_ARCH_IA32', 'WIN32'],
|
|
869
|
+
'LINKFLAGS': ['/MACHINE:X86']
|
|
870
|
+
},
|
|
871
|
+
'arch:x64': {
|
|
872
|
+
'CPPDEFINES': ['V8_TARGET_ARCH_X64', 'WIN32'],
|
|
873
|
+
'LINKFLAGS': ['/MACHINE:X64', '/STACK:2097152']
|
|
874
|
+
},
|
|
875
|
+
'mode:debug': {
|
|
876
|
+
'CCFLAGS': ['/Od'],
|
|
877
|
+
'LINKFLAGS': ['/DEBUG'],
|
|
878
|
+
'CPPDEFINES': ['DEBUG'],
|
|
879
|
+
'msvcrt:static': {
|
|
880
|
+
'CCFLAGS': ['/MTd']
|
|
881
|
+
},
|
|
882
|
+
'msvcrt:shared': {
|
|
883
|
+
'CCFLAGS': ['/MDd']
|
|
884
|
+
}
|
|
814
885
|
}
|
|
815
886
|
}
|
|
816
887
|
}
|
|
@@ -917,21 +988,11 @@ SIMPLE_OPTIONS = {
|
|
|
917
988
|
'default': 'static',
|
|
918
989
|
'help': 'the type of library to produce'
|
|
919
990
|
},
|
|
920
|
-
'vmstate': {
|
|
921
|
-
'values': ['on', 'off'],
|
|
922
|
-
'default': 'off',
|
|
923
|
-
'help': 'enable VM state tracking'
|
|
924
|
-
},
|
|
925
991
|
'objectprint': {
|
|
926
992
|
'values': ['on', 'off'],
|
|
927
993
|
'default': 'off',
|
|
928
994
|
'help': 'enable object printing'
|
|
929
995
|
},
|
|
930
|
-
'protectheap': {
|
|
931
|
-
'values': ['on', 'off'],
|
|
932
|
-
'default': 'off',
|
|
933
|
-
'help': 'enable heap protection'
|
|
934
|
-
},
|
|
935
996
|
'profilingsupport': {
|
|
936
997
|
'values': ['on', 'off'],
|
|
937
998
|
'default': 'on',
|
|
@@ -1038,6 +1099,12 @@ SIMPLE_OPTIONS = {
|
|
|
1038
1099
|
'default': 'off',
|
|
1039
1100
|
'help': 'compress startup data (snapshot) [Linux only]'
|
|
1040
1101
|
},
|
|
1102
|
+
'vfp3': {
|
|
1103
|
+
'values': ['on', 'off'],
|
|
1104
|
+
'default': 'on',
|
|
1105
|
+
'help': 'use vfp3 instructions when building the snapshot [Arm only]'
|
|
1106
|
+
},
|
|
1107
|
+
|
|
1041
1108
|
}
|
|
1042
1109
|
|
|
1043
1110
|
ALL_OPTIONS = dict(PLATFORM_OPTIONS, **SIMPLE_OPTIONS)
|
|
@@ -1146,8 +1213,8 @@ def VerifyOptions(env):
|
|
|
1146
1213
|
return False
|
|
1147
1214
|
if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on':
|
|
1148
1215
|
Abort("Profiling on windows only supported for static library.")
|
|
1149
|
-
if env['gdbjit'] == 'on' and (env['os'] != 'linux' or (env['arch'] != 'ia32' and env['arch'] != 'x64' and env['arch'] != 'arm')):
|
|
1150
|
-
Abort("GDBJIT interface is supported only for Intel-compatible (ia32 or x64) Linux target.")
|
|
1216
|
+
if env['gdbjit'] == 'on' and ((env['os'] != 'linux' and env['os'] != 'macos') or (env['arch'] != 'ia32' and env['arch'] != 'x64' and env['arch'] != 'arm')):
|
|
1217
|
+
Abort("GDBJIT interface is supported only for Intel-compatible (ia32 or x64) Linux/OSX target.")
|
|
1151
1218
|
if env['os'] == 'win32' and env['soname'] == 'on':
|
|
1152
1219
|
Abort("Shared Object soname not applicable for Windows.")
|
|
1153
1220
|
if env['soname'] == 'on' and env['library'] == 'static':
|
|
@@ -1342,10 +1409,12 @@ def BuildSpecific(env, mode, env_overrides, tools):
|
|
|
1342
1409
|
env['SONAME'] = soname
|
|
1343
1410
|
|
|
1344
1411
|
# Build the object files by invoking SCons recursively.
|
|
1412
|
+
d8_env = Environment(tools=tools)
|
|
1413
|
+
d8_env.Replace(**context.flags['d8'])
|
|
1345
1414
|
(object_files, shell_files, mksnapshot, preparser_files) = env.SConscript(
|
|
1346
1415
|
join('src', 'SConscript'),
|
|
1347
1416
|
build_dir=join('obj', target_id),
|
|
1348
|
-
exports='context tools',
|
|
1417
|
+
exports='context tools d8_env',
|
|
1349
1418
|
duplicate=False
|
|
1350
1419
|
)
|
|
1351
1420
|
|
|
@@ -1366,16 +1435,20 @@ def BuildSpecific(env, mode, env_overrides, tools):
|
|
|
1366
1435
|
pdb_name = library_name + '.dll.pdb'
|
|
1367
1436
|
library = env.SharedLibrary(library_name, object_files, PDB=pdb_name)
|
|
1368
1437
|
preparser_pdb_name = preparser_library_name + '.dll.pdb';
|
|
1438
|
+
preparser_soname = 'lib' + preparser_library_name + '.so';
|
|
1369
1439
|
preparser_library = env.SharedLibrary(preparser_library_name,
|
|
1370
1440
|
preparser_files,
|
|
1371
|
-
PDB=preparser_pdb_name
|
|
1441
|
+
PDB=preparser_pdb_name,
|
|
1442
|
+
SONAME=preparser_soname)
|
|
1372
1443
|
context.library_targets.append(library)
|
|
1373
1444
|
context.library_targets.append(preparser_library)
|
|
1374
1445
|
|
|
1375
|
-
d8_env = Environment(tools=tools)
|
|
1376
|
-
d8_env.Replace(**context.flags['d8'])
|
|
1377
1446
|
context.ApplyEnvOverrides(d8_env)
|
|
1378
|
-
|
|
1447
|
+
if context.options['library'] == 'static':
|
|
1448
|
+
shell = d8_env.Program('d8' + suffix, object_files + shell_files)
|
|
1449
|
+
else:
|
|
1450
|
+
shell = d8_env.Program('d8' + suffix, shell_files)
|
|
1451
|
+
d8_env.Depends(shell, library)
|
|
1379
1452
|
context.d8_targets.append(shell)
|
|
1380
1453
|
|
|
1381
1454
|
for sample in context.samples:
|
|
@@ -1411,7 +1484,7 @@ def BuildSpecific(env, mode, env_overrides, tools):
|
|
|
1411
1484
|
preparser_object = preparser_env.SConscript(
|
|
1412
1485
|
join('preparser', 'SConscript'),
|
|
1413
1486
|
build_dir=join('obj', 'preparser', target_id),
|
|
1414
|
-
exports='context',
|
|
1487
|
+
exports='context tools',
|
|
1415
1488
|
duplicate=False
|
|
1416
1489
|
)
|
|
1417
1490
|
preparser_name = join('obj', 'preparser', target_id, 'preparser')
|