codegreen 0.3.1__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {codegreen-0.3.1 → codegreen-0.3.2}/CMakeLists.txt +1 -1
- {codegreen-0.3.1/codegreen.egg-info → codegreen-0.3.2}/PKG-INFO +1 -1
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/profilers.py +68 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/suites/__init__.py +4 -0
- codegreen-0.3.2/benchmark/suites/dacapo.py +45 -0
- codegreen-0.3.2/benchmark/suites/renaissance.py +48 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/__init__.py +1 -1
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/cli/cli.py +21 -2
- {codegreen-0.3.1 → codegreen-0.3.2/codegreen.egg-info}/PKG-INFO +1 -1
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen.egg-info/SOURCES.txt +2 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/pyproject.toml +1 -1
- {codegreen-0.3.1 → codegreen-0.3.2}/tests/test_instrumentation.py +2 -3
- {codegreen-0.3.1 → codegreen-0.3.2}/LICENSE +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/MANIFEST.in +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/README.md +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/__init__.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/__main__.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/compilers.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/config.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/harness.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/results.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/suites/base.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/suites/benchmarksgame.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/suites/perfopt.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/validation/__init__.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/validation/analysis.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/validation/experiments.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/benchmark/validation/reporting.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/__init__.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/_ts_java.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/cfg/__init__.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/cfg/builder.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/cfg/callgraph.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/cfg/dataflow.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/cfg/energy_flow.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/cfg/features.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/cfg/pdg.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/cfg/types.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analysis/cfg/visualization.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analyzer/__init__.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/analyzer/plot.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/cli/__init__.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/cli/entrypoint.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/config.json +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/__init__.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/ast_processor.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/bridge_analyze.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/bridge_instrument.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/config.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/configs/TEMPLATE.json +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/configs/c.json +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/configs/cpp.json +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/configs/java.json +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/configs/javascript.json +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/configs/python.json +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/engine.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/language_configs.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/language_engine.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/language_runtimes/c/codegreen_runtime.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/language_runtimes/cpp/codegreen/runtime.hpp +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/language_runtimes/java/codegreen/runtime/CodeGreenRuntime.java +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/language_runtimes/java/codegreen/runtime/CodeGreenStandaloneRuntime.java +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/instrumentation/language_runtimes/python/codegreen_runtime.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/utils/__init__.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/utils/binary.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen/utils/platform.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen.egg-info/dependency_links.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen.egg-info/entry_points.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen.egg-info/not-zip-safe +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen.egg-info/requires.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/codegreen.egg-info/top_level.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/requirements.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/setup.cfg +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/setup.py +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/binarytrees/2.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/helloworld/1.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/knucleotide/1.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/mandelbrot/1-ffi.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/mandelbrot/1-mffi.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/nbody/2.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/nbody/5.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/nbody/8-i.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/nsieve/1.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/3.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/4.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/5-im.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/6-im.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/aligned_indent.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/array.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/comment.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/compound_lit.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/cond.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/enum.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/expr.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/func.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/if_else.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/issue-1568.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/issue-2086.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/issue-4079.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/issue-4117.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/issue-4525.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/label.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/loop.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/no_braces.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/preproc_cond.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/preproc_func.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/string.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/struct.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/switch.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/ternary.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/unfinished_comment.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/query/highlights/c/enums-as-constants.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/cli/src/templates/PARSER_NAME.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/cli/src/templates/py-binding.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/generate/src/templates/alloc.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/generate/src/templates/array.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/highlight/include/tree_sitter/highlight.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/tags/include/tree_sitter/tags.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/CMakeLists.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/binding_web/lib/tree-sitter.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/include/tree_sitter/api.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/alloc.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/alloc.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/array.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/atomic.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/clock.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/error_costs.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/get_changed_ranges.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/get_changed_ranges.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/host.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/language.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/language.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/length.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/lexer.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/lexer.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/lib.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/node.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/parser.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/parser.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/point.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/portable/endian.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/query.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/reduce_action.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/reusable_node.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/stack.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/stack.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/subtree.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/subtree.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/tree.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/tree.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/tree_cursor.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/tree_cursor.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/ts_assert.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/unicode/ptypes.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/unicode/umachine.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/unicode/urename.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/unicode/utf.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/unicode/utf16.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/unicode/utf8.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/unicode.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/wasm/stdlib.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/wasm/wasm-stdlib.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/wasm_store.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/src/wasm_store.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/depends_on_column/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/epsilon_external_extra_tokens/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/epsilon_external_tokens/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/external_and_internal_tokens/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/external_extra_tokens/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/external_tokens/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/external_unicode_column_alignment/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/get_col_eof/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/get_col_should_hang_not_crash/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/inverted_external_token/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/test/fixtures/test_grammars/uses_current_column/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/CMakeLists.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/bindings/c/tree_sitter/tree-sitter-c.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/bindings/python/tree_sitter_c/binding.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/bindings/swift/TreeSitterC/c.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/examples/cluster.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/examples/malloc.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/examples/parser.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/src/parser.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/src/tree_sitter/alloc.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/src/tree_sitter/array.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/src/tree_sitter/parser.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/test/highlight/keywords.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/test/highlight/names.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/CMakeLists.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/bindings/c/tree-sitter-cpp.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/bindings/python/tree_sitter_cpp/binding.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/bindings/swift/TreeSitterCPP/cpp.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/examples/marker-index.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/src/parser.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/src/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/src/tree_sitter/alloc.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/src/tree_sitter/array.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/src/tree_sitter/parser.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-java/CMakeLists.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-java/bindings/c/tree-sitter-java.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-java/bindings/python/tree_sitter_java/binding.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-java/bindings/swift/TreeSitterJava/java.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-java/src/parser.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-java/src/tree_sitter/alloc.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-java/src/tree_sitter/array.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-java/src/tree_sitter/parser.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/CMakeLists.txt +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/bindings/c/tree-sitter-python.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/bindings/python/tree_sitter_python/binding.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/bindings/swift/TreeSitterPython/python.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/src/parser.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/src/scanner.c +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/src/tree_sitter/alloc.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/src/tree_sitter/array.h +0 -0
- {codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/src/tree_sitter/parser.h +0 -0
|
@@ -84,7 +84,7 @@ add_custom_target(dev-install ALL
|
|
|
84
84
|
DEPENDS codegreen-nemb
|
|
85
85
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_SOURCE_DIR}/lib
|
|
86
86
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
87
|
-
|
|
87
|
+
$<TARGET_FILE:codegreen-nemb>
|
|
88
88
|
${CMAKE_SOURCE_DIR}/lib/
|
|
89
89
|
COMMENT "Dev-install: copying NEMB to ${CMAKE_SOURCE_DIR}/lib/"
|
|
90
90
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codegreen
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Energy-aware software development tool for measuring and optimizing code energy consumption
|
|
5
5
|
Author-email: Saurabhsingh Rajput <saurabh@dal.ca>
|
|
6
6
|
Maintainer-email: Saurabhsingh Rajput <saurabh@dal.ca>
|
|
@@ -202,11 +202,79 @@ class NativeProfiler(ProfilerInterface):
|
|
|
202
202
|
def is_available(self) -> bool:
|
|
203
203
|
return True
|
|
204
204
|
|
|
205
|
+
class CodeCarbonProfiler(ProfilerInterface):
|
|
206
|
+
"""Wraps CodeCarbon for energy measurement (requires: pip install codecarbon)."""
|
|
207
|
+
def run(self, cmd: List[str], timeout: int = 300) -> ProfileResult:
|
|
208
|
+
try:
|
|
209
|
+
from codecarbon import EmissionsTracker
|
|
210
|
+
except ImportError:
|
|
211
|
+
return ProfileResult(0.0, 0.0, "", [], {"error": "codecarbon not installed"})
|
|
212
|
+
tracker = EmissionsTracker(log_level="error", save_to_file=False)
|
|
213
|
+
tracker.start()
|
|
214
|
+
start = time.perf_counter()
|
|
215
|
+
result = subprocess.run(cmd, capture_output=True, text=True, timeout=timeout)
|
|
216
|
+
elapsed = time.perf_counter() - start
|
|
217
|
+
emissions = tracker.stop()
|
|
218
|
+
energy = tracker._total_energy.kWh * 3_600_000 # kWh -> J
|
|
219
|
+
return ProfileResult(energy, elapsed, result.stdout, [],
|
|
220
|
+
{"emissions_kg_co2": emissions, "energy_kwh": tracker._total_energy.kWh})
|
|
221
|
+
|
|
222
|
+
def is_available(self) -> bool:
|
|
223
|
+
try:
|
|
224
|
+
import codecarbon
|
|
225
|
+
return True
|
|
226
|
+
except ImportError:
|
|
227
|
+
return False
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
class JoularJXProfiler(ProfilerInterface):
|
|
231
|
+
"""Wraps JoularJX for Java energy measurement (requires JoularJX agent jar)."""
|
|
232
|
+
def __init__(self, agent_path: str = ""):
|
|
233
|
+
self.agent_path = agent_path or self._find_agent()
|
|
234
|
+
|
|
235
|
+
def _find_agent(self) -> str:
|
|
236
|
+
for p in [Path("joularjx-agent.jar"), Path.home() / ".joularjx" / "joularjx-agent.jar"]:
|
|
237
|
+
if p.exists():
|
|
238
|
+
return str(p)
|
|
239
|
+
return ""
|
|
240
|
+
|
|
241
|
+
def run(self, cmd: List[str], timeout: int = 300) -> ProfileResult:
|
|
242
|
+
if not self.agent_path:
|
|
243
|
+
return ProfileResult(0.0, 0.0, "", [], {"error": "JoularJX agent not found"})
|
|
244
|
+
jx_cmd = cmd.copy()
|
|
245
|
+
if cmd[0] == "java":
|
|
246
|
+
jx_cmd.insert(1, f"-javaagent:{self.agent_path}")
|
|
247
|
+
start = time.perf_counter()
|
|
248
|
+
result = subprocess.run(jx_cmd, capture_output=True, text=True, timeout=timeout)
|
|
249
|
+
elapsed = time.perf_counter() - start
|
|
250
|
+
energy = self._parse_joularjx_output()
|
|
251
|
+
return ProfileResult(energy, elapsed, result.stdout, [], {"agent": self.agent_path})
|
|
252
|
+
|
|
253
|
+
def _parse_joularjx_output(self) -> float:
|
|
254
|
+
csv_path = Path("joularJX-all-methods-energy.csv")
|
|
255
|
+
if not csv_path.exists():
|
|
256
|
+
return 0.0
|
|
257
|
+
total = 0.0
|
|
258
|
+
for line in csv_path.read_text().splitlines()[1:]:
|
|
259
|
+
parts = line.split(",")
|
|
260
|
+
if len(parts) >= 2:
|
|
261
|
+
try:
|
|
262
|
+
total += float(parts[-1])
|
|
263
|
+
except ValueError:
|
|
264
|
+
pass
|
|
265
|
+
return total
|
|
266
|
+
|
|
267
|
+
def is_available(self) -> bool:
|
|
268
|
+
return bool(self.agent_path) and Path(self.agent_path).exists()
|
|
269
|
+
|
|
270
|
+
|
|
205
271
|
def get_profiler(name: str) -> ProfilerInterface:
|
|
206
272
|
profilers = {
|
|
207
273
|
"codegreen": CodeGreenProfiler,
|
|
208
274
|
"perf": PerfProfiler,
|
|
209
275
|
"native": NativeProfiler,
|
|
276
|
+
"codecarbon": CodeCarbonProfiler,
|
|
277
|
+
"joularjx": JoularJXProfiler,
|
|
210
278
|
}
|
|
211
279
|
if name not in profilers:
|
|
212
280
|
raise ValueError(f"Unknown profiler: {name}. Available: {list(profilers.keys())}")
|
|
@@ -2,10 +2,14 @@
|
|
|
2
2
|
from benchmark.suites.base import Suite, Task
|
|
3
3
|
from benchmark.suites.benchmarksgame import BenchmarksgameSuite
|
|
4
4
|
from benchmark.suites.perfopt import PerfOptSuite
|
|
5
|
+
from benchmark.suites.dacapo import DaCapoSuite
|
|
6
|
+
from benchmark.suites.renaissance import RenaissanceSuite
|
|
5
7
|
|
|
6
8
|
SUITES = {
|
|
7
9
|
"benchmarksgame": BenchmarksgameSuite,
|
|
8
10
|
"perfopt": PerfOptSuite,
|
|
11
|
+
"dacapo": DaCapoSuite,
|
|
12
|
+
"renaissance": RenaissanceSuite,
|
|
9
13
|
}
|
|
10
14
|
|
|
11
15
|
def get_suite(name: str, **kwargs) -> Suite:
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"""DaCapo benchmark suite for Java workloads.
|
|
2
|
+
Requires: DaCapo jar downloaded from https://dacapobench.org/
|
|
3
|
+
Usage: codegreen benchmark --suite dacapo --dataset-dir /path/to/dacapo.jar
|
|
4
|
+
"""
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from typing import List, Optional
|
|
7
|
+
from benchmark.suites.base import Suite, Task
|
|
8
|
+
|
|
9
|
+
DACAPO_BENCHMARKS = [
|
|
10
|
+
"avrora", "batik", "biojava", "cassandra", "eclipse", "fop",
|
|
11
|
+
"graphchi", "h2", "h2o", "jme", "jython", "kafka",
|
|
12
|
+
"luindex", "lusearch", "pmd", "spring", "sunflow",
|
|
13
|
+
"tomcat", "tradebeans", "tradesoap", "xalan", "zxing",
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class DaCapoSuite(Suite):
|
|
18
|
+
def __init__(self, dataset_dir: str = "", benchmarks: List[str] = None):
|
|
19
|
+
self.jar_path = Path(dataset_dir) if dataset_dir else None
|
|
20
|
+
self.benchmarks = benchmarks or DACAPO_BENCHMARKS
|
|
21
|
+
|
|
22
|
+
@property
|
|
23
|
+
def name(self) -> str:
|
|
24
|
+
return "dacapo"
|
|
25
|
+
|
|
26
|
+
def discover(self, filters: Optional[dict] = None) -> List[Task]:
|
|
27
|
+
if not self.jar_path or not self.jar_path.exists():
|
|
28
|
+
raise FileNotFoundError(f"DaCapo jar not found at {self.jar_path}. "
|
|
29
|
+
"Download from https://dacapobench.org/")
|
|
30
|
+
selected = self.benchmarks
|
|
31
|
+
if filters and "benchmarks" in filters:
|
|
32
|
+
selected = [b for b in selected if b in filters["benchmarks"]]
|
|
33
|
+
return [Task(
|
|
34
|
+
name=b, language="java",
|
|
35
|
+
run_command=["java", "-jar", str(self.jar_path), b],
|
|
36
|
+
variant="default",
|
|
37
|
+
metadata={"suite": "dacapo", "benchmark": b}
|
|
38
|
+
) for b in selected]
|
|
39
|
+
|
|
40
|
+
def build(self, task: Task) -> Task:
|
|
41
|
+
return task # DaCapo is pre-built
|
|
42
|
+
|
|
43
|
+
@property
|
|
44
|
+
def default_timeout(self) -> int:
|
|
45
|
+
return 600
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"""Renaissance benchmark suite for modern JVM workloads.
|
|
2
|
+
Requires: Renaissance jar downloaded from https://renaissance.dev/
|
|
3
|
+
Usage: codegreen benchmark --suite renaissance --dataset-dir /path/to/renaissance.jar
|
|
4
|
+
"""
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from typing import List, Optional
|
|
7
|
+
from benchmark.suites.base import Suite, Task
|
|
8
|
+
|
|
9
|
+
RENAISSANCE_BENCHMARKS = [
|
|
10
|
+
"akka-uct", "als", "chi-square", "db-shootout", "dec-tree",
|
|
11
|
+
"dotty", "finagle-chirper", "finagle-http", "fj-kmeans",
|
|
12
|
+
"future-genetic", "gauss-mix", "log-regression", "mnemonics",
|
|
13
|
+
"movie-lens", "naive-bayes", "neo4j-analytics", "page-rank",
|
|
14
|
+
"par-mnemonics", "philosophers", "reactors", "rx-scrabble",
|
|
15
|
+
"scala-doku", "scala-kmeans", "scala-stm-bench7", "scrabble",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class RenaissanceSuite(Suite):
|
|
20
|
+
def __init__(self, dataset_dir: str = "", benchmarks: List[str] = None, repetitions: int = 1):
|
|
21
|
+
self.jar_path = Path(dataset_dir) if dataset_dir else None
|
|
22
|
+
self.benchmarks = benchmarks or RENAISSANCE_BENCHMARKS
|
|
23
|
+
self.repetitions = repetitions
|
|
24
|
+
|
|
25
|
+
@property
|
|
26
|
+
def name(self) -> str:
|
|
27
|
+
return "renaissance"
|
|
28
|
+
|
|
29
|
+
def discover(self, filters: Optional[dict] = None) -> List[Task]:
|
|
30
|
+
if not self.jar_path or not self.jar_path.exists():
|
|
31
|
+
raise FileNotFoundError(f"Renaissance jar not found at {self.jar_path}. "
|
|
32
|
+
"Download from https://renaissance.dev/")
|
|
33
|
+
selected = self.benchmarks
|
|
34
|
+
if filters and "benchmarks" in filters:
|
|
35
|
+
selected = [b for b in selected if b in filters["benchmarks"]]
|
|
36
|
+
return [Task(
|
|
37
|
+
name=b, language="java",
|
|
38
|
+
run_command=["java", "-jar", str(self.jar_path), b, "-r", str(self.repetitions)],
|
|
39
|
+
variant="default",
|
|
40
|
+
metadata={"suite": "renaissance", "benchmark": b, "repetitions": self.repetitions}
|
|
41
|
+
) for b in selected]
|
|
42
|
+
|
|
43
|
+
def build(self, task: Task) -> Task:
|
|
44
|
+
return task
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def default_timeout(self) -> int:
|
|
48
|
+
return 900
|
|
@@ -5,7 +5,7 @@ A comprehensive energy measurement and code optimization tool for developers
|
|
|
5
5
|
and researchers who need precise, fine-grained energy consumption analysis.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
__version__ = "0.3.
|
|
8
|
+
__version__ = "0.3.2"
|
|
9
9
|
__author__ = "Saurabhsingh Rajput"
|
|
10
10
|
__email__ = "saurabh@dal.ca"
|
|
11
11
|
__description__ = "Energy-aware software development tool"
|
|
@@ -2325,11 +2325,30 @@ def run_command(
|
|
|
2325
2325
|
"budget_exceeded": budget is not None and e_stats.mean > budget
|
|
2326
2326
|
}, indent=2))
|
|
2327
2327
|
else:
|
|
2328
|
+
# Coefficient of variation: signal-to-noise indicator
|
|
2329
|
+
cv = (e_stats.std / e_stats.mean * 100) if e_stats.mean > 0 else 0
|
|
2330
|
+
ci_width = e_stats.ci95_upper - e_stats.ci95_lower
|
|
2331
|
+
ci_pct = (ci_width / e_stats.mean * 100) if e_stats.mean > 0 else 0
|
|
2332
|
+
|
|
2333
|
+
# Color-code by measurement quality
|
|
2334
|
+
if cv < 5:
|
|
2335
|
+
quality, color = "excellent", "green"
|
|
2336
|
+
elif cv < 15:
|
|
2337
|
+
quality, color = "good", "yellow"
|
|
2338
|
+
elif cv < 30:
|
|
2339
|
+
quality, color = "moderate", "bright_yellow"
|
|
2340
|
+
else:
|
|
2341
|
+
quality, color = "high noise", "red"
|
|
2342
|
+
|
|
2328
2343
|
console.print(f"\n[bold]Energy:[/bold] {e_stats.mean:.4f} J +/- {e_stats.std:.4f} J")
|
|
2329
|
-
console.print(f" Range: [{e_stats.min:.4f} .. {e_stats.max:.4f}] J
|
|
2330
|
-
|
|
2344
|
+
console.print(f" Range: [{e_stats.min:.4f} .. {e_stats.max:.4f}] J")
|
|
2345
|
+
console.print(f" CI95: [{e_stats.ci95_lower:.4f}, {e_stats.ci95_upper:.4f}] J ({ci_pct:.1f}% width)")
|
|
2346
|
+
console.print(f" CV: [{color}]{cv:.1f}% ({quality})[/{color}]")
|
|
2331
2347
|
console.print(f"[bold]Time:[/bold] {t_stats.mean:.4f} s +/- {t_stats.std:.4f} s")
|
|
2348
|
+
console.print(f"[bold]Power:[/bold] {e_stats.mean / t_stats.mean:.2f} W (avg)")
|
|
2332
2349
|
console.print(f" Runs: {len(energies)}, Outliers removed: {e_stats.outliers_removed}")
|
|
2350
|
+
if cv > 20:
|
|
2351
|
+
console.print(f"[yellow] Tip: high variance -- try --repeat 30 or reduce background load[/yellow]")
|
|
2333
2352
|
if budget is not None:
|
|
2334
2353
|
if e_stats.mean > budget:
|
|
2335
2354
|
console.print(f"[red]BUDGET EXCEEDED: {e_stats.mean:.4f}J > {budget}J[/red]")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codegreen
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Energy-aware software development tool for measuring and optimizing code energy consumption
|
|
5
5
|
Author-email: Saurabhsingh Rajput <saurabh@dal.ca>
|
|
6
6
|
Maintainer-email: Saurabhsingh Rajput <saurabh@dal.ca>
|
|
@@ -15,7 +15,9 @@ benchmark/results.py
|
|
|
15
15
|
benchmark/suites/__init__.py
|
|
16
16
|
benchmark/suites/base.py
|
|
17
17
|
benchmark/suites/benchmarksgame.py
|
|
18
|
+
benchmark/suites/dacapo.py
|
|
18
19
|
benchmark/suites/perfopt.py
|
|
20
|
+
benchmark/suites/renaissance.py
|
|
19
21
|
benchmark/validation/__init__.py
|
|
20
22
|
benchmark/validation/analysis.py
|
|
21
23
|
benchmark/validation/experiments.py
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "codegreen"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.2"
|
|
8
8
|
description = "Energy-aware software development tool for measuring and optimizing code energy consumption"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {file = "LICENSE"}
|
|
@@ -184,7 +184,7 @@ SAMPLES = {
|
|
|
184
184
|
"java": (".java", JAVA_SAMPLE, 3),
|
|
185
185
|
"c": (".c", C_SAMPLE, 3),
|
|
186
186
|
"cpp": (".cpp", CPP_SAMPLE, 3),
|
|
187
|
-
"javascript": (".js", JS_SAMPLE,
|
|
187
|
+
"javascript": (".js", JS_SAMPLE, 4),
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
|
|
@@ -215,8 +215,7 @@ class TestInstrumentationPoints:
|
|
|
215
215
|
("java", ".java", JAVA_SAMPLE, 3),
|
|
216
216
|
("c", ".c", C_SAMPLE, 3),
|
|
217
217
|
("cpp", ".cpp", CPP_SAMPLE, 3),
|
|
218
|
-
pytest.param("javascript", ".js", JS_SAMPLE,
|
|
219
|
-
marks=pytest.mark.xfail(reason="JavaScript instrumentation incomplete")),
|
|
218
|
+
pytest.param("javascript", ".js", JS_SAMPLE, 4),
|
|
220
219
|
])
|
|
221
220
|
def test_finds_instrumentation_points(self, lang, ext, code, min_points):
|
|
222
221
|
path = _write_sample(lang, code, ext)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/aligned_indent.c
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/compound_lit.c
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/preproc_cond.c
RENAMED
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/preproc_func.c
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/nvim-treesitter/tests/indent/c/unfinished_comment.c
RENAMED
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/cli/src/templates/PARSER_NAME.h
RENAMED
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/cli/src/templates/py-binding.c
RENAMED
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/generate/src/templates/alloc.h
RENAMED
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/generate/src/templates/array.h
RENAMED
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/crates/tags/include/tree_sitter/tags.h
RENAMED
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter/lib/binding_web/lib/tree-sitter.c
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/bindings/c/tree_sitter/tree-sitter-c.h
RENAMED
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-c/bindings/swift/TreeSitterC/c.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/bindings/c/tree-sitter-cpp.h
RENAMED
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-cpp/bindings/swift/TreeSitterCPP/cpp.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-java/bindings/c/tree-sitter-java.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegreen-0.3.1 → codegreen-0.3.2}/third_party/tree-sitter-python/bindings/c/tree-sitter-python.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|