therubyracer 0.5.0-x86-linux → 0.11.0beta5-x86-linux
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 +23 -11
- data/.travis.yml +10 -0
- data/Changelog.md +242 -0
- data/Gemfile +16 -0
- data/README.md +185 -0
- data/Rakefile +42 -51
- data/benchmarks.rb +217 -0
- data/ext/v8/accessor.cc +181 -0
- data/ext/v8/array.cc +26 -0
- data/ext/v8/backref.cc +56 -0
- data/ext/v8/build.rb +52 -0
- data/ext/v8/constants.cc +34 -0
- data/ext/v8/constraints.cc +52 -0
- data/ext/v8/context.cc +130 -0
- data/ext/v8/date.cc +18 -0
- data/ext/v8/exception.cc +38 -0
- data/ext/v8/extconf.rb +16 -29
- data/ext/v8/external.cc +43 -0
- data/ext/v8/function.cc +58 -0
- data/ext/v8/gc.cc +43 -0
- data/ext/v8/handles.cc +34 -0
- data/ext/v8/heap.cc +31 -0
- data/ext/v8/init.cc +39 -0
- data/ext/v8/init.so +0 -0
- data/ext/v8/invocation.cc +86 -0
- data/ext/v8/locker.cc +77 -0
- data/ext/v8/message.cc +51 -0
- data/ext/v8/object.cc +334 -0
- data/ext/v8/primitive.cc +8 -0
- data/ext/v8/rr.cc +83 -0
- data/ext/v8/rr.h +883 -0
- data/ext/v8/script.cc +80 -0
- data/ext/v8/signature.cc +18 -0
- data/ext/v8/stack.cc +75 -0
- data/ext/v8/string.cc +47 -0
- data/ext/v8/template.cc +175 -0
- data/ext/v8/trycatch.cc +86 -0
- data/ext/v8/v8.cc +87 -0
- data/ext/v8/value.cc +239 -0
- data/lib/v8.rb +30 -9
- data/lib/v8/access.rb +5 -0
- data/lib/v8/access/indices.rb +40 -0
- data/lib/v8/access/invocation.rb +47 -0
- data/lib/v8/access/names.rb +65 -0
- data/lib/v8/array.rb +26 -0
- data/lib/v8/context.rb +217 -75
- data/lib/v8/conversion.rb +35 -0
- data/lib/v8/conversion/array.rb +11 -0
- data/lib/v8/conversion/class.rb +120 -0
- data/lib/v8/conversion/code.rb +38 -0
- data/lib/v8/conversion/fundamental.rb +11 -0
- data/lib/v8/conversion/hash.rb +11 -0
- data/lib/v8/conversion/indentity.rb +31 -0
- data/lib/v8/conversion/method.rb +26 -0
- data/lib/v8/conversion/object.rb +28 -0
- data/lib/v8/conversion/primitive.rb +7 -0
- data/lib/v8/conversion/proc.rb +5 -0
- data/lib/v8/conversion/reference.rb +16 -0
- data/lib/v8/conversion/string.rb +12 -0
- data/lib/v8/conversion/symbol.rb +7 -0
- data/lib/v8/conversion/time.rb +13 -0
- data/lib/v8/error.rb +25 -0
- data/lib/v8/error/protect.rb +20 -0
- data/lib/v8/error/try.rb +15 -0
- data/lib/v8/function.rb +28 -0
- data/lib/v8/object.rb +69 -28
- data/lib/v8/util/weakcell.rb +29 -0
- data/lib/v8/version.rb +3 -0
- data/spec/c/array_spec.rb +17 -0
- data/spec/c/constants_spec.rb +20 -0
- data/spec/c/exception_spec.rb +26 -0
- data/spec/c/external_spec.rb +9 -0
- data/spec/c/function_spec.rb +46 -0
- data/spec/c/handles_spec.rb +35 -0
- data/spec/c/locker_spec.rb +38 -0
- data/spec/c/object_spec.rb +46 -0
- data/spec/c/script_spec.rb +28 -0
- data/spec/c/string_spec.rb +16 -0
- data/spec/c/template_spec.rb +30 -0
- data/spec/c/trycatch_spec.rb +51 -0
- data/spec/mem/blunt_spec.rb +42 -0
- data/spec/redjs_spec.rb +10 -0
- data/spec/spec_helper.rb +43 -12
- data/spec/threading_spec.rb +52 -0
- data/spec/v8/context_spec.rb +19 -0
- data/spec/v8/conversion_spec.rb +9 -0
- data/spec/v8/error_spec.rb +21 -0
- data/spec/v8/function_spec.rb +9 -0
- data/spec/v8/object_spec.rb +15 -0
- data/thefrontside.png +0 -0
- data/therubyracer.gemspec +15 -676
- metadata +146 -680
- data/.gitmodules +0 -3
- data/Doxyfile +0 -1514
- data/History.txt +0 -51
- data/README.rdoc +0 -158
- data/docs/data_conversion.txt +0 -18
- data/ext/v8/callbacks.cpp +0 -160
- data/ext/v8/callbacks.h +0 -14
- data/ext/v8/convert_ruby.cpp +0 -8
- data/ext/v8/convert_ruby.h +0 -99
- data/ext/v8/convert_string.cpp +0 -10
- data/ext/v8/convert_string.h +0 -73
- data/ext/v8/convert_v8.cpp +0 -9
- data/ext/v8/convert_v8.h +0 -121
- data/ext/v8/converters.cpp +0 -83
- data/ext/v8/converters.h +0 -23
- data/ext/v8/upstream/2.0.6/.gitignore +0 -26
- data/ext/v8/upstream/2.0.6/AUTHORS +0 -23
- data/ext/v8/upstream/2.0.6/ChangeLog +0 -1479
- data/ext/v8/upstream/2.0.6/LICENSE +0 -55
- data/ext/v8/upstream/2.0.6/SConstruct +0 -1028
- data/ext/v8/upstream/2.0.6/include/v8-debug.h +0 -275
- data/ext/v8/upstream/2.0.6/include/v8.h +0 -3236
- data/ext/v8/upstream/2.0.6/src/SConscript +0 -283
- data/ext/v8/upstream/2.0.6/src/accessors.cc +0 -695
- data/ext/v8/upstream/2.0.6/src/accessors.h +0 -114
- data/ext/v8/upstream/2.0.6/src/allocation.cc +0 -198
- data/ext/v8/upstream/2.0.6/src/allocation.h +0 -169
- data/ext/v8/upstream/2.0.6/src/api.cc +0 -3831
- data/ext/v8/upstream/2.0.6/src/api.h +0 -479
- data/ext/v8/upstream/2.0.6/src/apinatives.js +0 -110
- data/ext/v8/upstream/2.0.6/src/apiutils.h +0 -69
- data/ext/v8/upstream/2.0.6/src/arguments.h +0 -97
- data/ext/v8/upstream/2.0.6/src/arm/assembler-arm-inl.h +0 -277
- data/ext/v8/upstream/2.0.6/src/arm/assembler-arm.cc +0 -1821
- data/ext/v8/upstream/2.0.6/src/arm/assembler-arm.h +0 -1027
- data/ext/v8/upstream/2.0.6/src/arm/assembler-thumb2-inl.h +0 -267
- data/ext/v8/upstream/2.0.6/src/arm/assembler-thumb2.cc +0 -1821
- data/ext/v8/upstream/2.0.6/src/arm/assembler-thumb2.h +0 -1027
- data/ext/v8/upstream/2.0.6/src/arm/builtins-arm.cc +0 -1271
- data/ext/v8/upstream/2.0.6/src/arm/codegen-arm-inl.h +0 -74
- data/ext/v8/upstream/2.0.6/src/arm/codegen-arm.cc +0 -6682
- data/ext/v8/upstream/2.0.6/src/arm/codegen-arm.h +0 -535
- data/ext/v8/upstream/2.0.6/src/arm/constants-arm.cc +0 -112
- data/ext/v8/upstream/2.0.6/src/arm/constants-arm.h +0 -347
- data/ext/v8/upstream/2.0.6/src/arm/cpu-arm.cc +0 -132
- data/ext/v8/upstream/2.0.6/src/arm/debug-arm.cc +0 -213
- data/ext/v8/upstream/2.0.6/src/arm/disasm-arm.cc +0 -1166
- data/ext/v8/upstream/2.0.6/src/arm/fast-codegen-arm.cc +0 -1698
- data/ext/v8/upstream/2.0.6/src/arm/frames-arm.cc +0 -123
- data/ext/v8/upstream/2.0.6/src/arm/frames-arm.h +0 -162
- data/ext/v8/upstream/2.0.6/src/arm/ic-arm.cc +0 -849
- data/ext/v8/upstream/2.0.6/src/arm/jump-target-arm.cc +0 -238
- data/ext/v8/upstream/2.0.6/src/arm/macro-assembler-arm.cc +0 -1259
- data/ext/v8/upstream/2.0.6/src/arm/macro-assembler-arm.h +0 -423
- data/ext/v8/upstream/2.0.6/src/arm/regexp-macro-assembler-arm.cc +0 -1266
- data/ext/v8/upstream/2.0.6/src/arm/regexp-macro-assembler-arm.h +0 -282
- data/ext/v8/upstream/2.0.6/src/arm/register-allocator-arm-inl.h +0 -103
- data/ext/v8/upstream/2.0.6/src/arm/register-allocator-arm.cc +0 -59
- data/ext/v8/upstream/2.0.6/src/arm/register-allocator-arm.h +0 -43
- data/ext/v8/upstream/2.0.6/src/arm/simulator-arm.cc +0 -2264
- data/ext/v8/upstream/2.0.6/src/arm/simulator-arm.h +0 -306
- data/ext/v8/upstream/2.0.6/src/arm/stub-cache-arm.cc +0 -1516
- data/ext/v8/upstream/2.0.6/src/arm/virtual-frame-arm.cc +0 -412
- data/ext/v8/upstream/2.0.6/src/arm/virtual-frame-arm.h +0 -532
- data/ext/v8/upstream/2.0.6/src/array.js +0 -1154
- data/ext/v8/upstream/2.0.6/src/assembler.cc +0 -772
- data/ext/v8/upstream/2.0.6/src/assembler.h +0 -525
- data/ext/v8/upstream/2.0.6/src/ast.cc +0 -512
- data/ext/v8/upstream/2.0.6/src/ast.h +0 -1820
- data/ext/v8/upstream/2.0.6/src/bootstrapper.cc +0 -1680
- data/ext/v8/upstream/2.0.6/src/bootstrapper.h +0 -103
- data/ext/v8/upstream/2.0.6/src/builtins.cc +0 -851
- data/ext/v8/upstream/2.0.6/src/builtins.h +0 -245
- data/ext/v8/upstream/2.0.6/src/bytecodes-irregexp.h +0 -104
- data/ext/v8/upstream/2.0.6/src/char-predicates-inl.h +0 -86
- data/ext/v8/upstream/2.0.6/src/char-predicates.h +0 -65
- data/ext/v8/upstream/2.0.6/src/checks.cc +0 -100
- data/ext/v8/upstream/2.0.6/src/checks.h +0 -284
- data/ext/v8/upstream/2.0.6/src/code-stubs.cc +0 -164
- data/ext/v8/upstream/2.0.6/src/code-stubs.h +0 -164
- data/ext/v8/upstream/2.0.6/src/code.h +0 -68
- data/ext/v8/upstream/2.0.6/src/codegen-inl.h +0 -88
- data/ext/v8/upstream/2.0.6/src/codegen.cc +0 -504
- data/ext/v8/upstream/2.0.6/src/codegen.h +0 -522
- data/ext/v8/upstream/2.0.6/src/compilation-cache.cc +0 -490
- data/ext/v8/upstream/2.0.6/src/compilation-cache.h +0 -98
- data/ext/v8/upstream/2.0.6/src/compiler.cc +0 -1132
- data/ext/v8/upstream/2.0.6/src/compiler.h +0 -107
- data/ext/v8/upstream/2.0.6/src/contexts.cc +0 -256
- data/ext/v8/upstream/2.0.6/src/contexts.h +0 -345
- data/ext/v8/upstream/2.0.6/src/conversions-inl.h +0 -95
- data/ext/v8/upstream/2.0.6/src/conversions.cc +0 -709
- data/ext/v8/upstream/2.0.6/src/conversions.h +0 -118
- data/ext/v8/upstream/2.0.6/src/counters.cc +0 -78
- data/ext/v8/upstream/2.0.6/src/counters.h +0 -239
- data/ext/v8/upstream/2.0.6/src/cpu.h +0 -65
- data/ext/v8/upstream/2.0.6/src/d8-debug.cc +0 -345
- data/ext/v8/upstream/2.0.6/src/d8-debug.h +0 -155
- data/ext/v8/upstream/2.0.6/src/d8-posix.cc +0 -675
- data/ext/v8/upstream/2.0.6/src/d8-readline.cc +0 -128
- data/ext/v8/upstream/2.0.6/src/d8-windows.cc +0 -42
- data/ext/v8/upstream/2.0.6/src/d8.cc +0 -776
- data/ext/v8/upstream/2.0.6/src/d8.h +0 -225
- data/ext/v8/upstream/2.0.6/src/d8.js +0 -1625
- data/ext/v8/upstream/2.0.6/src/date-delay.js +0 -1138
- data/ext/v8/upstream/2.0.6/src/dateparser-inl.h +0 -114
- data/ext/v8/upstream/2.0.6/src/dateparser.cc +0 -186
- data/ext/v8/upstream/2.0.6/src/dateparser.h +0 -240
- data/ext/v8/upstream/2.0.6/src/debug-agent.cc +0 -425
- data/ext/v8/upstream/2.0.6/src/debug-agent.h +0 -129
- data/ext/v8/upstream/2.0.6/src/debug-delay.js +0 -2073
- data/ext/v8/upstream/2.0.6/src/debug.cc +0 -2751
- data/ext/v8/upstream/2.0.6/src/debug.h +0 -866
- data/ext/v8/upstream/2.0.6/src/disasm.h +0 -77
- data/ext/v8/upstream/2.0.6/src/disassembler.cc +0 -318
- data/ext/v8/upstream/2.0.6/src/disassembler.h +0 -56
- data/ext/v8/upstream/2.0.6/src/dtoa-config.c +0 -91
- data/ext/v8/upstream/2.0.6/src/execution.cc +0 -701
- data/ext/v8/upstream/2.0.6/src/execution.h +0 -312
- data/ext/v8/upstream/2.0.6/src/factory.cc +0 -957
- data/ext/v8/upstream/2.0.6/src/factory.h +0 -393
- data/ext/v8/upstream/2.0.6/src/fast-codegen.cc +0 -725
- data/ext/v8/upstream/2.0.6/src/fast-codegen.h +0 -371
- data/ext/v8/upstream/2.0.6/src/flag-definitions.h +0 -426
- data/ext/v8/upstream/2.0.6/src/flags.cc +0 -555
- data/ext/v8/upstream/2.0.6/src/flags.h +0 -81
- data/ext/v8/upstream/2.0.6/src/frame-element.cc +0 -45
- data/ext/v8/upstream/2.0.6/src/frame-element.h +0 -235
- data/ext/v8/upstream/2.0.6/src/frames-inl.h +0 -215
- data/ext/v8/upstream/2.0.6/src/frames.cc +0 -749
- data/ext/v8/upstream/2.0.6/src/frames.h +0 -659
- data/ext/v8/upstream/2.0.6/src/func-name-inferrer.cc +0 -76
- data/ext/v8/upstream/2.0.6/src/func-name-inferrer.h +0 -135
- data/ext/v8/upstream/2.0.6/src/global-handles.cc +0 -516
- data/ext/v8/upstream/2.0.6/src/global-handles.h +0 -180
- data/ext/v8/upstream/2.0.6/src/globals.h +0 -608
- data/ext/v8/upstream/2.0.6/src/handles-inl.h +0 -76
- data/ext/v8/upstream/2.0.6/src/handles.cc +0 -811
- data/ext/v8/upstream/2.0.6/src/handles.h +0 -367
- data/ext/v8/upstream/2.0.6/src/hashmap.cc +0 -226
- data/ext/v8/upstream/2.0.6/src/hashmap.h +0 -120
- data/ext/v8/upstream/2.0.6/src/heap-inl.h +0 -407
- data/ext/v8/upstream/2.0.6/src/heap-profiler.cc +0 -695
- data/ext/v8/upstream/2.0.6/src/heap-profiler.h +0 -277
- data/ext/v8/upstream/2.0.6/src/heap.cc +0 -4204
- data/ext/v8/upstream/2.0.6/src/heap.h +0 -1704
- data/ext/v8/upstream/2.0.6/src/ia32/assembler-ia32-inl.h +0 -325
- data/ext/v8/upstream/2.0.6/src/ia32/assembler-ia32.cc +0 -2375
- data/ext/v8/upstream/2.0.6/src/ia32/assembler-ia32.h +0 -914
- data/ext/v8/upstream/2.0.6/src/ia32/builtins-ia32.cc +0 -1222
- data/ext/v8/upstream/2.0.6/src/ia32/codegen-ia32-inl.h +0 -46
- data/ext/v8/upstream/2.0.6/src/ia32/codegen-ia32.cc +0 -9770
- data/ext/v8/upstream/2.0.6/src/ia32/codegen-ia32.h +0 -834
- data/ext/v8/upstream/2.0.6/src/ia32/cpu-ia32.cc +0 -79
- data/ext/v8/upstream/2.0.6/src/ia32/debug-ia32.cc +0 -208
- data/ext/v8/upstream/2.0.6/src/ia32/disasm-ia32.cc +0 -1357
- data/ext/v8/upstream/2.0.6/src/ia32/fast-codegen-ia32.cc +0 -1813
- data/ext/v8/upstream/2.0.6/src/ia32/frames-ia32.cc +0 -111
- data/ext/v8/upstream/2.0.6/src/ia32/frames-ia32.h +0 -135
- data/ext/v8/upstream/2.0.6/src/ia32/ic-ia32.cc +0 -1490
- data/ext/v8/upstream/2.0.6/src/ia32/jump-target-ia32.cc +0 -432
- data/ext/v8/upstream/2.0.6/src/ia32/macro-assembler-ia32.cc +0 -1517
- data/ext/v8/upstream/2.0.6/src/ia32/macro-assembler-ia32.h +0 -528
- data/ext/v8/upstream/2.0.6/src/ia32/regexp-macro-assembler-ia32.cc +0 -1219
- data/ext/v8/upstream/2.0.6/src/ia32/regexp-macro-assembler-ia32.h +0 -230
- data/ext/v8/upstream/2.0.6/src/ia32/register-allocator-ia32-inl.h +0 -82
- data/ext/v8/upstream/2.0.6/src/ia32/register-allocator-ia32.cc +0 -99
- data/ext/v8/upstream/2.0.6/src/ia32/register-allocator-ia32.h +0 -43
- data/ext/v8/upstream/2.0.6/src/ia32/simulator-ia32.cc +0 -30
- data/ext/v8/upstream/2.0.6/src/ia32/simulator-ia32.h +0 -62
- data/ext/v8/upstream/2.0.6/src/ia32/stub-cache-ia32.cc +0 -1961
- data/ext/v8/upstream/2.0.6/src/ia32/virtual-frame-ia32.cc +0 -1105
- data/ext/v8/upstream/2.0.6/src/ia32/virtual-frame-ia32.h +0 -580
- data/ext/v8/upstream/2.0.6/src/ic-inl.h +0 -93
- data/ext/v8/upstream/2.0.6/src/ic.cc +0 -1426
- data/ext/v8/upstream/2.0.6/src/ic.h +0 -443
- data/ext/v8/upstream/2.0.6/src/interpreter-irregexp.cc +0 -646
- data/ext/v8/upstream/2.0.6/src/interpreter-irregexp.h +0 -48
- data/ext/v8/upstream/2.0.6/src/json-delay.js +0 -254
- data/ext/v8/upstream/2.0.6/src/jsregexp.cc +0 -5234
- data/ext/v8/upstream/2.0.6/src/jsregexp.h +0 -1439
- data/ext/v8/upstream/2.0.6/src/jump-target-inl.h +0 -49
- data/ext/v8/upstream/2.0.6/src/jump-target.cc +0 -383
- data/ext/v8/upstream/2.0.6/src/jump-target.h +0 -280
- data/ext/v8/upstream/2.0.6/src/list-inl.h +0 -166
- data/ext/v8/upstream/2.0.6/src/list.h +0 -158
- data/ext/v8/upstream/2.0.6/src/log-inl.h +0 -126
- data/ext/v8/upstream/2.0.6/src/log-utils.cc +0 -503
- data/ext/v8/upstream/2.0.6/src/log-utils.h +0 -292
- data/ext/v8/upstream/2.0.6/src/log.cc +0 -1457
- data/ext/v8/upstream/2.0.6/src/log.h +0 -371
- data/ext/v8/upstream/2.0.6/src/macro-assembler.h +0 -93
- data/ext/v8/upstream/2.0.6/src/macros.py +0 -137
- data/ext/v8/upstream/2.0.6/src/mark-compact.cc +0 -2007
- data/ext/v8/upstream/2.0.6/src/mark-compact.h +0 -442
- data/ext/v8/upstream/2.0.6/src/math.js +0 -263
- data/ext/v8/upstream/2.0.6/src/memory.h +0 -74
- data/ext/v8/upstream/2.0.6/src/messages.cc +0 -177
- data/ext/v8/upstream/2.0.6/src/messages.h +0 -112
- data/ext/v8/upstream/2.0.6/src/messages.js +0 -937
- data/ext/v8/upstream/2.0.6/src/mirror-delay.js +0 -2332
- data/ext/v8/upstream/2.0.6/src/mksnapshot.cc +0 -169
- data/ext/v8/upstream/2.0.6/src/natives.h +0 -63
- data/ext/v8/upstream/2.0.6/src/objects-debug.cc +0 -1317
- data/ext/v8/upstream/2.0.6/src/objects-inl.h +0 -3044
- data/ext/v8/upstream/2.0.6/src/objects.cc +0 -8306
- data/ext/v8/upstream/2.0.6/src/objects.h +0 -4960
- data/ext/v8/upstream/2.0.6/src/oprofile-agent.cc +0 -116
- data/ext/v8/upstream/2.0.6/src/oprofile-agent.h +0 -69
- data/ext/v8/upstream/2.0.6/src/parser.cc +0 -4810
- data/ext/v8/upstream/2.0.6/src/parser.h +0 -195
- data/ext/v8/upstream/2.0.6/src/platform-freebsd.cc +0 -645
- data/ext/v8/upstream/2.0.6/src/platform-linux.cc +0 -808
- data/ext/v8/upstream/2.0.6/src/platform-macos.cc +0 -643
- data/ext/v8/upstream/2.0.6/src/platform-nullos.cc +0 -454
- data/ext/v8/upstream/2.0.6/src/platform-openbsd.cc +0 -597
- data/ext/v8/upstream/2.0.6/src/platform-posix.cc +0 -380
- data/ext/v8/upstream/2.0.6/src/platform-win32.cc +0 -1908
- data/ext/v8/upstream/2.0.6/src/platform.h +0 -556
- data/ext/v8/upstream/2.0.6/src/prettyprinter.cc +0 -1511
- data/ext/v8/upstream/2.0.6/src/prettyprinter.h +0 -219
- data/ext/v8/upstream/2.0.6/src/property.cc +0 -96
- data/ext/v8/upstream/2.0.6/src/property.h +0 -327
- data/ext/v8/upstream/2.0.6/src/regexp-delay.js +0 -406
- data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-irregexp-inl.h +0 -78
- data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-irregexp.cc +0 -464
- data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-irregexp.h +0 -141
- data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-tracer.cc +0 -356
- data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-tracer.h +0 -103
- data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler.cc +0 -240
- data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler.h +0 -220
- data/ext/v8/upstream/2.0.6/src/regexp-stack.cc +0 -103
- data/ext/v8/upstream/2.0.6/src/regexp-stack.h +0 -123
- data/ext/v8/upstream/2.0.6/src/register-allocator-inl.h +0 -74
- data/ext/v8/upstream/2.0.6/src/register-allocator.cc +0 -100
- data/ext/v8/upstream/2.0.6/src/register-allocator.h +0 -295
- data/ext/v8/upstream/2.0.6/src/rewriter.cc +0 -855
- data/ext/v8/upstream/2.0.6/src/rewriter.h +0 -54
- data/ext/v8/upstream/2.0.6/src/runtime.cc +0 -8163
- data/ext/v8/upstream/2.0.6/src/runtime.h +0 -432
- data/ext/v8/upstream/2.0.6/src/runtime.js +0 -626
- data/ext/v8/upstream/2.0.6/src/scanner.cc +0 -1098
- data/ext/v8/upstream/2.0.6/src/scanner.h +0 -425
- data/ext/v8/upstream/2.0.6/src/scopeinfo.cc +0 -649
- data/ext/v8/upstream/2.0.6/src/scopeinfo.h +0 -236
- data/ext/v8/upstream/2.0.6/src/scopes.cc +0 -963
- data/ext/v8/upstream/2.0.6/src/scopes.h +0 -401
- data/ext/v8/upstream/2.0.6/src/serialize.cc +0 -1260
- data/ext/v8/upstream/2.0.6/src/serialize.h +0 -404
- data/ext/v8/upstream/2.0.6/src/shell.h +0 -55
- data/ext/v8/upstream/2.0.6/src/simulator.h +0 -41
- data/ext/v8/upstream/2.0.6/src/smart-pointer.h +0 -109
- data/ext/v8/upstream/2.0.6/src/snapshot-common.cc +0 -97
- data/ext/v8/upstream/2.0.6/src/snapshot-empty.cc +0 -40
- data/ext/v8/upstream/2.0.6/src/snapshot.h +0 -59
- data/ext/v8/upstream/2.0.6/src/spaces-inl.h +0 -372
- data/ext/v8/upstream/2.0.6/src/spaces.cc +0 -2864
- data/ext/v8/upstream/2.0.6/src/spaces.h +0 -2072
- data/ext/v8/upstream/2.0.6/src/string-stream.cc +0 -584
- data/ext/v8/upstream/2.0.6/src/string-stream.h +0 -189
- data/ext/v8/upstream/2.0.6/src/string.js +0 -901
- data/ext/v8/upstream/2.0.6/src/stub-cache.cc +0 -1108
- data/ext/v8/upstream/2.0.6/src/stub-cache.h +0 -578
- data/ext/v8/upstream/2.0.6/src/third_party/dtoa/COPYING +0 -15
- data/ext/v8/upstream/2.0.6/src/third_party/dtoa/dtoa.c +0 -3330
- data/ext/v8/upstream/2.0.6/src/third_party/valgrind/valgrind.h +0 -3925
- data/ext/v8/upstream/2.0.6/src/token.cc +0 -56
- data/ext/v8/upstream/2.0.6/src/token.h +0 -270
- data/ext/v8/upstream/2.0.6/src/top.cc +0 -991
- data/ext/v8/upstream/2.0.6/src/top.h +0 -459
- data/ext/v8/upstream/2.0.6/src/unicode-inl.h +0 -238
- data/ext/v8/upstream/2.0.6/src/unicode.cc +0 -749
- data/ext/v8/upstream/2.0.6/src/unicode.h +0 -279
- data/ext/v8/upstream/2.0.6/src/uri.js +0 -415
- data/ext/v8/upstream/2.0.6/src/usage-analyzer.cc +0 -426
- data/ext/v8/upstream/2.0.6/src/usage-analyzer.h +0 -40
- data/ext/v8/upstream/2.0.6/src/utils.cc +0 -322
- data/ext/v8/upstream/2.0.6/src/utils.h +0 -592
- data/ext/v8/upstream/2.0.6/src/v8-counters.cc +0 -55
- data/ext/v8/upstream/2.0.6/src/v8-counters.h +0 -198
- data/ext/v8/upstream/2.0.6/src/v8.cc +0 -193
- data/ext/v8/upstream/2.0.6/src/v8.h +0 -119
- data/ext/v8/upstream/2.0.6/src/v8natives.js +0 -846
- data/ext/v8/upstream/2.0.6/src/v8threads.cc +0 -450
- data/ext/v8/upstream/2.0.6/src/v8threads.h +0 -144
- data/ext/v8/upstream/2.0.6/src/variables.cc +0 -163
- data/ext/v8/upstream/2.0.6/src/variables.h +0 -235
- data/ext/v8/upstream/2.0.6/src/version.cc +0 -88
- data/ext/v8/upstream/2.0.6/src/version.h +0 -64
- data/ext/v8/upstream/2.0.6/src/virtual-frame.cc +0 -381
- data/ext/v8/upstream/2.0.6/src/virtual-frame.h +0 -44
- data/ext/v8/upstream/2.0.6/src/x64/assembler-x64-inl.h +0 -352
- data/ext/v8/upstream/2.0.6/src/x64/assembler-x64.cc +0 -2539
- data/ext/v8/upstream/2.0.6/src/x64/assembler-x64.h +0 -1399
- data/ext/v8/upstream/2.0.6/src/x64/builtins-x64.cc +0 -1255
- data/ext/v8/upstream/2.0.6/src/x64/codegen-x64-inl.h +0 -46
- data/ext/v8/upstream/2.0.6/src/x64/codegen-x64.cc +0 -8223
- data/ext/v8/upstream/2.0.6/src/x64/codegen-x64.h +0 -785
- data/ext/v8/upstream/2.0.6/src/x64/cpu-x64.cc +0 -79
- data/ext/v8/upstream/2.0.6/src/x64/debug-x64.cc +0 -202
- data/ext/v8/upstream/2.0.6/src/x64/disasm-x64.cc +0 -1596
- data/ext/v8/upstream/2.0.6/src/x64/fast-codegen-x64.cc +0 -1820
- data/ext/v8/upstream/2.0.6/src/x64/frames-x64.cc +0 -109
- data/ext/v8/upstream/2.0.6/src/x64/frames-x64.h +0 -121
- data/ext/v8/upstream/2.0.6/src/x64/ic-x64.cc +0 -1392
- data/ext/v8/upstream/2.0.6/src/x64/jump-target-x64.cc +0 -432
- data/ext/v8/upstream/2.0.6/src/x64/macro-assembler-x64.cc +0 -2409
- data/ext/v8/upstream/2.0.6/src/x64/macro-assembler-x64.h +0 -765
- data/ext/v8/upstream/2.0.6/src/x64/regexp-macro-assembler-x64.cc +0 -1337
- data/ext/v8/upstream/2.0.6/src/x64/regexp-macro-assembler-x64.h +0 -295
- data/ext/v8/upstream/2.0.6/src/x64/register-allocator-x64-inl.h +0 -86
- data/ext/v8/upstream/2.0.6/src/x64/register-allocator-x64.cc +0 -84
- data/ext/v8/upstream/2.0.6/src/x64/register-allocator-x64.h +0 -43
- data/ext/v8/upstream/2.0.6/src/x64/simulator-x64.cc +0 -27
- data/ext/v8/upstream/2.0.6/src/x64/simulator-x64.h +0 -63
- data/ext/v8/upstream/2.0.6/src/x64/stub-cache-x64.cc +0 -1884
- data/ext/v8/upstream/2.0.6/src/x64/virtual-frame-x64.cc +0 -1089
- data/ext/v8/upstream/2.0.6/src/x64/virtual-frame-x64.h +0 -560
- data/ext/v8/upstream/2.0.6/src/zone-inl.h +0 -297
- data/ext/v8/upstream/2.0.6/src/zone.cc +0 -193
- data/ext/v8/upstream/2.0.6/src/zone.h +0 -305
- data/ext/v8/upstream/2.0.6/tools/codemap.js +0 -258
- data/ext/v8/upstream/2.0.6/tools/consarray.js +0 -93
- data/ext/v8/upstream/2.0.6/tools/csvparser.js +0 -98
- data/ext/v8/upstream/2.0.6/tools/gyp/v8.gyp +0 -620
- data/ext/v8/upstream/2.0.6/tools/js2c.py +0 -376
- data/ext/v8/upstream/2.0.6/tools/jsmin.py +0 -280
- data/ext/v8/upstream/2.0.6/tools/linux-tick-processor +0 -24
- data/ext/v8/upstream/2.0.6/tools/linux-tick-processor.py +0 -78
- data/ext/v8/upstream/2.0.6/tools/logreader.js +0 -320
- data/ext/v8/upstream/2.0.6/tools/mac-nm +0 -18
- data/ext/v8/upstream/2.0.6/tools/mac-tick-processor +0 -6
- data/ext/v8/upstream/2.0.6/tools/oprofile/annotate +0 -7
- data/ext/v8/upstream/2.0.6/tools/oprofile/common +0 -19
- data/ext/v8/upstream/2.0.6/tools/oprofile/dump +0 -7
- data/ext/v8/upstream/2.0.6/tools/oprofile/report +0 -7
- data/ext/v8/upstream/2.0.6/tools/oprofile/reset +0 -7
- data/ext/v8/upstream/2.0.6/tools/oprofile/run +0 -14
- data/ext/v8/upstream/2.0.6/tools/oprofile/shutdown +0 -7
- data/ext/v8/upstream/2.0.6/tools/oprofile/start +0 -7
- data/ext/v8/upstream/2.0.6/tools/presubmit.py +0 -299
- data/ext/v8/upstream/2.0.6/tools/process-heap-prof.py +0 -120
- data/ext/v8/upstream/2.0.6/tools/profile.js +0 -621
- data/ext/v8/upstream/2.0.6/tools/profile_view.js +0 -224
- data/ext/v8/upstream/2.0.6/tools/run-valgrind.py +0 -77
- data/ext/v8/upstream/2.0.6/tools/splaytree.js +0 -322
- data/ext/v8/upstream/2.0.6/tools/splaytree.py +0 -226
- data/ext/v8/upstream/2.0.6/tools/stats-viewer.py +0 -456
- data/ext/v8/upstream/2.0.6/tools/test.py +0 -1370
- data/ext/v8/upstream/2.0.6/tools/tickprocessor-driver.js +0 -53
- data/ext/v8/upstream/2.0.6/tools/tickprocessor.js +0 -731
- data/ext/v8/upstream/2.0.6/tools/tickprocessor.py +0 -535
- data/ext/v8/upstream/2.0.6/tools/utils.py +0 -82
- data/ext/v8/upstream/2.0.6/tools/visual_studio/README.txt +0 -71
- data/ext/v8/upstream/2.0.6/tools/visual_studio/arm.vsprops +0 -14
- data/ext/v8/upstream/2.0.6/tools/visual_studio/common.vsprops +0 -35
- data/ext/v8/upstream/2.0.6/tools/visual_studio/d8.vcproj +0 -199
- data/ext/v8/upstream/2.0.6/tools/visual_studio/d8_arm.vcproj +0 -199
- data/ext/v8/upstream/2.0.6/tools/visual_studio/d8_x64.vcproj +0 -201
- data/ext/v8/upstream/2.0.6/tools/visual_studio/d8js2c.cmd +0 -6
- data/ext/v8/upstream/2.0.6/tools/visual_studio/debug.vsprops +0 -17
- data/ext/v8/upstream/2.0.6/tools/visual_studio/ia32.vsprops +0 -13
- data/ext/v8/upstream/2.0.6/tools/visual_studio/js2c.cmd +0 -6
- data/ext/v8/upstream/2.0.6/tools/visual_studio/release.vsprops +0 -24
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8.sln +0 -101
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8.vcproj +0 -223
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_arm.sln +0 -74
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_arm.vcproj +0 -223
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_base.vcproj +0 -971
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_base_arm.vcproj +0 -983
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_base_x64.vcproj +0 -959
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_cctest.vcproj +0 -255
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_cctest_arm.vcproj +0 -243
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_cctest_x64.vcproj +0 -257
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_mksnapshot.vcproj +0 -151
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -151
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_process_sample.vcproj +0 -151
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_process_sample_arm.vcproj +0 -151
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_process_sample_x64.vcproj +0 -151
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_shell_sample.vcproj +0 -151
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_shell_sample_arm.vcproj +0 -151
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_shell_sample_x64.vcproj +0 -153
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot.vcproj +0 -142
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot_cc.vcproj +0 -92
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -92
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot_x64.vcproj +0 -142
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_x64.sln +0 -101
- data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_x64.vcproj +0 -223
- data/ext/v8/upstream/2.0.6/tools/visual_studio/x64.vsprops +0 -13
- data/ext/v8/upstream/2.0.6/tools/windows-tick-processor.bat +0 -5
- data/ext/v8/upstream/2.0.6/tools/windows-tick-processor.py +0 -137
- data/ext/v8/upstream/Makefile +0 -32
- data/ext/v8/upstream/fpic-on-linux-amd64.patch +0 -13
- data/ext/v8/upstream/no-strict-aliasing.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/v8.cpp +0 -89
- data/ext/v8/v8_cxt.cpp +0 -92
- data/ext/v8/v8_cxt.h +0 -20
- data/ext/v8/v8_func.cpp +0 -10
- data/ext/v8/v8_func.h +0 -11
- data/ext/v8/v8_msg.cpp +0 -54
- data/ext/v8/v8_msg.h +0 -18
- data/ext/v8/v8_obj.cpp +0 -52
- data/ext/v8/v8_obj.h +0 -13
- data/ext/v8/v8_ref.cpp +0 -26
- data/ext/v8/v8_ref.h +0 -31
- data/ext/v8/v8_script.cpp +0 -20
- data/ext/v8/v8_script.h +0 -8
- data/ext/v8/v8_standalone.cpp +0 -69
- data/ext/v8/v8_standalone.h +0 -31
- data/ext/v8/v8_str.cpp +0 -17
- data/ext/v8/v8_str.h +0 -9
- data/ext/v8/v8_template.cpp +0 -53
- data/ext/v8/v8_template.h +0 -13
- data/lib/v8/to.rb +0 -33
- data/lib/v8/v8.so +0 -0
- data/script/console +0 -10
- data/script/destroy +0 -14
- data/script/generate +0 -14
- data/spec/ext/cxt_spec.rb +0 -25
- data/spec/ext/obj_spec.rb +0 -13
- data/spec/redjs/jsapi_spec.rb +0 -405
- data/spec/redjs/tap.rb +0 -8
- data/spec/redjs_helper.rb +0 -3
- data/spec/spec.opts +0 -1
- data/spec/v8/to_spec.rb +0 -15
- data/tasks/rspec.rake +0 -21
@@ -1,598 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be included
|
13
|
-
# in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
16
|
-
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
17
|
-
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#
|
23
|
-
|
24
|
-
__revision__ = "src/engine/SCons/cpp.py 4629 2010/01/17 22:23:21 scons"
|
25
|
-
|
26
|
-
__doc__ = """
|
27
|
-
SCons C Pre-Processor module
|
28
|
-
"""
|
29
|
-
|
30
|
-
# TODO(1.5): remove this import
|
31
|
-
# This module doesn't use anything from SCons by name, but we import SCons
|
32
|
-
# here to pull in zip() from the SCons.compat layer for early Pythons.
|
33
|
-
import SCons
|
34
|
-
|
35
|
-
import os
|
36
|
-
import re
|
37
|
-
import string
|
38
|
-
|
39
|
-
#
|
40
|
-
# First "subsystem" of regular expressions that we set up:
|
41
|
-
#
|
42
|
-
# Stuff to turn the C preprocessor directives in a file's contents into
|
43
|
-
# a list of tuples that we can process easily.
|
44
|
-
#
|
45
|
-
|
46
|
-
# A table of regular expressions that fetch the arguments from the rest of
|
47
|
-
# a C preprocessor line. Different directives have different arguments
|
48
|
-
# that we want to fetch, using the regular expressions to which the lists
|
49
|
-
# of preprocessor directives map.
|
50
|
-
cpp_lines_dict = {
|
51
|
-
# Fetch the rest of a #if/#elif/#ifdef/#ifndef as one argument,
|
52
|
-
# separated from the keyword by white space.
|
53
|
-
('if', 'elif', 'ifdef', 'ifndef',)
|
54
|
-
: '\s+(.+)',
|
55
|
-
|
56
|
-
# Fetch the rest of a #import/#include/#include_next line as one
|
57
|
-
# argument, with white space optional.
|
58
|
-
('import', 'include', 'include_next',)
|
59
|
-
: '\s*(.+)',
|
60
|
-
|
61
|
-
# We don't care what comes after a #else or #endif line.
|
62
|
-
('else', 'endif',) : '',
|
63
|
-
|
64
|
-
# Fetch three arguments from a #define line:
|
65
|
-
# 1) The #defined keyword.
|
66
|
-
# 2) The optional parentheses and arguments (if it's a function-like
|
67
|
-
# macro, '' if it's not).
|
68
|
-
# 3) The expansion value.
|
69
|
-
('define',) : '\s+([_A-Za-z][_A-Za-z0-9_]*)(\([^)]*\))?\s*(.*)',
|
70
|
-
|
71
|
-
# Fetch the #undefed keyword from a #undef line.
|
72
|
-
('undef',) : '\s+([_A-Za-z][A-Za-z0-9_]*)',
|
73
|
-
}
|
74
|
-
|
75
|
-
# Create a table that maps each individual C preprocessor directive to
|
76
|
-
# the corresponding compiled regular expression that fetches the arguments
|
77
|
-
# we care about.
|
78
|
-
Table = {}
|
79
|
-
for op_list, expr in cpp_lines_dict.items():
|
80
|
-
e = re.compile(expr)
|
81
|
-
for op in op_list:
|
82
|
-
Table[op] = e
|
83
|
-
del e
|
84
|
-
del op
|
85
|
-
del op_list
|
86
|
-
|
87
|
-
# Create a list of the expressions we'll use to match all of the
|
88
|
-
# preprocessor directives. These are the same as the directives
|
89
|
-
# themselves *except* that we must use a negative lookahead assertion
|
90
|
-
# when matching "if" so it doesn't match the "if" in "ifdef."
|
91
|
-
override = {
|
92
|
-
'if' : 'if(?!def)',
|
93
|
-
}
|
94
|
-
l = map(lambda x, o=override: o.get(x, x), Table.keys())
|
95
|
-
|
96
|
-
|
97
|
-
# Turn the list of expressions into one big honkin' regular expression
|
98
|
-
# that will match all the preprocessor lines at once. This will return
|
99
|
-
# a list of tuples, one for each preprocessor line. The preprocessor
|
100
|
-
# directive will be the first element in each tuple, and the rest of
|
101
|
-
# the line will be the second element.
|
102
|
-
e = '^\s*#\s*(' + string.join(l, '|') + ')(.*)$'
|
103
|
-
|
104
|
-
# And last but not least, compile the expression.
|
105
|
-
CPP_Expression = re.compile(e, re.M)
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
#
|
111
|
-
# Second "subsystem" of regular expressions that we set up:
|
112
|
-
#
|
113
|
-
# Stuff to translate a C preprocessor expression (as found on a #if or
|
114
|
-
# #elif line) into an equivalent Python expression that we can eval().
|
115
|
-
#
|
116
|
-
|
117
|
-
# A dictionary that maps the C representation of Boolean operators
|
118
|
-
# to their Python equivalents.
|
119
|
-
CPP_to_Python_Ops_Dict = {
|
120
|
-
'!' : ' not ',
|
121
|
-
'!=' : ' != ',
|
122
|
-
'&&' : ' and ',
|
123
|
-
'||' : ' or ',
|
124
|
-
'?' : ' and ',
|
125
|
-
':' : ' or ',
|
126
|
-
'\r' : '',
|
127
|
-
}
|
128
|
-
|
129
|
-
CPP_to_Python_Ops_Sub = lambda m, d=CPP_to_Python_Ops_Dict: d[m.group(0)]
|
130
|
-
|
131
|
-
# We have to sort the keys by length so that longer expressions
|
132
|
-
# come *before* shorter expressions--in particular, "!=" must
|
133
|
-
# come before "!" in the alternation. Without this, the Python
|
134
|
-
# re module, as late as version 2.2.2, empirically matches the
|
135
|
-
# "!" in "!=" first, instead of finding the longest match.
|
136
|
-
# What's up with that?
|
137
|
-
l = CPP_to_Python_Ops_Dict.keys()
|
138
|
-
l.sort(lambda a, b: cmp(len(b), len(a)))
|
139
|
-
|
140
|
-
# Turn the list of keys into one regular expression that will allow us
|
141
|
-
# to substitute all of the operators at once.
|
142
|
-
expr = string.join(map(re.escape, l), '|')
|
143
|
-
|
144
|
-
# ...and compile the expression.
|
145
|
-
CPP_to_Python_Ops_Expression = re.compile(expr)
|
146
|
-
|
147
|
-
# A separate list of expressions to be evaluated and substituted
|
148
|
-
# sequentially, not all at once.
|
149
|
-
CPP_to_Python_Eval_List = [
|
150
|
-
['defined\s+(\w+)', '__dict__.has_key("\\1")'],
|
151
|
-
['defined\s*\((\w+)\)', '__dict__.has_key("\\1")'],
|
152
|
-
['/\*.*\*/', ''],
|
153
|
-
['/\*.*', ''],
|
154
|
-
['//.*', ''],
|
155
|
-
['(0x[0-9A-Fa-f]*)[UL]+', '\\1L'],
|
156
|
-
]
|
157
|
-
|
158
|
-
# Replace the string representations of the regular expressions in the
|
159
|
-
# list with compiled versions.
|
160
|
-
for l in CPP_to_Python_Eval_List:
|
161
|
-
l[0] = re.compile(l[0])
|
162
|
-
|
163
|
-
# Wrap up all of the above into a handy function.
|
164
|
-
def CPP_to_Python(s):
|
165
|
-
"""
|
166
|
-
Converts a C pre-processor expression into an equivalent
|
167
|
-
Python expression that can be evaluated.
|
168
|
-
"""
|
169
|
-
s = CPP_to_Python_Ops_Expression.sub(CPP_to_Python_Ops_Sub, s)
|
170
|
-
for expr, repl in CPP_to_Python_Eval_List:
|
171
|
-
s = expr.sub(repl, s)
|
172
|
-
return s
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
del expr
|
177
|
-
del l
|
178
|
-
del override
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
class FunctionEvaluator:
|
183
|
-
"""
|
184
|
-
Handles delayed evaluation of a #define function call.
|
185
|
-
"""
|
186
|
-
def __init__(self, name, args, expansion):
|
187
|
-
"""
|
188
|
-
Squirrels away the arguments and expansion value of a #define
|
189
|
-
macro function for later evaluation when we must actually expand
|
190
|
-
a value that uses it.
|
191
|
-
"""
|
192
|
-
self.name = name
|
193
|
-
self.args = function_arg_separator.split(args)
|
194
|
-
try:
|
195
|
-
expansion = string.split(expansion, '##')
|
196
|
-
except (AttributeError, TypeError):
|
197
|
-
# Python 1.5 throws TypeError if "expansion" isn't a string,
|
198
|
-
# later versions throw AttributeError.
|
199
|
-
pass
|
200
|
-
self.expansion = expansion
|
201
|
-
def __call__(self, *values):
|
202
|
-
"""
|
203
|
-
Evaluates the expansion of a #define macro function called
|
204
|
-
with the specified values.
|
205
|
-
"""
|
206
|
-
if len(self.args) != len(values):
|
207
|
-
raise ValueError, "Incorrect number of arguments to `%s'" % self.name
|
208
|
-
# Create a dictionary that maps the macro arguments to the
|
209
|
-
# corresponding values in this "call." We'll use this when we
|
210
|
-
# eval() the expansion so that arguments will get expanded to
|
211
|
-
# the right values.
|
212
|
-
locals = {}
|
213
|
-
for k, v in zip(self.args, values):
|
214
|
-
locals[k] = v
|
215
|
-
|
216
|
-
parts = []
|
217
|
-
for s in self.expansion:
|
218
|
-
if not s in self.args:
|
219
|
-
s = repr(s)
|
220
|
-
parts.append(s)
|
221
|
-
statement = string.join(parts, ' + ')
|
222
|
-
|
223
|
-
return eval(statement, globals(), locals)
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
# Find line continuations.
|
228
|
-
line_continuations = re.compile('\\\\\r?\n')
|
229
|
-
|
230
|
-
# Search for a "function call" macro on an expansion. Returns the
|
231
|
-
# two-tuple of the "function" name itself, and a string containing the
|
232
|
-
# arguments within the call parentheses.
|
233
|
-
function_name = re.compile('(\S+)\(([^)]*)\)')
|
234
|
-
|
235
|
-
# Split a string containing comma-separated function call arguments into
|
236
|
-
# the separate arguments.
|
237
|
-
function_arg_separator = re.compile(',\s*')
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
class PreProcessor:
|
242
|
-
"""
|
243
|
-
The main workhorse class for handling C pre-processing.
|
244
|
-
"""
|
245
|
-
def __init__(self, current=os.curdir, cpppath=(), dict={}, all=0):
|
246
|
-
global Table
|
247
|
-
|
248
|
-
cpppath = tuple(cpppath)
|
249
|
-
|
250
|
-
self.searchpath = {
|
251
|
-
'"' : (current,) + cpppath,
|
252
|
-
'<' : cpppath + (current,),
|
253
|
-
}
|
254
|
-
|
255
|
-
# Initialize our C preprocessor namespace for tracking the
|
256
|
-
# values of #defined keywords. We use this namespace to look
|
257
|
-
# for keywords on #ifdef/#ifndef lines, and to eval() the
|
258
|
-
# expressions on #if/#elif lines (after massaging them from C to
|
259
|
-
# Python).
|
260
|
-
self.cpp_namespace = dict.copy()
|
261
|
-
self.cpp_namespace['__dict__'] = self.cpp_namespace
|
262
|
-
|
263
|
-
if all:
|
264
|
-
self.do_include = self.all_include
|
265
|
-
|
266
|
-
# For efficiency, a dispatch table maps each C preprocessor
|
267
|
-
# directive (#if, #define, etc.) to the method that should be
|
268
|
-
# called when we see it. We accomodate state changes (#if,
|
269
|
-
# #ifdef, #ifndef) by pushing the current dispatch table on a
|
270
|
-
# stack and changing what method gets called for each relevant
|
271
|
-
# directive we might see next at this level (#else, #elif).
|
272
|
-
# #endif will simply pop the stack.
|
273
|
-
d = {
|
274
|
-
'scons_current_file' : self.scons_current_file
|
275
|
-
}
|
276
|
-
for op in Table.keys():
|
277
|
-
d[op] = getattr(self, 'do_' + op)
|
278
|
-
self.default_table = d
|
279
|
-
|
280
|
-
# Controlling methods.
|
281
|
-
|
282
|
-
def tupleize(self, contents):
|
283
|
-
"""
|
284
|
-
Turns the contents of a file into a list of easily-processed
|
285
|
-
tuples describing the CPP lines in the file.
|
286
|
-
|
287
|
-
The first element of each tuple is the line's preprocessor
|
288
|
-
directive (#if, #include, #define, etc., minus the initial '#').
|
289
|
-
The remaining elements are specific to the type of directive, as
|
290
|
-
pulled apart by the regular expression.
|
291
|
-
"""
|
292
|
-
global CPP_Expression, Table
|
293
|
-
contents = line_continuations.sub('', contents)
|
294
|
-
cpp_tuples = CPP_Expression.findall(contents)
|
295
|
-
return map(lambda m, t=Table:
|
296
|
-
(m[0],) + t[m[0]].match(m[1]).groups(),
|
297
|
-
cpp_tuples)
|
298
|
-
|
299
|
-
def __call__(self, file):
|
300
|
-
"""
|
301
|
-
Pre-processes a file.
|
302
|
-
|
303
|
-
This is the main public entry point.
|
304
|
-
"""
|
305
|
-
self.current_file = file
|
306
|
-
return self.process_contents(self.read_file(file), file)
|
307
|
-
|
308
|
-
def process_contents(self, contents, fname=None):
|
309
|
-
"""
|
310
|
-
Pre-processes a file contents.
|
311
|
-
|
312
|
-
This is the main internal entry point.
|
313
|
-
"""
|
314
|
-
self.stack = []
|
315
|
-
self.dispatch_table = self.default_table.copy()
|
316
|
-
self.current_file = fname
|
317
|
-
self.tuples = self.tupleize(contents)
|
318
|
-
|
319
|
-
self.initialize_result(fname)
|
320
|
-
while self.tuples:
|
321
|
-
t = self.tuples.pop(0)
|
322
|
-
# Uncomment to see the list of tuples being processed (e.g.,
|
323
|
-
# to validate the CPP lines are being translated correctly).
|
324
|
-
#print t
|
325
|
-
self.dispatch_table[t[0]](t)
|
326
|
-
return self.finalize_result(fname)
|
327
|
-
|
328
|
-
# Dispatch table stack manipulation methods.
|
329
|
-
|
330
|
-
def save(self):
|
331
|
-
"""
|
332
|
-
Pushes the current dispatch table on the stack and re-initializes
|
333
|
-
the current dispatch table to the default.
|
334
|
-
"""
|
335
|
-
self.stack.append(self.dispatch_table)
|
336
|
-
self.dispatch_table = self.default_table.copy()
|
337
|
-
|
338
|
-
def restore(self):
|
339
|
-
"""
|
340
|
-
Pops the previous dispatch table off the stack and makes it the
|
341
|
-
current one.
|
342
|
-
"""
|
343
|
-
try: self.dispatch_table = self.stack.pop()
|
344
|
-
except IndexError: pass
|
345
|
-
|
346
|
-
# Utility methods.
|
347
|
-
|
348
|
-
def do_nothing(self, t):
|
349
|
-
"""
|
350
|
-
Null method for when we explicitly want the action for a
|
351
|
-
specific preprocessor directive to do nothing.
|
352
|
-
"""
|
353
|
-
pass
|
354
|
-
|
355
|
-
def scons_current_file(self, t):
|
356
|
-
self.current_file = t[1]
|
357
|
-
|
358
|
-
def eval_expression(self, t):
|
359
|
-
"""
|
360
|
-
Evaluates a C preprocessor expression.
|
361
|
-
|
362
|
-
This is done by converting it to a Python equivalent and
|
363
|
-
eval()ing it in the C preprocessor namespace we use to
|
364
|
-
track #define values.
|
365
|
-
"""
|
366
|
-
t = CPP_to_Python(string.join(t[1:]))
|
367
|
-
try: return eval(t, self.cpp_namespace)
|
368
|
-
except (NameError, TypeError): return 0
|
369
|
-
|
370
|
-
def initialize_result(self, fname):
|
371
|
-
self.result = [fname]
|
372
|
-
|
373
|
-
def finalize_result(self, fname):
|
374
|
-
return self.result[1:]
|
375
|
-
|
376
|
-
def find_include_file(self, t):
|
377
|
-
"""
|
378
|
-
Finds the #include file for a given preprocessor tuple.
|
379
|
-
"""
|
380
|
-
fname = t[2]
|
381
|
-
for d in self.searchpath[t[1]]:
|
382
|
-
if d == os.curdir:
|
383
|
-
f = fname
|
384
|
-
else:
|
385
|
-
f = os.path.join(d, fname)
|
386
|
-
if os.path.isfile(f):
|
387
|
-
return f
|
388
|
-
return None
|
389
|
-
|
390
|
-
def read_file(self, file):
|
391
|
-
return open(file).read()
|
392
|
-
|
393
|
-
# Start and stop processing include lines.
|
394
|
-
|
395
|
-
def start_handling_includes(self, t=None):
|
396
|
-
"""
|
397
|
-
Causes the PreProcessor object to start processing #import,
|
398
|
-
#include and #include_next lines.
|
399
|
-
|
400
|
-
This method will be called when a #if, #ifdef, #ifndef or #elif
|
401
|
-
evaluates True, or when we reach the #else in a #if, #ifdef,
|
402
|
-
#ifndef or #elif block where a condition already evaluated
|
403
|
-
False.
|
404
|
-
|
405
|
-
"""
|
406
|
-
d = self.dispatch_table
|
407
|
-
d['import'] = self.do_import
|
408
|
-
d['include'] = self.do_include
|
409
|
-
d['include_next'] = self.do_include
|
410
|
-
|
411
|
-
def stop_handling_includes(self, t=None):
|
412
|
-
"""
|
413
|
-
Causes the PreProcessor object to stop processing #import,
|
414
|
-
#include and #include_next lines.
|
415
|
-
|
416
|
-
This method will be called when a #if, #ifdef, #ifndef or #elif
|
417
|
-
evaluates False, or when we reach the #else in a #if, #ifdef,
|
418
|
-
#ifndef or #elif block where a condition already evaluated True.
|
419
|
-
"""
|
420
|
-
d = self.dispatch_table
|
421
|
-
d['import'] = self.do_nothing
|
422
|
-
d['include'] = self.do_nothing
|
423
|
-
d['include_next'] = self.do_nothing
|
424
|
-
|
425
|
-
# Default methods for handling all of the preprocessor directives.
|
426
|
-
# (Note that what actually gets called for a given directive at any
|
427
|
-
# point in time is really controlled by the dispatch_table.)
|
428
|
-
|
429
|
-
def _do_if_else_condition(self, condition):
|
430
|
-
"""
|
431
|
-
Common logic for evaluating the conditions on #if, #ifdef and
|
432
|
-
#ifndef lines.
|
433
|
-
"""
|
434
|
-
self.save()
|
435
|
-
d = self.dispatch_table
|
436
|
-
if condition:
|
437
|
-
self.start_handling_includes()
|
438
|
-
d['elif'] = self.stop_handling_includes
|
439
|
-
d['else'] = self.stop_handling_includes
|
440
|
-
else:
|
441
|
-
self.stop_handling_includes()
|
442
|
-
d['elif'] = self.do_elif
|
443
|
-
d['else'] = self.start_handling_includes
|
444
|
-
|
445
|
-
def do_ifdef(self, t):
|
446
|
-
"""
|
447
|
-
Default handling of a #ifdef line.
|
448
|
-
"""
|
449
|
-
self._do_if_else_condition(self.cpp_namespace.has_key(t[1]))
|
450
|
-
|
451
|
-
def do_ifndef(self, t):
|
452
|
-
"""
|
453
|
-
Default handling of a #ifndef line.
|
454
|
-
"""
|
455
|
-
self._do_if_else_condition(not self.cpp_namespace.has_key(t[1]))
|
456
|
-
|
457
|
-
def do_if(self, t):
|
458
|
-
"""
|
459
|
-
Default handling of a #if line.
|
460
|
-
"""
|
461
|
-
self._do_if_else_condition(self.eval_expression(t))
|
462
|
-
|
463
|
-
def do_elif(self, t):
|
464
|
-
"""
|
465
|
-
Default handling of a #elif line.
|
466
|
-
"""
|
467
|
-
d = self.dispatch_table
|
468
|
-
if self.eval_expression(t):
|
469
|
-
self.start_handling_includes()
|
470
|
-
d['elif'] = self.stop_handling_includes
|
471
|
-
d['else'] = self.stop_handling_includes
|
472
|
-
|
473
|
-
def do_else(self, t):
|
474
|
-
"""
|
475
|
-
Default handling of a #else line.
|
476
|
-
"""
|
477
|
-
pass
|
478
|
-
|
479
|
-
def do_endif(self, t):
|
480
|
-
"""
|
481
|
-
Default handling of a #endif line.
|
482
|
-
"""
|
483
|
-
self.restore()
|
484
|
-
|
485
|
-
def do_define(self, t):
|
486
|
-
"""
|
487
|
-
Default handling of a #define line.
|
488
|
-
"""
|
489
|
-
_, name, args, expansion = t
|
490
|
-
try:
|
491
|
-
expansion = int(expansion)
|
492
|
-
except (TypeError, ValueError):
|
493
|
-
pass
|
494
|
-
if args:
|
495
|
-
evaluator = FunctionEvaluator(name, args[1:-1], expansion)
|
496
|
-
self.cpp_namespace[name] = evaluator
|
497
|
-
else:
|
498
|
-
self.cpp_namespace[name] = expansion
|
499
|
-
|
500
|
-
def do_undef(self, t):
|
501
|
-
"""
|
502
|
-
Default handling of a #undef line.
|
503
|
-
"""
|
504
|
-
try: del self.cpp_namespace[t[1]]
|
505
|
-
except KeyError: pass
|
506
|
-
|
507
|
-
def do_import(self, t):
|
508
|
-
"""
|
509
|
-
Default handling of a #import line.
|
510
|
-
"""
|
511
|
-
# XXX finish this -- maybe borrow/share logic from do_include()...?
|
512
|
-
pass
|
513
|
-
|
514
|
-
def do_include(self, t):
|
515
|
-
"""
|
516
|
-
Default handling of a #include line.
|
517
|
-
"""
|
518
|
-
t = self.resolve_include(t)
|
519
|
-
include_file = self.find_include_file(t)
|
520
|
-
if include_file:
|
521
|
-
#print "include_file =", include_file
|
522
|
-
self.result.append(include_file)
|
523
|
-
contents = self.read_file(include_file)
|
524
|
-
new_tuples = [('scons_current_file', include_file)] + \
|
525
|
-
self.tupleize(contents) + \
|
526
|
-
[('scons_current_file', self.current_file)]
|
527
|
-
self.tuples[:] = new_tuples + self.tuples
|
528
|
-
|
529
|
-
# Date: Tue, 22 Nov 2005 20:26:09 -0500
|
530
|
-
# From: Stefan Seefeld <seefeld@sympatico.ca>
|
531
|
-
#
|
532
|
-
# By the way, #include_next is not the same as #include. The difference
|
533
|
-
# being that #include_next starts its search in the path following the
|
534
|
-
# path that let to the including file. In other words, if your system
|
535
|
-
# include paths are ['/foo', '/bar'], and you are looking at a header
|
536
|
-
# '/foo/baz.h', it might issue an '#include_next <baz.h>' which would
|
537
|
-
# correctly resolve to '/bar/baz.h' (if that exists), but *not* see
|
538
|
-
# '/foo/baz.h' again. See http://www.delorie.com/gnu/docs/gcc/cpp_11.html
|
539
|
-
# for more reasoning.
|
540
|
-
#
|
541
|
-
# I have no idea in what context 'import' might be used.
|
542
|
-
|
543
|
-
# XXX is #include_next really the same as #include ?
|
544
|
-
do_include_next = do_include
|
545
|
-
|
546
|
-
# Utility methods for handling resolution of include files.
|
547
|
-
|
548
|
-
def resolve_include(self, t):
|
549
|
-
"""Resolve a tuple-ized #include line.
|
550
|
-
|
551
|
-
This handles recursive expansion of values without "" or <>
|
552
|
-
surrounding the name until an initial " or < is found, to handle
|
553
|
-
#include FILE
|
554
|
-
where FILE is a #define somewhere else.
|
555
|
-
"""
|
556
|
-
s = t[1]
|
557
|
-
while not s[0] in '<"':
|
558
|
-
#print "s =", s
|
559
|
-
try:
|
560
|
-
s = self.cpp_namespace[s]
|
561
|
-
except KeyError:
|
562
|
-
m = function_name.search(s)
|
563
|
-
s = self.cpp_namespace[m.group(1)]
|
564
|
-
if callable(s):
|
565
|
-
args = function_arg_separator.split(m.group(2))
|
566
|
-
s = apply(s, args)
|
567
|
-
if not s:
|
568
|
-
return None
|
569
|
-
return (t[0], s[0], s[1:-1])
|
570
|
-
|
571
|
-
def all_include(self, t):
|
572
|
-
"""
|
573
|
-
"""
|
574
|
-
self.result.append(self.resolve_include(t))
|
575
|
-
|
576
|
-
class DumbPreProcessor(PreProcessor):
|
577
|
-
"""A preprocessor that ignores all #if/#elif/#else/#endif directives
|
578
|
-
and just reports back *all* of the #include files (like the classic
|
579
|
-
SCons scanner did).
|
580
|
-
|
581
|
-
This is functionally equivalent to using a regular expression to
|
582
|
-
find all of the #include lines, only slower. It exists mainly as
|
583
|
-
an example of how the main PreProcessor class can be sub-classed
|
584
|
-
to tailor its behavior.
|
585
|
-
"""
|
586
|
-
def __init__(self, *args, **kw):
|
587
|
-
apply(PreProcessor.__init__, (self,)+args, kw)
|
588
|
-
d = self.default_table
|
589
|
-
for func in ['if', 'elif', 'else', 'endif', 'ifdef', 'ifndef']:
|
590
|
-
d[func] = d[func] = self.do_nothing
|
591
|
-
|
592
|
-
del __revision__
|
593
|
-
|
594
|
-
# Local Variables:
|
595
|
-
# tab-width:4
|
596
|
-
# indent-tabs-mode:nil
|
597
|
-
# End:
|
598
|
-
# vim: set expandtab tabstop=4 shiftwidth=4:
|