- Identifying and explaining general concepts
- scopes, bindings, environments
- the background context behind 'running' a file/script/method
- Compiler stages:
- how they're organized and how they're chained
- how to define the first/last stages. Does the first stage have to be the parser? (I tried to implement a 'lexer' stage before then, and couldn't figure out how)
- Initializing the environment (things like initializing heap size/space) before compilation or execution
- A high-level overview of how code -> s-expressions -> AST/AST nodes -> bytecode
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/vm/llvm/jit_visit.hpp b/vm/llvm/jit_visit.hpp | |
| index ad91132..fdeebb7 100644 | |
| --- a/vm/llvm/jit_visit.hpp | |
| +++ b/vm/llvm/jit_visit.hpp | |
| @@ -2517,7 +2517,6 @@ use_send: | |
| void visit_cast_for_multi_block_arg() { | |
| JITStackArgs* inline_args = incoming_args(); | |
| if(inline_args) { | |
| - if(inline_args->size() == 1) { | |
| std::vector<Type*> types; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ruby -v | |
| rubinius 1.3.3.n245 (1.8.7 2bcef791 2014-09-02) [x86_64-linux-gnu] | |
| uname -a | |
| Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux | |
| cat /etc/debian_version | |
| 7.4 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| looks like same issue as https://github.com/rubinius/rubinius/issues/2920 | |
| trying to build rbx-1.3.3 (but same issue occurs when trying to build rbx master) | |
| using chruby as switcher, ruby-2.1.2 installed via ruby-install | |
| OSX 10.9.4, same issue with both gcc and clang |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* call-seq: | |
| * stylesheet.apply(document, {params}) -> XML::Document | |
| * | |
| * Apply this stylesheet transformation to the provided document. | |
| * This method may be invoked multiple times. | |
| * | |
| * Params: | |
| * * document - An instance of an XML::Document | |
| * * params - An optional hash table that specifies the values for xsl:param values embedded in the stylesheet. | |
| * |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def method_yield(arg) | |
| yield(6, 7) | |
| end | |
| 50_000.times do | |
| shadow = 2 | |
| method_yield([]) { |shadow, k| } | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/vm/llvm/jit_builder.cpp b/vm/llvm/jit_builder.cpp | |
| index c479aab..6e6c90f 100644 | |
| --- a/vm/llvm/jit_builder.cpp | |
| +++ b/vm/llvm/jit_builder.cpp | |
| @@ -646,8 +646,14 @@ namespace jit { | |
| cint((sizeof(CallFrame) / sizeof(Object*)) + machine_code_->stack_size), | |
| "cfstk"); | |
| + size_t upper = machine_code_->number_of_locals; | |
| + |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $ ruby -v | |
| ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-darwin13.4.0] | |
| # then we execute "ruby close_and_redirect.rb", and lsof at select points | |
| # (see the two ruby scripts in this gist) during execution: | |
| $ lsof -p 10623 | |
| COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME | |
| ruby 10623 Sophia 0u CHR 16,3 0t1427 663 /dev/ttys003 | |
| ruby 10623 Sophia 1u CHR 16,3 0t1427 663 /dev/ttys003 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux] | |
| /home/cnuapp/.gem/ruby/1.8.7/gems/activesupport-1.4.4.2cnu/lib/active_support/core_ext/enumerable.rb:17: warning: method redefined; discarding old group_by | |
| /home/cnuapp/.gem/ruby/1.8.7/gems/activesupport-1.4.4.2cnu/lib/active_support/core_ext/symbol.rb:9: warning: method redefined; discarding old to_proc | |
| /home/cnuapp/.gem/ruby/1.8.7/gems/activerecord-1.15.6.2cnu/lib/active_record/validations.rb:334: warning: `*' interpreted as argument prefix | |
| /home/cnuapp/.gem/ruby/1.8.7/gems/activerecord-1.15.6.2cnu/lib/active_record/validations.rb:363: warning: `*' interpreted as argument prefix | |
| /home/cnuapp/.gem/ruby/1.8.7/gems/activerecord-1.15.6.2cnu/lib/active_record/migration.rb:226: warning: instance variable @ignore_new_methods not initialized | |
| /home/cnuapp/.gem/ruby/1.8.7/gems/activerecord-1.15.6.2cnu/lib/active_record/migration.rb:226: warning: instance variable @ignore_new_methods not initialized | |
| /home/cnuapp/.gem/ruby/1.8.7/gems/activerecord-1.15.6.2cnu/lib/act |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| The Rubinius process is aborting with signal: SIGSEGV | |
| --- begin system info --- | |
| sysname: Darwin | |
| release: 13.4.0 | |
| version: Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-2422.115.4~1/RELEASE_X86_64 | |
| machine: x86_64 | |
| --- end system info --- | |
| --- begin system backtrace --- | |
| 0 rbx 0x000000010c25eb72 _ZN8rubiniusL12segv_handlerEi + 354 | |
| 1 libsystem_platform.dylib 0x00007fff8c5615aa _sigtramp + 26 |
OlderNewer