therubyracer 0.9.0beta4 → 0.9.0beta5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of therubyracer might be problematic. Click here for more details.
- data/.gitignore +1 -0
- data/Rakefile +0 -11
- data/ext/v8/extconf.rb +9 -9
- data/ext/v8/v8_external.cpp +40 -10
- data/lib/v8/cli.rb +2 -1
- data/lib/v8/version.rb +1 -1
- data/spec/redjs/.gitignore +1 -0
- data/therubyracer.gemspec +2 -3
- metadata +33 -779
- data/ext/v8/upstream/Makefile +0 -38
- data/ext/v8/upstream/detect_cpu.rb +0 -27
- data/ext/v8/upstream/fpic-on-linux-amd64.patch +0 -13
- data/ext/v8/upstream/scons/CHANGES.txt +0 -5183
- data/ext/v8/upstream/scons/LICENSE.txt +0 -20
- data/ext/v8/upstream/scons/MANIFEST +0 -202
- data/ext/v8/upstream/scons/PKG-INFO +0 -13
- data/ext/v8/upstream/scons/README.txt +0 -273
- data/ext/v8/upstream/scons/RELEASE.txt +0 -1040
- data/ext/v8/upstream/scons/engine/SCons/Action.py +0 -1256
- data/ext/v8/upstream/scons/engine/SCons/Builder.py +0 -868
- data/ext/v8/upstream/scons/engine/SCons/CacheDir.py +0 -217
- data/ext/v8/upstream/scons/engine/SCons/Conftest.py +0 -794
- data/ext/v8/upstream/scons/engine/SCons/Debug.py +0 -237
- data/ext/v8/upstream/scons/engine/SCons/Defaults.py +0 -485
- data/ext/v8/upstream/scons/engine/SCons/Environment.py +0 -2327
- data/ext/v8/upstream/scons/engine/SCons/Errors.py +0 -207
- data/ext/v8/upstream/scons/engine/SCons/Executor.py +0 -636
- data/ext/v8/upstream/scons/engine/SCons/Job.py +0 -435
- data/ext/v8/upstream/scons/engine/SCons/Memoize.py +0 -292
- data/ext/v8/upstream/scons/engine/SCons/Node/Alias.py +0 -153
- data/ext/v8/upstream/scons/engine/SCons/Node/FS.py +0 -3220
- data/ext/v8/upstream/scons/engine/SCons/Node/Python.py +0 -128
- data/ext/v8/upstream/scons/engine/SCons/Node/__init__.py +0 -1341
- data/ext/v8/upstream/scons/engine/SCons/Options/BoolOption.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Options/EnumOption.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Options/ListOption.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Options/PackageOption.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Options/PathOption.py +0 -76
- data/ext/v8/upstream/scons/engine/SCons/Options/__init__.py +0 -74
- data/ext/v8/upstream/scons/engine/SCons/PathList.py +0 -232
- data/ext/v8/upstream/scons/engine/SCons/Platform/__init__.py +0 -236
- data/ext/v8/upstream/scons/engine/SCons/Platform/aix.py +0 -70
- data/ext/v8/upstream/scons/engine/SCons/Platform/cygwin.py +0 -55
- data/ext/v8/upstream/scons/engine/SCons/Platform/darwin.py +0 -46
- data/ext/v8/upstream/scons/engine/SCons/Platform/hpux.py +0 -46
- data/ext/v8/upstream/scons/engine/SCons/Platform/irix.py +0 -44
- data/ext/v8/upstream/scons/engine/SCons/Platform/os2.py +0 -58
- data/ext/v8/upstream/scons/engine/SCons/Platform/posix.py +0 -264
- data/ext/v8/upstream/scons/engine/SCons/Platform/sunos.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Platform/win32.py +0 -386
- data/ext/v8/upstream/scons/engine/SCons/SConf.py +0 -1038
- data/ext/v8/upstream/scons/engine/SCons/SConsign.py +0 -381
- data/ext/v8/upstream/scons/engine/SCons/Scanner/C.py +0 -132
- data/ext/v8/upstream/scons/engine/SCons/Scanner/D.py +0 -74
- data/ext/v8/upstream/scons/engine/SCons/Scanner/Dir.py +0 -111
- data/ext/v8/upstream/scons/engine/SCons/Scanner/Fortran.py +0 -320
- data/ext/v8/upstream/scons/engine/SCons/Scanner/IDL.py +0 -48
- data/ext/v8/upstream/scons/engine/SCons/Scanner/LaTeX.py +0 -378
- data/ext/v8/upstream/scons/engine/SCons/Scanner/Prog.py +0 -103
- data/ext/v8/upstream/scons/engine/SCons/Scanner/RC.py +0 -55
- data/ext/v8/upstream/scons/engine/SCons/Scanner/__init__.py +0 -415
- data/ext/v8/upstream/scons/engine/SCons/Script/Interactive.py +0 -386
- data/ext/v8/upstream/scons/engine/SCons/Script/Main.py +0 -1360
- data/ext/v8/upstream/scons/engine/SCons/Script/SConsOptions.py +0 -944
- data/ext/v8/upstream/scons/engine/SCons/Script/SConscript.py +0 -642
- data/ext/v8/upstream/scons/engine/SCons/Script/__init__.py +0 -414
- data/ext/v8/upstream/scons/engine/SCons/Sig.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Subst.py +0 -911
- data/ext/v8/upstream/scons/engine/SCons/Taskmaster.py +0 -1030
- data/ext/v8/upstream/scons/engine/SCons/Tool/386asm.py +0 -61
- data/ext/v8/upstream/scons/engine/SCons/Tool/BitKeeper.py +0 -65
- data/ext/v8/upstream/scons/engine/SCons/Tool/CVS.py +0 -73
- data/ext/v8/upstream/scons/engine/SCons/Tool/FortranCommon.py +0 -247
- data/ext/v8/upstream/scons/engine/SCons/Tool/JavaCommon.py +0 -324
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/__init__.py +0 -56
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/arch.py +0 -61
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/common.py +0 -210
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/netframework.py +0 -84
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/sdk.py +0 -321
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/vc.py +0 -367
- data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/vs.py +0 -497
- data/ext/v8/upstream/scons/engine/SCons/Tool/Perforce.py +0 -104
- data/ext/v8/upstream/scons/engine/SCons/Tool/PharLapCommon.py +0 -138
- data/ext/v8/upstream/scons/engine/SCons/Tool/RCS.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/SCCS.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/Subversion.py +0 -71
- data/ext/v8/upstream/scons/engine/SCons/Tool/__init__.py +0 -675
- data/ext/v8/upstream/scons/engine/SCons/Tool/aixc++.py +0 -82
- data/ext/v8/upstream/scons/engine/SCons/Tool/aixcc.py +0 -74
- data/ext/v8/upstream/scons/engine/SCons/Tool/aixf77.py +0 -80
- data/ext/v8/upstream/scons/engine/SCons/Tool/aixlink.py +0 -76
- data/ext/v8/upstream/scons/engine/SCons/Tool/applelink.py +0 -71
- data/ext/v8/upstream/scons/engine/SCons/Tool/ar.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/as.py +0 -78
- data/ext/v8/upstream/scons/engine/SCons/Tool/bcc32.py +0 -82
- data/ext/v8/upstream/scons/engine/SCons/Tool/c++.py +0 -99
- data/ext/v8/upstream/scons/engine/SCons/Tool/cc.py +0 -114
- data/ext/v8/upstream/scons/engine/SCons/Tool/cvf.py +0 -58
- data/ext/v8/upstream/scons/engine/SCons/Tool/default.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Tool/dmd.py +0 -224
- data/ext/v8/upstream/scons/engine/SCons/Tool/dvi.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/dvipdf.py +0 -125
- data/ext/v8/upstream/scons/engine/SCons/Tool/dvips.py +0 -94
- data/ext/v8/upstream/scons/engine/SCons/Tool/f77.py +0 -62
- data/ext/v8/upstream/scons/engine/SCons/Tool/f90.py +0 -62
- data/ext/v8/upstream/scons/engine/SCons/Tool/f95.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/filesystem.py +0 -98
- data/ext/v8/upstream/scons/engine/SCons/Tool/fortran.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/g++.py +0 -90
- data/ext/v8/upstream/scons/engine/SCons/Tool/g77.py +0 -73
- data/ext/v8/upstream/scons/engine/SCons/Tool/gas.py +0 -53
- data/ext/v8/upstream/scons/engine/SCons/Tool/gcc.py +0 -80
- data/ext/v8/upstream/scons/engine/SCons/Tool/gfortran.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/gnulink.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/gs.py +0 -81
- data/ext/v8/upstream/scons/engine/SCons/Tool/hpc++.py +0 -85
- data/ext/v8/upstream/scons/engine/SCons/Tool/hpcc.py +0 -53
- data/ext/v8/upstream/scons/engine/SCons/Tool/hplink.py +0 -77
- data/ext/v8/upstream/scons/engine/SCons/Tool/icc.py +0 -59
- data/ext/v8/upstream/scons/engine/SCons/Tool/icl.py +0 -52
- data/ext/v8/upstream/scons/engine/SCons/Tool/ifl.py +0 -72
- data/ext/v8/upstream/scons/engine/SCons/Tool/ifort.py +0 -90
- data/ext/v8/upstream/scons/engine/SCons/Tool/ilink.py +0 -59
- data/ext/v8/upstream/scons/engine/SCons/Tool/ilink32.py +0 -60
- data/ext/v8/upstream/scons/engine/SCons/Tool/install.py +0 -229
- data/ext/v8/upstream/scons/engine/SCons/Tool/intelc.py +0 -490
- data/ext/v8/upstream/scons/engine/SCons/Tool/ipkg.py +0 -71
- data/ext/v8/upstream/scons/engine/SCons/Tool/jar.py +0 -110
- data/ext/v8/upstream/scons/engine/SCons/Tool/javac.py +0 -234
- data/ext/v8/upstream/scons/engine/SCons/Tool/javah.py +0 -138
- data/ext/v8/upstream/scons/engine/SCons/Tool/latex.py +0 -79
- data/ext/v8/upstream/scons/engine/SCons/Tool/lex.py +0 -99
- data/ext/v8/upstream/scons/engine/SCons/Tool/link.py +0 -121
- data/ext/v8/upstream/scons/engine/SCons/Tool/linkloc.py +0 -112
- data/ext/v8/upstream/scons/engine/SCons/Tool/m4.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/masm.py +0 -77
- data/ext/v8/upstream/scons/engine/SCons/Tool/midl.py +0 -90
- data/ext/v8/upstream/scons/engine/SCons/Tool/mingw.py +0 -159
- data/ext/v8/upstream/scons/engine/SCons/Tool/mslib.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/mslink.py +0 -266
- data/ext/v8/upstream/scons/engine/SCons/Tool/mssdk.py +0 -50
- data/ext/v8/upstream/scons/engine/SCons/Tool/msvc.py +0 -269
- data/ext/v8/upstream/scons/engine/SCons/Tool/msvs.py +0 -1439
- data/ext/v8/upstream/scons/engine/SCons/Tool/mwcc.py +0 -208
- data/ext/v8/upstream/scons/engine/SCons/Tool/mwld.py +0 -107
- data/ext/v8/upstream/scons/engine/SCons/Tool/nasm.py +0 -72
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/__init__.py +0 -314
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/ipk.py +0 -185
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/msi.py +0 -526
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/rpm.py +0 -367
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_tarbz2.py +0 -43
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_targz.py +0 -43
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_zip.py +0 -43
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/tarbz2.py +0 -44
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/targz.py +0 -44
- data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/zip.py +0 -44
- data/ext/v8/upstream/scons/engine/SCons/Tool/pdf.py +0 -78
- data/ext/v8/upstream/scons/engine/SCons/Tool/pdflatex.py +0 -83
- data/ext/v8/upstream/scons/engine/SCons/Tool/pdftex.py +0 -108
- data/ext/v8/upstream/scons/engine/SCons/Tool/qt.py +0 -336
- data/ext/v8/upstream/scons/engine/SCons/Tool/rmic.py +0 -121
- data/ext/v8/upstream/scons/engine/SCons/Tool/rpcgen.py +0 -70
- data/ext/v8/upstream/scons/engine/SCons/Tool/rpm.py +0 -132
- data/ext/v8/upstream/scons/engine/SCons/Tool/sgiar.py +0 -68
- data/ext/v8/upstream/scons/engine/SCons/Tool/sgic++.py +0 -58
- data/ext/v8/upstream/scons/engine/SCons/Tool/sgicc.py +0 -53
- data/ext/v8/upstream/scons/engine/SCons/Tool/sgilink.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunar.py +0 -67
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunc++.py +0 -142
- data/ext/v8/upstream/scons/engine/SCons/Tool/suncc.py +0 -58
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunf77.py +0 -63
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunf90.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunf95.py +0 -64
- data/ext/v8/upstream/scons/engine/SCons/Tool/sunlink.py +0 -77
- data/ext/v8/upstream/scons/engine/SCons/Tool/swig.py +0 -186
- data/ext/v8/upstream/scons/engine/SCons/Tool/tar.py +0 -73
- data/ext/v8/upstream/scons/engine/SCons/Tool/tex.py +0 -805
- data/ext/v8/upstream/scons/engine/SCons/Tool/textfile.py +0 -175
- data/ext/v8/upstream/scons/engine/SCons/Tool/tlib.py +0 -53
- data/ext/v8/upstream/scons/engine/SCons/Tool/wix.py +0 -100
- data/ext/v8/upstream/scons/engine/SCons/Tool/yacc.py +0 -131
- data/ext/v8/upstream/scons/engine/SCons/Tool/zip.py +0 -100
- data/ext/v8/upstream/scons/engine/SCons/Util.py +0 -1645
- data/ext/v8/upstream/scons/engine/SCons/Variables/BoolVariable.py +0 -91
- data/ext/v8/upstream/scons/engine/SCons/Variables/EnumVariable.py +0 -107
- data/ext/v8/upstream/scons/engine/SCons/Variables/ListVariable.py +0 -139
- data/ext/v8/upstream/scons/engine/SCons/Variables/PackageVariable.py +0 -109
- data/ext/v8/upstream/scons/engine/SCons/Variables/PathVariable.py +0 -147
- data/ext/v8/upstream/scons/engine/SCons/Variables/__init__.py +0 -317
- data/ext/v8/upstream/scons/engine/SCons/Warnings.py +0 -228
- data/ext/v8/upstream/scons/engine/SCons/__init__.py +0 -49
- data/ext/v8/upstream/scons/engine/SCons/compat/__init__.py +0 -302
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_UserString.py +0 -98
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_hashlib.py +0 -91
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_itertools.py +0 -124
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_optparse.py +0 -1725
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_sets.py +0 -583
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_sets15.py +0 -176
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_shlex.py +0 -325
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_subprocess.py +0 -1296
- data/ext/v8/upstream/scons/engine/SCons/compat/_scons_textwrap.py +0 -382
- data/ext/v8/upstream/scons/engine/SCons/compat/builtins.py +0 -187
- data/ext/v8/upstream/scons/engine/SCons/cpp.py +0 -598
- data/ext/v8/upstream/scons/engine/SCons/dblite.py +0 -248
- data/ext/v8/upstream/scons/engine/SCons/exitfuncs.py +0 -77
- data/ext/v8/upstream/scons/os_spawnv_fix.diff +0 -83
- data/ext/v8/upstream/scons/scons-time.1 +0 -1017
- data/ext/v8/upstream/scons/scons.1 +0 -15179
- data/ext/v8/upstream/scons/sconsign.1 +0 -208
- data/ext/v8/upstream/scons/script/scons +0 -184
- data/ext/v8/upstream/scons/script/scons-time +0 -1529
- data/ext/v8/upstream/scons/script/scons.bat +0 -31
- data/ext/v8/upstream/scons/script/sconsign +0 -508
- data/ext/v8/upstream/scons/setup.cfg +0 -6
- data/ext/v8/upstream/scons/setup.py +0 -427
- data/ext/v8/upstream/v8/.gitignore +0 -33
- data/ext/v8/upstream/v8/AUTHORS +0 -42
- data/ext/v8/upstream/v8/ChangeLog +0 -2663
- data/ext/v8/upstream/v8/LICENSE +0 -52
- data/ext/v8/upstream/v8/LICENSE.strongtalk +0 -29
- data/ext/v8/upstream/v8/LICENSE.v8 +0 -26
- data/ext/v8/upstream/v8/LICENSE.valgrind +0 -45
- data/ext/v8/upstream/v8/SConstruct +0 -1473
- data/ext/v8/upstream/v8/build/README.txt +0 -25
- data/ext/v8/upstream/v8/build/all.gyp +0 -18
- data/ext/v8/upstream/v8/build/armu.gypi +0 -32
- data/ext/v8/upstream/v8/build/common.gypi +0 -82
- data/ext/v8/upstream/v8/build/gyp_v8 +0 -145
- data/ext/v8/upstream/v8/include/v8-debug.h +0 -394
- data/ext/v8/upstream/v8/include/v8-preparser.h +0 -116
- data/ext/v8/upstream/v8/include/v8-profiler.h +0 -505
- data/ext/v8/upstream/v8/include/v8-testing.h +0 -104
- data/ext/v8/upstream/v8/include/v8.h +0 -4000
- data/ext/v8/upstream/v8/include/v8stdint.h +0 -53
- data/ext/v8/upstream/v8/preparser/SConscript +0 -38
- data/ext/v8/upstream/v8/preparser/preparser-process.cc +0 -169
- data/ext/v8/upstream/v8/src/SConscript +0 -380
- data/ext/v8/upstream/v8/src/accessors.cc +0 -766
- data/ext/v8/upstream/v8/src/accessors.h +0 -121
- data/ext/v8/upstream/v8/src/allocation-inl.h +0 -49
- data/ext/v8/upstream/v8/src/allocation.cc +0 -122
- data/ext/v8/upstream/v8/src/allocation.h +0 -143
- data/ext/v8/upstream/v8/src/api.cc +0 -5678
- data/ext/v8/upstream/v8/src/api.h +0 -572
- data/ext/v8/upstream/v8/src/apinatives.js +0 -110
- data/ext/v8/upstream/v8/src/apiutils.h +0 -73
- data/ext/v8/upstream/v8/src/arguments.h +0 -116
- data/ext/v8/upstream/v8/src/arm/assembler-arm-inl.h +0 -353
- data/ext/v8/upstream/v8/src/arm/assembler-arm.cc +0 -2877
- data/ext/v8/upstream/v8/src/arm/assembler-arm.h +0 -1382
- data/ext/v8/upstream/v8/src/arm/builtins-arm.cc +0 -1634
- data/ext/v8/upstream/v8/src/arm/code-stubs-arm.cc +0 -6917
- data/ext/v8/upstream/v8/src/arm/code-stubs-arm.h +0 -623
- data/ext/v8/upstream/v8/src/arm/codegen-arm-inl.h +0 -48
- data/ext/v8/upstream/v8/src/arm/codegen-arm.cc +0 -7437
- data/ext/v8/upstream/v8/src/arm/codegen-arm.h +0 -595
- data/ext/v8/upstream/v8/src/arm/constants-arm.cc +0 -152
- data/ext/v8/upstream/v8/src/arm/constants-arm.h +0 -778
- data/ext/v8/upstream/v8/src/arm/cpu-arm.cc +0 -149
- data/ext/v8/upstream/v8/src/arm/debug-arm.cc +0 -317
- data/ext/v8/upstream/v8/src/arm/deoptimizer-arm.cc +0 -737
- data/ext/v8/upstream/v8/src/arm/disasm-arm.cc +0 -1503
- data/ext/v8/upstream/v8/src/arm/frames-arm.cc +0 -45
- data/ext/v8/upstream/v8/src/arm/frames-arm.h +0 -168
- data/ext/v8/upstream/v8/src/arm/full-codegen-arm.cc +0 -4374
- data/ext/v8/upstream/v8/src/arm/ic-arm.cc +0 -1793
- data/ext/v8/upstream/v8/src/arm/jump-target-arm.cc +0 -174
- data/ext/v8/upstream/v8/src/arm/lithium-arm.cc +0 -2120
- data/ext/v8/upstream/v8/src/arm/lithium-arm.h +0 -2179
- data/ext/v8/upstream/v8/src/arm/lithium-codegen-arm.cc +0 -4132
- data/ext/v8/upstream/v8/src/arm/lithium-codegen-arm.h +0 -329
- data/ext/v8/upstream/v8/src/arm/lithium-gap-resolver-arm.cc +0 -305
- data/ext/v8/upstream/v8/src/arm/lithium-gap-resolver-arm.h +0 -84
- data/ext/v8/upstream/v8/src/arm/macro-assembler-arm.cc +0 -2939
- data/ext/v8/upstream/v8/src/arm/macro-assembler-arm.h +0 -1071
- data/ext/v8/upstream/v8/src/arm/regexp-macro-assembler-arm.cc +0 -1287
- data/ext/v8/upstream/v8/src/arm/regexp-macro-assembler-arm.h +0 -253
- data/ext/v8/upstream/v8/src/arm/register-allocator-arm-inl.h +0 -100
- data/ext/v8/upstream/v8/src/arm/register-allocator-arm.cc +0 -63
- data/ext/v8/upstream/v8/src/arm/register-allocator-arm.h +0 -44
- data/ext/v8/upstream/v8/src/arm/simulator-arm.cc +0 -3288
- data/ext/v8/upstream/v8/src/arm/simulator-arm.h +0 -413
- data/ext/v8/upstream/v8/src/arm/stub-cache-arm.cc +0 -4034
- data/ext/v8/upstream/v8/src/arm/virtual-frame-arm-inl.h +0 -59
- data/ext/v8/upstream/v8/src/arm/virtual-frame-arm.cc +0 -843
- data/ext/v8/upstream/v8/src/arm/virtual-frame-arm.h +0 -523
- data/ext/v8/upstream/v8/src/array.js +0 -1249
- data/ext/v8/upstream/v8/src/assembler.cc +0 -1067
- data/ext/v8/upstream/v8/src/assembler.h +0 -823
- data/ext/v8/upstream/v8/src/ast-inl.h +0 -112
- data/ext/v8/upstream/v8/src/ast.cc +0 -1078
- data/ext/v8/upstream/v8/src/ast.h +0 -2234
- data/ext/v8/upstream/v8/src/atomicops.h +0 -167
- data/ext/v8/upstream/v8/src/atomicops_internals_arm_gcc.h +0 -145
- data/ext/v8/upstream/v8/src/atomicops_internals_mips_gcc.h +0 -169
- data/ext/v8/upstream/v8/src/atomicops_internals_x86_gcc.cc +0 -126
- data/ext/v8/upstream/v8/src/atomicops_internals_x86_gcc.h +0 -287
- data/ext/v8/upstream/v8/src/atomicops_internals_x86_macosx.h +0 -301
- data/ext/v8/upstream/v8/src/atomicops_internals_x86_msvc.h +0 -203
- data/ext/v8/upstream/v8/src/bignum-dtoa.cc +0 -655
- data/ext/v8/upstream/v8/src/bignum-dtoa.h +0 -81
- data/ext/v8/upstream/v8/src/bignum.cc +0 -768
- data/ext/v8/upstream/v8/src/bignum.h +0 -140
- data/ext/v8/upstream/v8/src/bootstrapper.cc +0 -2138
- data/ext/v8/upstream/v8/src/bootstrapper.h +0 -185
- data/ext/v8/upstream/v8/src/builtins.cc +0 -1708
- data/ext/v8/upstream/v8/src/builtins.h +0 -368
- data/ext/v8/upstream/v8/src/bytecodes-irregexp.h +0 -105
- data/ext/v8/upstream/v8/src/cached-powers.cc +0 -177
- data/ext/v8/upstream/v8/src/cached-powers.h +0 -65
- data/ext/v8/upstream/v8/src/char-predicates-inl.h +0 -94
- data/ext/v8/upstream/v8/src/char-predicates.h +0 -65
- data/ext/v8/upstream/v8/src/checks.cc +0 -110
- data/ext/v8/upstream/v8/src/checks.h +0 -296
- data/ext/v8/upstream/v8/src/circular-queue-inl.h +0 -53
- data/ext/v8/upstream/v8/src/circular-queue.cc +0 -122
- data/ext/v8/upstream/v8/src/circular-queue.h +0 -103
- data/ext/v8/upstream/v8/src/code-stubs.cc +0 -240
- data/ext/v8/upstream/v8/src/code-stubs.h +0 -971
- data/ext/v8/upstream/v8/src/code.h +0 -68
- data/ext/v8/upstream/v8/src/codegen-inl.h +0 -68
- data/ext/v8/upstream/v8/src/codegen.cc +0 -505
- data/ext/v8/upstream/v8/src/codegen.h +0 -245
- data/ext/v8/upstream/v8/src/compilation-cache.cc +0 -540
- data/ext/v8/upstream/v8/src/compilation-cache.h +0 -287
- data/ext/v8/upstream/v8/src/compiler.cc +0 -792
- data/ext/v8/upstream/v8/src/compiler.h +0 -307
- data/ext/v8/upstream/v8/src/contexts.cc +0 -327
- data/ext/v8/upstream/v8/src/contexts.h +0 -382
- data/ext/v8/upstream/v8/src/conversions-inl.h +0 -110
- data/ext/v8/upstream/v8/src/conversions.cc +0 -1125
- data/ext/v8/upstream/v8/src/conversions.h +0 -122
- data/ext/v8/upstream/v8/src/counters.cc +0 -93
- data/ext/v8/upstream/v8/src/counters.h +0 -254
- data/ext/v8/upstream/v8/src/cpu-profiler-inl.h +0 -101
- data/ext/v8/upstream/v8/src/cpu-profiler.cc +0 -606
- data/ext/v8/upstream/v8/src/cpu-profiler.h +0 -305
- data/ext/v8/upstream/v8/src/cpu.h +0 -67
- data/ext/v8/upstream/v8/src/d8-debug.cc +0 -367
- data/ext/v8/upstream/v8/src/d8-debug.h +0 -158
- data/ext/v8/upstream/v8/src/d8-posix.cc +0 -695
- data/ext/v8/upstream/v8/src/d8-readline.cc +0 -128
- data/ext/v8/upstream/v8/src/d8-windows.cc +0 -42
- data/ext/v8/upstream/v8/src/d8.cc +0 -796
- data/ext/v8/upstream/v8/src/d8.gyp +0 -88
- data/ext/v8/upstream/v8/src/d8.h +0 -231
- data/ext/v8/upstream/v8/src/d8.js +0 -2798
- data/ext/v8/upstream/v8/src/data-flow.cc +0 -545
- data/ext/v8/upstream/v8/src/data-flow.h +0 -379
- data/ext/v8/upstream/v8/src/date.js +0 -1103
- data/ext/v8/upstream/v8/src/dateparser-inl.h +0 -125
- data/ext/v8/upstream/v8/src/dateparser.cc +0 -178
- data/ext/v8/upstream/v8/src/dateparser.h +0 -265
- data/ext/v8/upstream/v8/src/debug-agent.cc +0 -447
- data/ext/v8/upstream/v8/src/debug-agent.h +0 -129
- data/ext/v8/upstream/v8/src/debug-debugger.js +0 -2569
- data/ext/v8/upstream/v8/src/debug.cc +0 -3188
- data/ext/v8/upstream/v8/src/debug.h +0 -1055
- data/ext/v8/upstream/v8/src/deoptimizer.cc +0 -1296
- data/ext/v8/upstream/v8/src/deoptimizer.h +0 -629
- data/ext/v8/upstream/v8/src/disasm.h +0 -80
- data/ext/v8/upstream/v8/src/disassembler.cc +0 -339
- data/ext/v8/upstream/v8/src/disassembler.h +0 -56
- data/ext/v8/upstream/v8/src/diy-fp.cc +0 -58
- data/ext/v8/upstream/v8/src/diy-fp.h +0 -117
- data/ext/v8/upstream/v8/src/double.h +0 -238
- data/ext/v8/upstream/v8/src/dtoa.cc +0 -103
- data/ext/v8/upstream/v8/src/dtoa.h +0 -85
- data/ext/v8/upstream/v8/src/execution.cc +0 -791
- data/ext/v8/upstream/v8/src/execution.h +0 -291
- data/ext/v8/upstream/v8/src/extensions/experimental/break-iterator.cc +0 -250
- data/ext/v8/upstream/v8/src/extensions/experimental/break-iterator.h +0 -89
- data/ext/v8/upstream/v8/src/extensions/experimental/experimental.gyp +0 -55
- data/ext/v8/upstream/v8/src/extensions/experimental/i18n-extension.cc +0 -284
- data/ext/v8/upstream/v8/src/extensions/experimental/i18n-extension.h +0 -64
- data/ext/v8/upstream/v8/src/extensions/externalize-string-extension.cc +0 -141
- data/ext/v8/upstream/v8/src/extensions/externalize-string-extension.h +0 -50
- data/ext/v8/upstream/v8/src/extensions/gc-extension.cc +0 -58
- data/ext/v8/upstream/v8/src/extensions/gc-extension.h +0 -49
- data/ext/v8/upstream/v8/src/factory.cc +0 -1194
- data/ext/v8/upstream/v8/src/factory.h +0 -436
- data/ext/v8/upstream/v8/src/fast-dtoa.cc +0 -736
- data/ext/v8/upstream/v8/src/fast-dtoa.h +0 -83
- data/ext/v8/upstream/v8/src/fixed-dtoa.cc +0 -405
- data/ext/v8/upstream/v8/src/fixed-dtoa.h +0 -55
- data/ext/v8/upstream/v8/src/flag-definitions.h +0 -556
- data/ext/v8/upstream/v8/src/flags.cc +0 -551
- data/ext/v8/upstream/v8/src/flags.h +0 -79
- data/ext/v8/upstream/v8/src/frame-element.cc +0 -37
- data/ext/v8/upstream/v8/src/frame-element.h +0 -269
- data/ext/v8/upstream/v8/src/frames-inl.h +0 -236
- data/ext/v8/upstream/v8/src/frames.cc +0 -1273
- data/ext/v8/upstream/v8/src/frames.h +0 -854
- data/ext/v8/upstream/v8/src/full-codegen.cc +0 -1385
- data/ext/v8/upstream/v8/src/full-codegen.h +0 -753
- data/ext/v8/upstream/v8/src/func-name-inferrer.cc +0 -91
- data/ext/v8/upstream/v8/src/func-name-inferrer.h +0 -111
- data/ext/v8/upstream/v8/src/gdb-jit.cc +0 -1548
- data/ext/v8/upstream/v8/src/gdb-jit.h +0 -138
- data/ext/v8/upstream/v8/src/global-handles.cc +0 -596
- data/ext/v8/upstream/v8/src/global-handles.h +0 -239
- data/ext/v8/upstream/v8/src/globals.h +0 -325
- data/ext/v8/upstream/v8/src/handles-inl.h +0 -177
- data/ext/v8/upstream/v8/src/handles.cc +0 -965
- data/ext/v8/upstream/v8/src/handles.h +0 -372
- data/ext/v8/upstream/v8/src/hashmap.cc +0 -230
- data/ext/v8/upstream/v8/src/hashmap.h +0 -121
- data/ext/v8/upstream/v8/src/heap-inl.h +0 -703
- data/ext/v8/upstream/v8/src/heap-profiler.cc +0 -1173
- data/ext/v8/upstream/v8/src/heap-profiler.h +0 -396
- data/ext/v8/upstream/v8/src/heap.cc +0 -5856
- data/ext/v8/upstream/v8/src/heap.h +0 -2264
- data/ext/v8/upstream/v8/src/hydrogen-instructions.cc +0 -1639
- data/ext/v8/upstream/v8/src/hydrogen-instructions.h +0 -3657
- data/ext/v8/upstream/v8/src/hydrogen.cc +0 -6011
- data/ext/v8/upstream/v8/src/hydrogen.h +0 -1137
- data/ext/v8/upstream/v8/src/ia32/assembler-ia32-inl.h +0 -430
- data/ext/v8/upstream/v8/src/ia32/assembler-ia32.cc +0 -2846
- data/ext/v8/upstream/v8/src/ia32/assembler-ia32.h +0 -1159
- data/ext/v8/upstream/v8/src/ia32/builtins-ia32.cc +0 -1596
- data/ext/v8/upstream/v8/src/ia32/code-stubs-ia32.cc +0 -6549
- data/ext/v8/upstream/v8/src/ia32/code-stubs-ia32.h +0 -495
- data/ext/v8/upstream/v8/src/ia32/codegen-ia32-inl.h +0 -46
- data/ext/v8/upstream/v8/src/ia32/codegen-ia32.cc +0 -10385
- data/ext/v8/upstream/v8/src/ia32/codegen-ia32.h +0 -801
- data/ext/v8/upstream/v8/src/ia32/cpu-ia32.cc +0 -88
- data/ext/v8/upstream/v8/src/ia32/debug-ia32.cc +0 -312
- data/ext/v8/upstream/v8/src/ia32/deoptimizer-ia32.cc +0 -774
- data/ext/v8/upstream/v8/src/ia32/disasm-ia32.cc +0 -1620
- data/ext/v8/upstream/v8/src/ia32/frames-ia32.cc +0 -45
- data/ext/v8/upstream/v8/src/ia32/frames-ia32.h +0 -140
- data/ext/v8/upstream/v8/src/ia32/full-codegen-ia32.cc +0 -4357
- data/ext/v8/upstream/v8/src/ia32/ic-ia32.cc +0 -1779
- data/ext/v8/upstream/v8/src/ia32/jump-target-ia32.cc +0 -437
- data/ext/v8/upstream/v8/src/ia32/lithium-codegen-ia32.cc +0 -4158
- data/ext/v8/upstream/v8/src/ia32/lithium-codegen-ia32.h +0 -318
- data/ext/v8/upstream/v8/src/ia32/lithium-gap-resolver-ia32.cc +0 -466
- data/ext/v8/upstream/v8/src/ia32/lithium-gap-resolver-ia32.h +0 -110
- data/ext/v8/upstream/v8/src/ia32/lithium-ia32.cc +0 -2181
- data/ext/v8/upstream/v8/src/ia32/lithium-ia32.h +0 -2235
- data/ext/v8/upstream/v8/src/ia32/macro-assembler-ia32.cc +0 -2056
- data/ext/v8/upstream/v8/src/ia32/macro-assembler-ia32.h +0 -807
- data/ext/v8/upstream/v8/src/ia32/regexp-macro-assembler-ia32.cc +0 -1264
- data/ext/v8/upstream/v8/src/ia32/regexp-macro-assembler-ia32.h +0 -216
- data/ext/v8/upstream/v8/src/ia32/register-allocator-ia32-inl.h +0 -82
- data/ext/v8/upstream/v8/src/ia32/register-allocator-ia32.cc +0 -157
- data/ext/v8/upstream/v8/src/ia32/register-allocator-ia32.h +0 -43
- data/ext/v8/upstream/v8/src/ia32/simulator-ia32.cc +0 -30
- data/ext/v8/upstream/v8/src/ia32/simulator-ia32.h +0 -72
- data/ext/v8/upstream/v8/src/ia32/stub-cache-ia32.cc +0 -3711
- data/ext/v8/upstream/v8/src/ia32/virtual-frame-ia32.cc +0 -1366
- data/ext/v8/upstream/v8/src/ia32/virtual-frame-ia32.h +0 -650
- data/ext/v8/upstream/v8/src/ic-inl.h +0 -130
- data/ext/v8/upstream/v8/src/ic.cc +0 -2389
- data/ext/v8/upstream/v8/src/ic.h +0 -675
- data/ext/v8/upstream/v8/src/inspector.cc +0 -63
- data/ext/v8/upstream/v8/src/inspector.h +0 -62
- data/ext/v8/upstream/v8/src/interpreter-irregexp.cc +0 -659
- data/ext/v8/upstream/v8/src/interpreter-irregexp.h +0 -49
- data/ext/v8/upstream/v8/src/isolate.cc +0 -883
- data/ext/v8/upstream/v8/src/isolate.h +0 -1306
- data/ext/v8/upstream/v8/src/json.js +0 -342
- data/ext/v8/upstream/v8/src/jsregexp.cc +0 -5371
- data/ext/v8/upstream/v8/src/jsregexp.h +0 -1483
- data/ext/v8/upstream/v8/src/jump-target-heavy-inl.h +0 -51
- data/ext/v8/upstream/v8/src/jump-target-heavy.cc +0 -427
- data/ext/v8/upstream/v8/src/jump-target-heavy.h +0 -238
- data/ext/v8/upstream/v8/src/jump-target-inl.h +0 -48
- data/ext/v8/upstream/v8/src/jump-target-light-inl.h +0 -56
- data/ext/v8/upstream/v8/src/jump-target-light.cc +0 -111
- data/ext/v8/upstream/v8/src/jump-target-light.h +0 -193
- data/ext/v8/upstream/v8/src/jump-target.cc +0 -91
- data/ext/v8/upstream/v8/src/jump-target.h +0 -90
- data/ext/v8/upstream/v8/src/list-inl.h +0 -206
- data/ext/v8/upstream/v8/src/list.h +0 -164
- data/ext/v8/upstream/v8/src/lithium-allocator-inl.h +0 -142
- data/ext/v8/upstream/v8/src/lithium-allocator.cc +0 -2105
- data/ext/v8/upstream/v8/src/lithium-allocator.h +0 -630
- data/ext/v8/upstream/v8/src/lithium.cc +0 -169
- data/ext/v8/upstream/v8/src/lithium.h +0 -592
- data/ext/v8/upstream/v8/src/liveedit-debugger.js +0 -1082
- data/ext/v8/upstream/v8/src/liveedit.cc +0 -1693
- data/ext/v8/upstream/v8/src/liveedit.h +0 -179
- data/ext/v8/upstream/v8/src/liveobjectlist-inl.h +0 -126
- data/ext/v8/upstream/v8/src/liveobjectlist.cc +0 -2589
- data/ext/v8/upstream/v8/src/liveobjectlist.h +0 -322
- data/ext/v8/upstream/v8/src/log-inl.h +0 -59
- data/ext/v8/upstream/v8/src/log-utils.cc +0 -423
- data/ext/v8/upstream/v8/src/log-utils.h +0 -229
- data/ext/v8/upstream/v8/src/log.cc +0 -1666
- data/ext/v8/upstream/v8/src/log.h +0 -446
- data/ext/v8/upstream/v8/src/macro-assembler.h +0 -120
- data/ext/v8/upstream/v8/src/macros.py +0 -178
- data/ext/v8/upstream/v8/src/mark-compact.cc +0 -3092
- data/ext/v8/upstream/v8/src/mark-compact.h +0 -506
- data/ext/v8/upstream/v8/src/math.js +0 -264
- data/ext/v8/upstream/v8/src/messages.cc +0 -166
- data/ext/v8/upstream/v8/src/messages.h +0 -114
- data/ext/v8/upstream/v8/src/messages.js +0 -1090
- data/ext/v8/upstream/v8/src/mips/assembler-mips-inl.h +0 -335
- data/ext/v8/upstream/v8/src/mips/assembler-mips.cc +0 -2093
- data/ext/v8/upstream/v8/src/mips/assembler-mips.h +0 -1066
- data/ext/v8/upstream/v8/src/mips/builtins-mips.cc +0 -148
- data/ext/v8/upstream/v8/src/mips/code-stubs-mips.cc +0 -752
- data/ext/v8/upstream/v8/src/mips/code-stubs-mips.h +0 -511
- data/ext/v8/upstream/v8/src/mips/codegen-mips-inl.h +0 -64
- data/ext/v8/upstream/v8/src/mips/codegen-mips.cc +0 -1213
- data/ext/v8/upstream/v8/src/mips/codegen-mips.h +0 -633
- data/ext/v8/upstream/v8/src/mips/constants-mips.cc +0 -352
- data/ext/v8/upstream/v8/src/mips/constants-mips.h +0 -723
- data/ext/v8/upstream/v8/src/mips/cpu-mips.cc +0 -90
- data/ext/v8/upstream/v8/src/mips/debug-mips.cc +0 -155
- data/ext/v8/upstream/v8/src/mips/deoptimizer-mips.cc +0 -91
- data/ext/v8/upstream/v8/src/mips/disasm-mips.cc +0 -1023
- data/ext/v8/upstream/v8/src/mips/frames-mips.cc +0 -48
- data/ext/v8/upstream/v8/src/mips/frames-mips.h +0 -179
- data/ext/v8/upstream/v8/src/mips/full-codegen-mips.cc +0 -727
- data/ext/v8/upstream/v8/src/mips/ic-mips.cc +0 -244
- data/ext/v8/upstream/v8/src/mips/jump-target-mips.cc +0 -80
- data/ext/v8/upstream/v8/src/mips/lithium-codegen-mips.h +0 -65
- data/ext/v8/upstream/v8/src/mips/lithium-mips.h +0 -304
- data/ext/v8/upstream/v8/src/mips/macro-assembler-mips.cc +0 -3327
- data/ext/v8/upstream/v8/src/mips/macro-assembler-mips.h +0 -1058
- data/ext/v8/upstream/v8/src/mips/regexp-macro-assembler-mips.cc +0 -478
- data/ext/v8/upstream/v8/src/mips/regexp-macro-assembler-mips.h +0 -250
- data/ext/v8/upstream/v8/src/mips/register-allocator-mips-inl.h +0 -134
- data/ext/v8/upstream/v8/src/mips/register-allocator-mips.cc +0 -63
- data/ext/v8/upstream/v8/src/mips/register-allocator-mips.h +0 -47
- data/ext/v8/upstream/v8/src/mips/simulator-mips.cc +0 -2438
- data/ext/v8/upstream/v8/src/mips/simulator-mips.h +0 -394
- data/ext/v8/upstream/v8/src/mips/stub-cache-mips.cc +0 -601
- data/ext/v8/upstream/v8/src/mips/virtual-frame-mips-inl.h +0 -58
- data/ext/v8/upstream/v8/src/mips/virtual-frame-mips.cc +0 -307
- data/ext/v8/upstream/v8/src/mips/virtual-frame-mips.h +0 -530
- data/ext/v8/upstream/v8/src/mirror-debugger.js +0 -2381
- data/ext/v8/upstream/v8/src/mksnapshot.cc +0 -256
- data/ext/v8/upstream/v8/src/natives.h +0 -63
- data/ext/v8/upstream/v8/src/objects-debug.cc +0 -722
- data/ext/v8/upstream/v8/src/objects-inl.h +0 -4166
- data/ext/v8/upstream/v8/src/objects-printer.cc +0 -801
- data/ext/v8/upstream/v8/src/objects-visiting.cc +0 -142
- data/ext/v8/upstream/v8/src/objects-visiting.h +0 -422
- data/ext/v8/upstream/v8/src/objects.cc +0 -10296
- data/ext/v8/upstream/v8/src/objects.h +0 -6662
- data/ext/v8/upstream/v8/src/parser.cc +0 -5168
- data/ext/v8/upstream/v8/src/parser.h +0 -823
- data/ext/v8/upstream/v8/src/platform-cygwin.cc +0 -811
- data/ext/v8/upstream/v8/src/platform-freebsd.cc +0 -854
- data/ext/v8/upstream/v8/src/platform-linux.cc +0 -1120
- data/ext/v8/upstream/v8/src/platform-macos.cc +0 -865
- data/ext/v8/upstream/v8/src/platform-nullos.cc +0 -504
- data/ext/v8/upstream/v8/src/platform-openbsd.cc +0 -672
- data/ext/v8/upstream/v8/src/platform-posix.cc +0 -424
- data/ext/v8/upstream/v8/src/platform-solaris.cc +0 -796
- data/ext/v8/upstream/v8/src/platform-tls-mac.h +0 -62
- data/ext/v8/upstream/v8/src/platform-tls-win32.h +0 -62
- data/ext/v8/upstream/v8/src/platform-tls.h +0 -50
- data/ext/v8/upstream/v8/src/platform-win32.cc +0 -2072
- data/ext/v8/upstream/v8/src/platform.h +0 -693
- data/ext/v8/upstream/v8/src/preparse-data.cc +0 -185
- data/ext/v8/upstream/v8/src/preparse-data.h +0 -249
- data/ext/v8/upstream/v8/src/preparser-api.cc +0 -219
- data/ext/v8/upstream/v8/src/preparser.cc +0 -1205
- data/ext/v8/upstream/v8/src/preparser.h +0 -278
- data/ext/v8/upstream/v8/src/prettyprinter.cc +0 -1530
- data/ext/v8/upstream/v8/src/prettyprinter.h +0 -223
- data/ext/v8/upstream/v8/src/profile-generator-inl.h +0 -128
- data/ext/v8/upstream/v8/src/profile-generator.cc +0 -3095
- data/ext/v8/upstream/v8/src/profile-generator.h +0 -1125
- data/ext/v8/upstream/v8/src/property.cc +0 -102
- data/ext/v8/upstream/v8/src/property.h +0 -348
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-irregexp-inl.h +0 -78
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-irregexp.cc +0 -470
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-irregexp.h +0 -142
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-tracer.cc +0 -373
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-tracer.h +0 -104
- data/ext/v8/upstream/v8/src/regexp-macro-assembler.cc +0 -266
- data/ext/v8/upstream/v8/src/regexp-macro-assembler.h +0 -236
- data/ext/v8/upstream/v8/src/regexp-stack.cc +0 -111
- data/ext/v8/upstream/v8/src/regexp-stack.h +0 -147
- data/ext/v8/upstream/v8/src/regexp.js +0 -483
- data/ext/v8/upstream/v8/src/register-allocator-inl.h +0 -141
- data/ext/v8/upstream/v8/src/register-allocator.cc +0 -98
- data/ext/v8/upstream/v8/src/register-allocator.h +0 -310
- data/ext/v8/upstream/v8/src/rewriter.cc +0 -1024
- data/ext/v8/upstream/v8/src/rewriter.h +0 -59
- data/ext/v8/upstream/v8/src/runtime-profiler.cc +0 -478
- data/ext/v8/upstream/v8/src/runtime-profiler.h +0 -192
- data/ext/v8/upstream/v8/src/runtime.cc +0 -11949
- data/ext/v8/upstream/v8/src/runtime.h +0 -643
- data/ext/v8/upstream/v8/src/runtime.js +0 -643
- data/ext/v8/upstream/v8/src/safepoint-table.cc +0 -256
- data/ext/v8/upstream/v8/src/safepoint-table.h +0 -269
- data/ext/v8/upstream/v8/src/scanner-base.cc +0 -964
- data/ext/v8/upstream/v8/src/scanner-base.h +0 -664
- data/ext/v8/upstream/v8/src/scanner.cc +0 -584
- data/ext/v8/upstream/v8/src/scanner.h +0 -196
- data/ext/v8/upstream/v8/src/scopeinfo.cc +0 -631
- data/ext/v8/upstream/v8/src/scopeinfo.h +0 -249
- data/ext/v8/upstream/v8/src/scopes.cc +0 -1093
- data/ext/v8/upstream/v8/src/scopes.h +0 -508
- data/ext/v8/upstream/v8/src/serialize.cc +0 -1574
- data/ext/v8/upstream/v8/src/serialize.h +0 -589
- data/ext/v8/upstream/v8/src/shell.h +0 -55
- data/ext/v8/upstream/v8/src/simulator.h +0 -43
- data/ext/v8/upstream/v8/src/small-pointer-list.h +0 -163
- data/ext/v8/upstream/v8/src/smart-pointer.h +0 -109
- data/ext/v8/upstream/v8/src/snapshot-common.cc +0 -82
- data/ext/v8/upstream/v8/src/snapshot-empty.cc +0 -50
- data/ext/v8/upstream/v8/src/snapshot.h +0 -73
- data/ext/v8/upstream/v8/src/spaces-inl.h +0 -529
- data/ext/v8/upstream/v8/src/spaces.cc +0 -3147
- data/ext/v8/upstream/v8/src/spaces.h +0 -2368
- data/ext/v8/upstream/v8/src/splay-tree-inl.h +0 -310
- data/ext/v8/upstream/v8/src/splay-tree.h +0 -203
- data/ext/v8/upstream/v8/src/string-search.cc +0 -41
- data/ext/v8/upstream/v8/src/string-search.h +0 -568
- data/ext/v8/upstream/v8/src/string-stream.cc +0 -592
- data/ext/v8/upstream/v8/src/string-stream.h +0 -191
- data/ext/v8/upstream/v8/src/string.js +0 -915
- data/ext/v8/upstream/v8/src/strtod.cc +0 -440
- data/ext/v8/upstream/v8/src/strtod.h +0 -40
- data/ext/v8/upstream/v8/src/stub-cache.cc +0 -1940
- data/ext/v8/upstream/v8/src/stub-cache.h +0 -866
- data/ext/v8/upstream/v8/src/third_party/valgrind/valgrind.h +0 -3925
- data/ext/v8/upstream/v8/src/token.cc +0 -63
- data/ext/v8/upstream/v8/src/token.h +0 -288
- data/ext/v8/upstream/v8/src/top.cc +0 -983
- data/ext/v8/upstream/v8/src/type-info.cc +0 -472
- data/ext/v8/upstream/v8/src/type-info.h +0 -290
- data/ext/v8/upstream/v8/src/unbound-queue-inl.h +0 -95
- data/ext/v8/upstream/v8/src/unbound-queue.h +0 -67
- data/ext/v8/upstream/v8/src/unicode-inl.h +0 -238
- data/ext/v8/upstream/v8/src/unicode.cc +0 -1624
- data/ext/v8/upstream/v8/src/unicode.h +0 -280
- data/ext/v8/upstream/v8/src/uri.js +0 -402
- data/ext/v8/upstream/v8/src/utils.cc +0 -371
- data/ext/v8/upstream/v8/src/utils.h +0 -796
- data/ext/v8/upstream/v8/src/v8-counters.cc +0 -62
- data/ext/v8/upstream/v8/src/v8-counters.h +0 -311
- data/ext/v8/upstream/v8/src/v8.cc +0 -215
- data/ext/v8/upstream/v8/src/v8.h +0 -130
- data/ext/v8/upstream/v8/src/v8checks.h +0 -64
- data/ext/v8/upstream/v8/src/v8dll-main.cc +0 -39
- data/ext/v8/upstream/v8/src/v8globals.h +0 -486
- data/ext/v8/upstream/v8/src/v8memory.h +0 -82
- data/ext/v8/upstream/v8/src/v8natives.js +0 -1293
- data/ext/v8/upstream/v8/src/v8preparserdll-main.cc +0 -39
- data/ext/v8/upstream/v8/src/v8threads.cc +0 -453
- data/ext/v8/upstream/v8/src/v8threads.h +0 -164
- data/ext/v8/upstream/v8/src/v8utils.h +0 -317
- data/ext/v8/upstream/v8/src/variables.cc +0 -132
- data/ext/v8/upstream/v8/src/variables.h +0 -212
- data/ext/v8/upstream/v8/src/version.cc +0 -116
- data/ext/v8/upstream/v8/src/version.h +0 -68
- data/ext/v8/upstream/v8/src/virtual-frame-heavy-inl.h +0 -190
- data/ext/v8/upstream/v8/src/virtual-frame-heavy.cc +0 -312
- data/ext/v8/upstream/v8/src/virtual-frame-inl.h +0 -39
- data/ext/v8/upstream/v8/src/virtual-frame-light-inl.h +0 -171
- data/ext/v8/upstream/v8/src/virtual-frame-light.cc +0 -52
- data/ext/v8/upstream/v8/src/virtual-frame.cc +0 -49
- data/ext/v8/upstream/v8/src/virtual-frame.h +0 -59
- data/ext/v8/upstream/v8/src/vm-state-inl.h +0 -138
- data/ext/v8/upstream/v8/src/vm-state.h +0 -70
- data/ext/v8/upstream/v8/src/win32-headers.h +0 -96
- data/ext/v8/upstream/v8/src/x64/assembler-x64-inl.h +0 -456
- data/ext/v8/upstream/v8/src/x64/assembler-x64.cc +0 -2954
- data/ext/v8/upstream/v8/src/x64/assembler-x64.h +0 -1630
- data/ext/v8/upstream/v8/src/x64/builtins-x64.cc +0 -1493
- data/ext/v8/upstream/v8/src/x64/code-stubs-x64.cc +0 -5132
- data/ext/v8/upstream/v8/src/x64/code-stubs-x64.h +0 -477
- data/ext/v8/upstream/v8/src/x64/codegen-x64-inl.h +0 -46
- data/ext/v8/upstream/v8/src/x64/codegen-x64.cc +0 -8843
- data/ext/v8/upstream/v8/src/x64/codegen-x64.h +0 -753
- data/ext/v8/upstream/v8/src/x64/cpu-x64.cc +0 -88
- data/ext/v8/upstream/v8/src/x64/debug-x64.cc +0 -318
- data/ext/v8/upstream/v8/src/x64/deoptimizer-x64.cc +0 -815
- data/ext/v8/upstream/v8/src/x64/disasm-x64.cc +0 -1752
- data/ext/v8/upstream/v8/src/x64/frames-x64.cc +0 -45
- data/ext/v8/upstream/v8/src/x64/frames-x64.h +0 -130
- data/ext/v8/upstream/v8/src/x64/full-codegen-x64.cc +0 -4339
- data/ext/v8/upstream/v8/src/x64/ic-x64.cc +0 -1752
- data/ext/v8/upstream/v8/src/x64/jump-target-x64.cc +0 -437
- data/ext/v8/upstream/v8/src/x64/lithium-codegen-x64.cc +0 -3970
- data/ext/v8/upstream/v8/src/x64/lithium-codegen-x64.h +0 -318
- data/ext/v8/upstream/v8/src/x64/lithium-gap-resolver-x64.cc +0 -320
- data/ext/v8/upstream/v8/src/x64/lithium-gap-resolver-x64.h +0 -74
- data/ext/v8/upstream/v8/src/x64/lithium-x64.cc +0 -2115
- data/ext/v8/upstream/v8/src/x64/lithium-x64.h +0 -2161
- data/ext/v8/upstream/v8/src/x64/macro-assembler-x64.cc +0 -2911
- data/ext/v8/upstream/v8/src/x64/macro-assembler-x64.h +0 -1984
- data/ext/v8/upstream/v8/src/x64/regexp-macro-assembler-x64.cc +0 -1398
- data/ext/v8/upstream/v8/src/x64/regexp-macro-assembler-x64.h +0 -282
- data/ext/v8/upstream/v8/src/x64/register-allocator-x64-inl.h +0 -87
- data/ext/v8/upstream/v8/src/x64/register-allocator-x64.cc +0 -95
- data/ext/v8/upstream/v8/src/x64/register-allocator-x64.h +0 -43
- data/ext/v8/upstream/v8/src/x64/simulator-x64.cc +0 -27
- data/ext/v8/upstream/v8/src/x64/simulator-x64.h +0 -71
- data/ext/v8/upstream/v8/src/x64/stub-cache-x64.cc +0 -3460
- data/ext/v8/upstream/v8/src/x64/virtual-frame-x64.cc +0 -1296
- data/ext/v8/upstream/v8/src/x64/virtual-frame-x64.h +0 -597
- data/ext/v8/upstream/v8/src/zone-inl.h +0 -129
- data/ext/v8/upstream/v8/src/zone.cc +0 -196
- data/ext/v8/upstream/v8/src/zone.h +0 -236
- data/ext/v8/upstream/v8/tools/codemap.js +0 -265
- data/ext/v8/upstream/v8/tools/consarray.js +0 -93
- data/ext/v8/upstream/v8/tools/csvparser.js +0 -78
- data/ext/v8/upstream/v8/tools/disasm.py +0 -92
- data/ext/v8/upstream/v8/tools/freebsd-tick-processor +0 -10
- data/ext/v8/upstream/v8/tools/gc-nvp-trace-processor.py +0 -328
- data/ext/v8/upstream/v8/tools/generate-ten-powers.scm +0 -286
- data/ext/v8/upstream/v8/tools/grokdump.py +0 -840
- data/ext/v8/upstream/v8/tools/gyp/v8.gyp +0 -844
- data/ext/v8/upstream/v8/tools/js2c.py +0 -380
- data/ext/v8/upstream/v8/tools/jsmin.py +0 -280
- data/ext/v8/upstream/v8/tools/linux-tick-processor +0 -35
- data/ext/v8/upstream/v8/tools/ll_prof.py +0 -919
- data/ext/v8/upstream/v8/tools/logreader.js +0 -185
- data/ext/v8/upstream/v8/tools/mac-nm +0 -18
- data/ext/v8/upstream/v8/tools/mac-tick-processor +0 -6
- data/ext/v8/upstream/v8/tools/oom_dump/README +0 -31
- data/ext/v8/upstream/v8/tools/oom_dump/SConstruct +0 -42
- data/ext/v8/upstream/v8/tools/oom_dump/oom_dump.cc +0 -288
- data/ext/v8/upstream/v8/tools/presubmit.py +0 -305
- data/ext/v8/upstream/v8/tools/process-heap-prof.py +0 -120
- data/ext/v8/upstream/v8/tools/profile.js +0 -751
- data/ext/v8/upstream/v8/tools/profile_view.js +0 -219
- data/ext/v8/upstream/v8/tools/run-valgrind.py +0 -77
- data/ext/v8/upstream/v8/tools/splaytree.js +0 -316
- data/ext/v8/upstream/v8/tools/stats-viewer.py +0 -468
- data/ext/v8/upstream/v8/tools/test.py +0 -1490
- data/ext/v8/upstream/v8/tools/tickprocessor-driver.js +0 -59
- data/ext/v8/upstream/v8/tools/tickprocessor.js +0 -877
- data/ext/v8/upstream/v8/tools/utils.py +0 -96
- data/ext/v8/upstream/v8/tools/visual_studio/README.txt +0 -70
- data/ext/v8/upstream/v8/tools/visual_studio/arm.vsprops +0 -14
- data/ext/v8/upstream/v8/tools/visual_studio/common.vsprops +0 -34
- data/ext/v8/upstream/v8/tools/visual_studio/d8.vcproj +0 -193
- data/ext/v8/upstream/v8/tools/visual_studio/d8_arm.vcproj +0 -193
- data/ext/v8/upstream/v8/tools/visual_studio/d8_x64.vcproj +0 -209
- data/ext/v8/upstream/v8/tools/visual_studio/d8js2c.cmd +0 -6
- data/ext/v8/upstream/v8/tools/visual_studio/debug.vsprops +0 -17
- data/ext/v8/upstream/v8/tools/visual_studio/ia32.vsprops +0 -17
- data/ext/v8/upstream/v8/tools/visual_studio/js2c.cmd +0 -6
- data/ext/v8/upstream/v8/tools/visual_studio/release.vsprops +0 -24
- data/ext/v8/upstream/v8/tools/visual_studio/v8.sln +0 -101
- data/ext/v8/upstream/v8/tools/visual_studio/v8.vcproj +0 -227
- data/ext/v8/upstream/v8/tools/visual_studio/v8_arm.sln +0 -74
- data/ext/v8/upstream/v8/tools/visual_studio/v8_arm.vcproj +0 -227
- data/ext/v8/upstream/v8/tools/visual_studio/v8_base.vcproj +0 -1308
- data/ext/v8/upstream/v8/tools/visual_studio/v8_base_arm.vcproj +0 -1238
- data/ext/v8/upstream/v8/tools/visual_studio/v8_base_x64.vcproj +0 -1300
- data/ext/v8/upstream/v8/tools/visual_studio/v8_cctest.vcproj +0 -265
- data/ext/v8/upstream/v8/tools/visual_studio/v8_cctest_arm.vcproj +0 -249
- data/ext/v8/upstream/v8/tools/visual_studio/v8_cctest_x64.vcproj +0 -257
- data/ext/v8/upstream/v8/tools/visual_studio/v8_mksnapshot.vcproj +0 -145
- data/ext/v8/upstream/v8/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -145
- data/ext/v8/upstream/v8/tools/visual_studio/v8_process_sample.vcproj +0 -145
- data/ext/v8/upstream/v8/tools/visual_studio/v8_process_sample_arm.vcproj +0 -145
- data/ext/v8/upstream/v8/tools/visual_studio/v8_process_sample_x64.vcproj +0 -161
- data/ext/v8/upstream/v8/tools/visual_studio/v8_shell_sample.vcproj +0 -147
- data/ext/v8/upstream/v8/tools/visual_studio/v8_shell_sample_arm.vcproj +0 -147
- data/ext/v8/upstream/v8/tools/visual_studio/v8_shell_sample_x64.vcproj +0 -163
- data/ext/v8/upstream/v8/tools/visual_studio/v8_snapshot.vcproj +0 -142
- data/ext/v8/upstream/v8/tools/visual_studio/v8_snapshot_cc.vcproj +0 -92
- data/ext/v8/upstream/v8/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -92
- data/ext/v8/upstream/v8/tools/visual_studio/v8_snapshot_x64.vcproj +0 -142
- data/ext/v8/upstream/v8/tools/visual_studio/v8_x64.sln +0 -101
- data/ext/v8/upstream/v8/tools/visual_studio/v8_x64.vcproj +0 -227
- data/ext/v8/upstream/v8/tools/visual_studio/x64.vsprops +0 -18
- data/ext/v8/upstream/v8/tools/windows-tick-processor.bat +0 -30
@@ -1,126 +0,0 @@
|
|
1
|
-
// Copyright 2010 the V8 project authors. All rights reserved.
|
2
|
-
// Redistribution and use in source and binary forms, with or without
|
3
|
-
// modification, are permitted provided that the following conditions are
|
4
|
-
// met:
|
5
|
-
//
|
6
|
-
// * Redistributions of source code must retain the above copyright
|
7
|
-
// notice, this list of conditions and the following disclaimer.
|
8
|
-
// * Redistributions in binary form must reproduce the above
|
9
|
-
// copyright notice, this list of conditions and the following
|
10
|
-
// disclaimer in the documentation and/or other materials provided
|
11
|
-
// with the distribution.
|
12
|
-
// * Neither the name of Google Inc. nor the names of its
|
13
|
-
// contributors may be used to endorse or promote products derived
|
14
|
-
// from this software without specific prior written permission.
|
15
|
-
//
|
16
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
20
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
21
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
22
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
23
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
24
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
26
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
-
|
28
|
-
// This module gets enough CPU information to optimize the
|
29
|
-
// atomicops module on x86.
|
30
|
-
|
31
|
-
#include <string.h>
|
32
|
-
|
33
|
-
#include "atomicops.h"
|
34
|
-
|
35
|
-
// This file only makes sense with atomicops_internals_x86_gcc.h -- it
|
36
|
-
// depends on structs that are defined in that file. If atomicops.h
|
37
|
-
// doesn't sub-include that file, then we aren't needed, and shouldn't
|
38
|
-
// try to do anything.
|
39
|
-
#ifdef V8_ATOMICOPS_INTERNALS_X86_GCC_H_
|
40
|
-
|
41
|
-
// Inline cpuid instruction. In PIC compilations, %ebx contains the address
|
42
|
-
// of the global offset table. To avoid breaking such executables, this code
|
43
|
-
// must preserve that register's value across cpuid instructions.
|
44
|
-
#if defined(__i386__)
|
45
|
-
#define cpuid(a, b, c, d, inp) \
|
46
|
-
asm("mov %%ebx, %%edi\n" \
|
47
|
-
"cpuid\n" \
|
48
|
-
"xchg %%edi, %%ebx\n" \
|
49
|
-
: "=a" (a), "=D" (b), "=c" (c), "=d" (d) : "a" (inp))
|
50
|
-
#elif defined(__x86_64__)
|
51
|
-
#define cpuid(a, b, c, d, inp) \
|
52
|
-
asm("mov %%rbx, %%rdi\n" \
|
53
|
-
"cpuid\n" \
|
54
|
-
"xchg %%rdi, %%rbx\n" \
|
55
|
-
: "=a" (a), "=D" (b), "=c" (c), "=d" (d) : "a" (inp))
|
56
|
-
#endif
|
57
|
-
|
58
|
-
#if defined(cpuid) // initialize the struct only on x86
|
59
|
-
|
60
|
-
// Set the flags so that code will run correctly and conservatively, so even
|
61
|
-
// if we haven't been initialized yet, we're probably single threaded, and our
|
62
|
-
// default values should hopefully be pretty safe.
|
63
|
-
struct AtomicOps_x86CPUFeatureStruct AtomicOps_Internalx86CPUFeatures = {
|
64
|
-
false, // bug can't exist before process spawns multiple threads
|
65
|
-
false, // no SSE2
|
66
|
-
};
|
67
|
-
|
68
|
-
// Initialize the AtomicOps_Internalx86CPUFeatures struct.
|
69
|
-
static void AtomicOps_Internalx86CPUFeaturesInit() {
|
70
|
-
uint32_t eax;
|
71
|
-
uint32_t ebx;
|
72
|
-
uint32_t ecx;
|
73
|
-
uint32_t edx;
|
74
|
-
|
75
|
-
// Get vendor string (issue CPUID with eax = 0)
|
76
|
-
cpuid(eax, ebx, ecx, edx, 0);
|
77
|
-
char vendor[13];
|
78
|
-
memcpy(vendor, &ebx, 4);
|
79
|
-
memcpy(vendor + 4, &edx, 4);
|
80
|
-
memcpy(vendor + 8, &ecx, 4);
|
81
|
-
vendor[12] = 0;
|
82
|
-
|
83
|
-
// get feature flags in ecx/edx, and family/model in eax
|
84
|
-
cpuid(eax, ebx, ecx, edx, 1);
|
85
|
-
|
86
|
-
int family = (eax >> 8) & 0xf; // family and model fields
|
87
|
-
int model = (eax >> 4) & 0xf;
|
88
|
-
if (family == 0xf) { // use extended family and model fields
|
89
|
-
family += (eax >> 20) & 0xff;
|
90
|
-
model += ((eax >> 16) & 0xf) << 4;
|
91
|
-
}
|
92
|
-
|
93
|
-
// Opteron Rev E has a bug in which on very rare occasions a locked
|
94
|
-
// instruction doesn't act as a read-acquire barrier if followed by a
|
95
|
-
// non-locked read-modify-write instruction. Rev F has this bug in
|
96
|
-
// pre-release versions, but not in versions released to customers,
|
97
|
-
// so we test only for Rev E, which is family 15, model 32..63 inclusive.
|
98
|
-
if (strcmp(vendor, "AuthenticAMD") == 0 && // AMD
|
99
|
-
family == 15 &&
|
100
|
-
32 <= model && model <= 63) {
|
101
|
-
AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug = true;
|
102
|
-
} else {
|
103
|
-
AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug = false;
|
104
|
-
}
|
105
|
-
|
106
|
-
// edx bit 26 is SSE2 which we use to tell use whether we can use mfence
|
107
|
-
AtomicOps_Internalx86CPUFeatures.has_sse2 = ((edx >> 26) & 1);
|
108
|
-
}
|
109
|
-
|
110
|
-
namespace {
|
111
|
-
|
112
|
-
class AtomicOpsx86Initializer {
|
113
|
-
public:
|
114
|
-
AtomicOpsx86Initializer() {
|
115
|
-
AtomicOps_Internalx86CPUFeaturesInit();
|
116
|
-
}
|
117
|
-
};
|
118
|
-
|
119
|
-
// A global to get use initialized on startup via static initialization :/
|
120
|
-
AtomicOpsx86Initializer g_initer;
|
121
|
-
|
122
|
-
} // namespace
|
123
|
-
|
124
|
-
#endif // if x86
|
125
|
-
|
126
|
-
#endif // ifdef V8_ATOMICOPS_INTERNALS_X86_GCC_H_
|
@@ -1,287 +0,0 @@
|
|
1
|
-
// Copyright 2010 the V8 project authors. All rights reserved.
|
2
|
-
// Redistribution and use in source and binary forms, with or without
|
3
|
-
// modification, are permitted provided that the following conditions are
|
4
|
-
// met:
|
5
|
-
//
|
6
|
-
// * Redistributions of source code must retain the above copyright
|
7
|
-
// notice, this list of conditions and the following disclaimer.
|
8
|
-
// * Redistributions in binary form must reproduce the above
|
9
|
-
// copyright notice, this list of conditions and the following
|
10
|
-
// disclaimer in the documentation and/or other materials provided
|
11
|
-
// with the distribution.
|
12
|
-
// * Neither the name of Google Inc. nor the names of its
|
13
|
-
// contributors may be used to endorse or promote products derived
|
14
|
-
// from this software without specific prior written permission.
|
15
|
-
//
|
16
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
20
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
21
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
22
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
23
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
24
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
26
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
-
|
28
|
-
// This file is an internal atomic implementation, use atomicops.h instead.
|
29
|
-
|
30
|
-
#ifndef V8_ATOMICOPS_INTERNALS_X86_GCC_H_
|
31
|
-
#define V8_ATOMICOPS_INTERNALS_X86_GCC_H_
|
32
|
-
|
33
|
-
// This struct is not part of the public API of this module; clients may not
|
34
|
-
// use it.
|
35
|
-
// Features of this x86. Values may not be correct before main() is run,
|
36
|
-
// but are set conservatively.
|
37
|
-
struct AtomicOps_x86CPUFeatureStruct {
|
38
|
-
bool has_amd_lock_mb_bug; // Processor has AMD memory-barrier bug; do lfence
|
39
|
-
// after acquire compare-and-swap.
|
40
|
-
bool has_sse2; // Processor has SSE2.
|
41
|
-
};
|
42
|
-
extern struct AtomicOps_x86CPUFeatureStruct AtomicOps_Internalx86CPUFeatures;
|
43
|
-
|
44
|
-
#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory")
|
45
|
-
|
46
|
-
namespace v8 {
|
47
|
-
namespace internal {
|
48
|
-
|
49
|
-
// 32-bit low-level operations on any platform.
|
50
|
-
|
51
|
-
inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
|
52
|
-
Atomic32 old_value,
|
53
|
-
Atomic32 new_value) {
|
54
|
-
Atomic32 prev;
|
55
|
-
__asm__ __volatile__("lock; cmpxchgl %1,%2"
|
56
|
-
: "=a" (prev)
|
57
|
-
: "q" (new_value), "m" (*ptr), "0" (old_value)
|
58
|
-
: "memory");
|
59
|
-
return prev;
|
60
|
-
}
|
61
|
-
|
62
|
-
inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
|
63
|
-
Atomic32 new_value) {
|
64
|
-
__asm__ __volatile__("xchgl %1,%0" // The lock prefix is implicit for xchg.
|
65
|
-
: "=r" (new_value)
|
66
|
-
: "m" (*ptr), "0" (new_value)
|
67
|
-
: "memory");
|
68
|
-
return new_value; // Now it's the previous value.
|
69
|
-
}
|
70
|
-
|
71
|
-
inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
|
72
|
-
Atomic32 increment) {
|
73
|
-
Atomic32 temp = increment;
|
74
|
-
__asm__ __volatile__("lock; xaddl %0,%1"
|
75
|
-
: "+r" (temp), "+m" (*ptr)
|
76
|
-
: : "memory");
|
77
|
-
// temp now holds the old value of *ptr
|
78
|
-
return temp + increment;
|
79
|
-
}
|
80
|
-
|
81
|
-
inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
|
82
|
-
Atomic32 increment) {
|
83
|
-
Atomic32 temp = increment;
|
84
|
-
__asm__ __volatile__("lock; xaddl %0,%1"
|
85
|
-
: "+r" (temp), "+m" (*ptr)
|
86
|
-
: : "memory");
|
87
|
-
// temp now holds the old value of *ptr
|
88
|
-
if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
|
89
|
-
__asm__ __volatile__("lfence" : : : "memory");
|
90
|
-
}
|
91
|
-
return temp + increment;
|
92
|
-
}
|
93
|
-
|
94
|
-
inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
|
95
|
-
Atomic32 old_value,
|
96
|
-
Atomic32 new_value) {
|
97
|
-
Atomic32 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
|
98
|
-
if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
|
99
|
-
__asm__ __volatile__("lfence" : : : "memory");
|
100
|
-
}
|
101
|
-
return x;
|
102
|
-
}
|
103
|
-
|
104
|
-
inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
|
105
|
-
Atomic32 old_value,
|
106
|
-
Atomic32 new_value) {
|
107
|
-
return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
|
108
|
-
}
|
109
|
-
|
110
|
-
inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
|
111
|
-
*ptr = value;
|
112
|
-
}
|
113
|
-
|
114
|
-
#if defined(__x86_64__)
|
115
|
-
|
116
|
-
// 64-bit implementations of memory barrier can be simpler, because it
|
117
|
-
// "mfence" is guaranteed to exist.
|
118
|
-
inline void MemoryBarrier() {
|
119
|
-
__asm__ __volatile__("mfence" : : : "memory");
|
120
|
-
}
|
121
|
-
|
122
|
-
inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
|
123
|
-
*ptr = value;
|
124
|
-
MemoryBarrier();
|
125
|
-
}
|
126
|
-
|
127
|
-
#else
|
128
|
-
|
129
|
-
inline void MemoryBarrier() {
|
130
|
-
if (AtomicOps_Internalx86CPUFeatures.has_sse2) {
|
131
|
-
__asm__ __volatile__("mfence" : : : "memory");
|
132
|
-
} else { // mfence is faster but not present on PIII
|
133
|
-
Atomic32 x = 0;
|
134
|
-
NoBarrier_AtomicExchange(&x, 0); // acts as a barrier on PIII
|
135
|
-
}
|
136
|
-
}
|
137
|
-
|
138
|
-
inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
|
139
|
-
if (AtomicOps_Internalx86CPUFeatures.has_sse2) {
|
140
|
-
*ptr = value;
|
141
|
-
__asm__ __volatile__("mfence" : : : "memory");
|
142
|
-
} else {
|
143
|
-
NoBarrier_AtomicExchange(ptr, value);
|
144
|
-
// acts as a barrier on PIII
|
145
|
-
}
|
146
|
-
}
|
147
|
-
#endif
|
148
|
-
|
149
|
-
inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) {
|
150
|
-
ATOMICOPS_COMPILER_BARRIER();
|
151
|
-
*ptr = value; // An x86 store acts as a release barrier.
|
152
|
-
// See comments in Atomic64 version of Release_Store(), below.
|
153
|
-
}
|
154
|
-
|
155
|
-
inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
|
156
|
-
return *ptr;
|
157
|
-
}
|
158
|
-
|
159
|
-
inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
|
160
|
-
Atomic32 value = *ptr; // An x86 load acts as a acquire barrier.
|
161
|
-
// See comments in Atomic64 version of Release_Store(), below.
|
162
|
-
ATOMICOPS_COMPILER_BARRIER();
|
163
|
-
return value;
|
164
|
-
}
|
165
|
-
|
166
|
-
inline Atomic32 Release_Load(volatile const Atomic32* ptr) {
|
167
|
-
MemoryBarrier();
|
168
|
-
return *ptr;
|
169
|
-
}
|
170
|
-
|
171
|
-
#if defined(__x86_64__)
|
172
|
-
|
173
|
-
// 64-bit low-level operations on 64-bit platform.
|
174
|
-
|
175
|
-
inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr,
|
176
|
-
Atomic64 old_value,
|
177
|
-
Atomic64 new_value) {
|
178
|
-
Atomic64 prev;
|
179
|
-
__asm__ __volatile__("lock; cmpxchgq %1,%2"
|
180
|
-
: "=a" (prev)
|
181
|
-
: "q" (new_value), "m" (*ptr), "0" (old_value)
|
182
|
-
: "memory");
|
183
|
-
return prev;
|
184
|
-
}
|
185
|
-
|
186
|
-
inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr,
|
187
|
-
Atomic64 new_value) {
|
188
|
-
__asm__ __volatile__("xchgq %1,%0" // The lock prefix is implicit for xchg.
|
189
|
-
: "=r" (new_value)
|
190
|
-
: "m" (*ptr), "0" (new_value)
|
191
|
-
: "memory");
|
192
|
-
return new_value; // Now it's the previous value.
|
193
|
-
}
|
194
|
-
|
195
|
-
inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr,
|
196
|
-
Atomic64 increment) {
|
197
|
-
Atomic64 temp = increment;
|
198
|
-
__asm__ __volatile__("lock; xaddq %0,%1"
|
199
|
-
: "+r" (temp), "+m" (*ptr)
|
200
|
-
: : "memory");
|
201
|
-
// temp now contains the previous value of *ptr
|
202
|
-
return temp + increment;
|
203
|
-
}
|
204
|
-
|
205
|
-
inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr,
|
206
|
-
Atomic64 increment) {
|
207
|
-
Atomic64 temp = increment;
|
208
|
-
__asm__ __volatile__("lock; xaddq %0,%1"
|
209
|
-
: "+r" (temp), "+m" (*ptr)
|
210
|
-
: : "memory");
|
211
|
-
// temp now contains the previous value of *ptr
|
212
|
-
if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
|
213
|
-
__asm__ __volatile__("lfence" : : : "memory");
|
214
|
-
}
|
215
|
-
return temp + increment;
|
216
|
-
}
|
217
|
-
|
218
|
-
inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) {
|
219
|
-
*ptr = value;
|
220
|
-
}
|
221
|
-
|
222
|
-
inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) {
|
223
|
-
*ptr = value;
|
224
|
-
MemoryBarrier();
|
225
|
-
}
|
226
|
-
|
227
|
-
inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) {
|
228
|
-
ATOMICOPS_COMPILER_BARRIER();
|
229
|
-
|
230
|
-
*ptr = value; // An x86 store acts as a release barrier
|
231
|
-
// for current AMD/Intel chips as of Jan 2008.
|
232
|
-
// See also Acquire_Load(), below.
|
233
|
-
|
234
|
-
// When new chips come out, check:
|
235
|
-
// IA-32 Intel Architecture Software Developer's Manual, Volume 3:
|
236
|
-
// System Programming Guide, Chatper 7: Multiple-processor management,
|
237
|
-
// Section 7.2, Memory Ordering.
|
238
|
-
// Last seen at:
|
239
|
-
// http://developer.intel.com/design/pentium4/manuals/index_new.htm
|
240
|
-
//
|
241
|
-
// x86 stores/loads fail to act as barriers for a few instructions (clflush
|
242
|
-
// maskmovdqu maskmovq movntdq movnti movntpd movntps movntq) but these are
|
243
|
-
// not generated by the compiler, and are rare. Users of these instructions
|
244
|
-
// need to know about cache behaviour in any case since all of these involve
|
245
|
-
// either flushing cache lines or non-temporal cache hints.
|
246
|
-
}
|
247
|
-
|
248
|
-
inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) {
|
249
|
-
return *ptr;
|
250
|
-
}
|
251
|
-
|
252
|
-
inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) {
|
253
|
-
Atomic64 value = *ptr; // An x86 load acts as a acquire barrier,
|
254
|
-
// for current AMD/Intel chips as of Jan 2008.
|
255
|
-
// See also Release_Store(), above.
|
256
|
-
ATOMICOPS_COMPILER_BARRIER();
|
257
|
-
return value;
|
258
|
-
}
|
259
|
-
|
260
|
-
inline Atomic64 Release_Load(volatile const Atomic64* ptr) {
|
261
|
-
MemoryBarrier();
|
262
|
-
return *ptr;
|
263
|
-
}
|
264
|
-
|
265
|
-
inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr,
|
266
|
-
Atomic64 old_value,
|
267
|
-
Atomic64 new_value) {
|
268
|
-
Atomic64 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
|
269
|
-
if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
|
270
|
-
__asm__ __volatile__("lfence" : : : "memory");
|
271
|
-
}
|
272
|
-
return x;
|
273
|
-
}
|
274
|
-
|
275
|
-
inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr,
|
276
|
-
Atomic64 old_value,
|
277
|
-
Atomic64 new_value) {
|
278
|
-
return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
|
279
|
-
}
|
280
|
-
|
281
|
-
#endif // defined(__x86_64__)
|
282
|
-
|
283
|
-
} } // namespace v8::internal
|
284
|
-
|
285
|
-
#undef ATOMICOPS_COMPILER_BARRIER
|
286
|
-
|
287
|
-
#endif // V8_ATOMICOPS_INTERNALS_X86_GCC_H_
|
@@ -1,301 +0,0 @@
|
|
1
|
-
// Copyright 2010 the V8 project authors. All rights reserved.
|
2
|
-
// Redistribution and use in source and binary forms, with or without
|
3
|
-
// modification, are permitted provided that the following conditions are
|
4
|
-
// met:
|
5
|
-
//
|
6
|
-
// * Redistributions of source code must retain the above copyright
|
7
|
-
// notice, this list of conditions and the following disclaimer.
|
8
|
-
// * Redistributions in binary form must reproduce the above
|
9
|
-
// copyright notice, this list of conditions and the following
|
10
|
-
// disclaimer in the documentation and/or other materials provided
|
11
|
-
// with the distribution.
|
12
|
-
// * Neither the name of Google Inc. nor the names of its
|
13
|
-
// contributors may be used to endorse or promote products derived
|
14
|
-
// from this software without specific prior written permission.
|
15
|
-
//
|
16
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
20
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
21
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
22
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
23
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
24
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
26
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
-
|
28
|
-
// This file is an internal atomic implementation, use atomicops.h instead.
|
29
|
-
|
30
|
-
#ifndef V8_ATOMICOPS_INTERNALS_X86_MACOSX_H_
|
31
|
-
#define V8_ATOMICOPS_INTERNALS_X86_MACOSX_H_
|
32
|
-
|
33
|
-
#include <libkern/OSAtomic.h>
|
34
|
-
|
35
|
-
namespace v8 {
|
36
|
-
namespace internal {
|
37
|
-
|
38
|
-
inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32 *ptr,
|
39
|
-
Atomic32 old_value,
|
40
|
-
Atomic32 new_value) {
|
41
|
-
Atomic32 prev_value;
|
42
|
-
do {
|
43
|
-
if (OSAtomicCompareAndSwap32(old_value, new_value,
|
44
|
-
const_cast<Atomic32*>(ptr))) {
|
45
|
-
return old_value;
|
46
|
-
}
|
47
|
-
prev_value = *ptr;
|
48
|
-
} while (prev_value == old_value);
|
49
|
-
return prev_value;
|
50
|
-
}
|
51
|
-
|
52
|
-
inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32 *ptr,
|
53
|
-
Atomic32 new_value) {
|
54
|
-
Atomic32 old_value;
|
55
|
-
do {
|
56
|
-
old_value = *ptr;
|
57
|
-
} while (!OSAtomicCompareAndSwap32(old_value, new_value,
|
58
|
-
const_cast<Atomic32*>(ptr)));
|
59
|
-
return old_value;
|
60
|
-
}
|
61
|
-
|
62
|
-
inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32 *ptr,
|
63
|
-
Atomic32 increment) {
|
64
|
-
return OSAtomicAdd32(increment, const_cast<Atomic32*>(ptr));
|
65
|
-
}
|
66
|
-
|
67
|
-
inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32 *ptr,
|
68
|
-
Atomic32 increment) {
|
69
|
-
return OSAtomicAdd32Barrier(increment, const_cast<Atomic32*>(ptr));
|
70
|
-
}
|
71
|
-
|
72
|
-
inline void MemoryBarrier() {
|
73
|
-
OSMemoryBarrier();
|
74
|
-
}
|
75
|
-
|
76
|
-
inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32 *ptr,
|
77
|
-
Atomic32 old_value,
|
78
|
-
Atomic32 new_value) {
|
79
|
-
Atomic32 prev_value;
|
80
|
-
do {
|
81
|
-
if (OSAtomicCompareAndSwap32Barrier(old_value, new_value,
|
82
|
-
const_cast<Atomic32*>(ptr))) {
|
83
|
-
return old_value;
|
84
|
-
}
|
85
|
-
prev_value = *ptr;
|
86
|
-
} while (prev_value == old_value);
|
87
|
-
return prev_value;
|
88
|
-
}
|
89
|
-
|
90
|
-
inline Atomic32 Release_CompareAndSwap(volatile Atomic32 *ptr,
|
91
|
-
Atomic32 old_value,
|
92
|
-
Atomic32 new_value) {
|
93
|
-
return Acquire_CompareAndSwap(ptr, old_value, new_value);
|
94
|
-
}
|
95
|
-
|
96
|
-
inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
|
97
|
-
*ptr = value;
|
98
|
-
}
|
99
|
-
|
100
|
-
inline void Acquire_Store(volatile Atomic32 *ptr, Atomic32 value) {
|
101
|
-
*ptr = value;
|
102
|
-
MemoryBarrier();
|
103
|
-
}
|
104
|
-
|
105
|
-
inline void Release_Store(volatile Atomic32 *ptr, Atomic32 value) {
|
106
|
-
MemoryBarrier();
|
107
|
-
*ptr = value;
|
108
|
-
}
|
109
|
-
|
110
|
-
inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
|
111
|
-
return *ptr;
|
112
|
-
}
|
113
|
-
|
114
|
-
inline Atomic32 Acquire_Load(volatile const Atomic32 *ptr) {
|
115
|
-
Atomic32 value = *ptr;
|
116
|
-
MemoryBarrier();
|
117
|
-
return value;
|
118
|
-
}
|
119
|
-
|
120
|
-
inline Atomic32 Release_Load(volatile const Atomic32 *ptr) {
|
121
|
-
MemoryBarrier();
|
122
|
-
return *ptr;
|
123
|
-
}
|
124
|
-
|
125
|
-
#ifdef __LP64__
|
126
|
-
|
127
|
-
// 64-bit implementation on 64-bit platform
|
128
|
-
|
129
|
-
inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64 *ptr,
|
130
|
-
Atomic64 old_value,
|
131
|
-
Atomic64 new_value) {
|
132
|
-
Atomic64 prev_value;
|
133
|
-
do {
|
134
|
-
if (OSAtomicCompareAndSwap64(old_value, new_value,
|
135
|
-
const_cast<Atomic64*>(ptr))) {
|
136
|
-
return old_value;
|
137
|
-
}
|
138
|
-
prev_value = *ptr;
|
139
|
-
} while (prev_value == old_value);
|
140
|
-
return prev_value;
|
141
|
-
}
|
142
|
-
|
143
|
-
inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64 *ptr,
|
144
|
-
Atomic64 new_value) {
|
145
|
-
Atomic64 old_value;
|
146
|
-
do {
|
147
|
-
old_value = *ptr;
|
148
|
-
} while (!OSAtomicCompareAndSwap64(old_value, new_value,
|
149
|
-
const_cast<Atomic64*>(ptr)));
|
150
|
-
return old_value;
|
151
|
-
}
|
152
|
-
|
153
|
-
inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64 *ptr,
|
154
|
-
Atomic64 increment) {
|
155
|
-
return OSAtomicAdd64(increment, const_cast<Atomic64*>(ptr));
|
156
|
-
}
|
157
|
-
|
158
|
-
inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64 *ptr,
|
159
|
-
Atomic64 increment) {
|
160
|
-
return OSAtomicAdd64Barrier(increment, const_cast<Atomic64*>(ptr));
|
161
|
-
}
|
162
|
-
|
163
|
-
inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64 *ptr,
|
164
|
-
Atomic64 old_value,
|
165
|
-
Atomic64 new_value) {
|
166
|
-
Atomic64 prev_value;
|
167
|
-
do {
|
168
|
-
if (OSAtomicCompareAndSwap64Barrier(old_value, new_value,
|
169
|
-
const_cast<Atomic64*>(ptr))) {
|
170
|
-
return old_value;
|
171
|
-
}
|
172
|
-
prev_value = *ptr;
|
173
|
-
} while (prev_value == old_value);
|
174
|
-
return prev_value;
|
175
|
-
}
|
176
|
-
|
177
|
-
inline Atomic64 Release_CompareAndSwap(volatile Atomic64 *ptr,
|
178
|
-
Atomic64 old_value,
|
179
|
-
Atomic64 new_value) {
|
180
|
-
// The lib kern interface does not distinguish between
|
181
|
-
// Acquire and Release memory barriers; they are equivalent.
|
182
|
-
return Acquire_CompareAndSwap(ptr, old_value, new_value);
|
183
|
-
}
|
184
|
-
|
185
|
-
inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) {
|
186
|
-
*ptr = value;
|
187
|
-
}
|
188
|
-
|
189
|
-
inline void Acquire_Store(volatile Atomic64 *ptr, Atomic64 value) {
|
190
|
-
*ptr = value;
|
191
|
-
MemoryBarrier();
|
192
|
-
}
|
193
|
-
|
194
|
-
inline void Release_Store(volatile Atomic64 *ptr, Atomic64 value) {
|
195
|
-
MemoryBarrier();
|
196
|
-
*ptr = value;
|
197
|
-
}
|
198
|
-
|
199
|
-
inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) {
|
200
|
-
return *ptr;
|
201
|
-
}
|
202
|
-
|
203
|
-
inline Atomic64 Acquire_Load(volatile const Atomic64 *ptr) {
|
204
|
-
Atomic64 value = *ptr;
|
205
|
-
MemoryBarrier();
|
206
|
-
return value;
|
207
|
-
}
|
208
|
-
|
209
|
-
inline Atomic64 Release_Load(volatile const Atomic64 *ptr) {
|
210
|
-
MemoryBarrier();
|
211
|
-
return *ptr;
|
212
|
-
}
|
213
|
-
|
214
|
-
#endif // defined(__LP64__)
|
215
|
-
|
216
|
-
// MacOS uses long for intptr_t, AtomicWord and Atomic32 are always different
|
217
|
-
// on the Mac, even when they are the same size. We need to explicitly cast
|
218
|
-
// from AtomicWord to Atomic32/64 to implement the AtomicWord interface.
|
219
|
-
#ifdef __LP64__
|
220
|
-
#define AtomicWordCastType Atomic64
|
221
|
-
#else
|
222
|
-
#define AtomicWordCastType Atomic32
|
223
|
-
#endif
|
224
|
-
|
225
|
-
inline AtomicWord NoBarrier_CompareAndSwap(volatile AtomicWord* ptr,
|
226
|
-
AtomicWord old_value,
|
227
|
-
AtomicWord new_value) {
|
228
|
-
return NoBarrier_CompareAndSwap(
|
229
|
-
reinterpret_cast<volatile AtomicWordCastType*>(ptr),
|
230
|
-
old_value, new_value);
|
231
|
-
}
|
232
|
-
|
233
|
-
inline AtomicWord NoBarrier_AtomicExchange(volatile AtomicWord* ptr,
|
234
|
-
AtomicWord new_value) {
|
235
|
-
return NoBarrier_AtomicExchange(
|
236
|
-
reinterpret_cast<volatile AtomicWordCastType*>(ptr), new_value);
|
237
|
-
}
|
238
|
-
|
239
|
-
inline AtomicWord NoBarrier_AtomicIncrement(volatile AtomicWord* ptr,
|
240
|
-
AtomicWord increment) {
|
241
|
-
return NoBarrier_AtomicIncrement(
|
242
|
-
reinterpret_cast<volatile AtomicWordCastType*>(ptr), increment);
|
243
|
-
}
|
244
|
-
|
245
|
-
inline AtomicWord Barrier_AtomicIncrement(volatile AtomicWord* ptr,
|
246
|
-
AtomicWord increment) {
|
247
|
-
return Barrier_AtomicIncrement(
|
248
|
-
reinterpret_cast<volatile AtomicWordCastType*>(ptr), increment);
|
249
|
-
}
|
250
|
-
|
251
|
-
inline AtomicWord Acquire_CompareAndSwap(volatile AtomicWord* ptr,
|
252
|
-
AtomicWord old_value,
|
253
|
-
AtomicWord new_value) {
|
254
|
-
return v8::internal::Acquire_CompareAndSwap(
|
255
|
-
reinterpret_cast<volatile AtomicWordCastType*>(ptr),
|
256
|
-
old_value, new_value);
|
257
|
-
}
|
258
|
-
|
259
|
-
inline AtomicWord Release_CompareAndSwap(volatile AtomicWord* ptr,
|
260
|
-
AtomicWord old_value,
|
261
|
-
AtomicWord new_value) {
|
262
|
-
return v8::internal::Release_CompareAndSwap(
|
263
|
-
reinterpret_cast<volatile AtomicWordCastType*>(ptr),
|
264
|
-
old_value, new_value);
|
265
|
-
}
|
266
|
-
|
267
|
-
inline void NoBarrier_Store(volatile AtomicWord *ptr, AtomicWord value) {
|
268
|
-
NoBarrier_Store(
|
269
|
-
reinterpret_cast<volatile AtomicWordCastType*>(ptr), value);
|
270
|
-
}
|
271
|
-
|
272
|
-
inline void Acquire_Store(volatile AtomicWord* ptr, AtomicWord value) {
|
273
|
-
return v8::internal::Acquire_Store(
|
274
|
-
reinterpret_cast<volatile AtomicWordCastType*>(ptr), value);
|
275
|
-
}
|
276
|
-
|
277
|
-
inline void Release_Store(volatile AtomicWord* ptr, AtomicWord value) {
|
278
|
-
return v8::internal::Release_Store(
|
279
|
-
reinterpret_cast<volatile AtomicWordCastType*>(ptr), value);
|
280
|
-
}
|
281
|
-
|
282
|
-
inline AtomicWord NoBarrier_Load(volatile const AtomicWord *ptr) {
|
283
|
-
return NoBarrier_Load(
|
284
|
-
reinterpret_cast<volatile const AtomicWordCastType*>(ptr));
|
285
|
-
}
|
286
|
-
|
287
|
-
inline AtomicWord Acquire_Load(volatile const AtomicWord* ptr) {
|
288
|
-
return v8::internal::Acquire_Load(
|
289
|
-
reinterpret_cast<volatile const AtomicWordCastType*>(ptr));
|
290
|
-
}
|
291
|
-
|
292
|
-
inline AtomicWord Release_Load(volatile const AtomicWord* ptr) {
|
293
|
-
return v8::internal::Release_Load(
|
294
|
-
reinterpret_cast<volatile const AtomicWordCastType*>(ptr));
|
295
|
-
}
|
296
|
-
|
297
|
-
#undef AtomicWordCastType
|
298
|
-
|
299
|
-
} } // namespace v8::internal
|
300
|
-
|
301
|
-
#endif // V8_ATOMICOPS_INTERNALS_X86_MACOSX_H_
|