Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
...
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 3 files changed
  • 0 commit comments
  • 1 contributor
Commits on Feb 22, 2011
Laurent Sansonetti branching for 0.9
git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/branches/0.9@5237 23306eb0-4c56-4727-a40e-e92c0eb68959
8cedcab
Commits on Feb 23, 2011
Laurent Sansonetti merge r5240 from trunk
git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/branches/0.9@5241 23306eb0-4c56-4727-a40e-e92c0eb68959
b456dd0
Commits on Feb 24, 2011
Laurent Sansonetti merge r5242 from trunk
git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/branches/0.9@5243 23306eb0-4c56-4727-a40e-e92c0eb68959
d7d7bc9
Commits on Mar 09, 2011
Laurent Sansonetti tagging 0.9 branch as 0.9
git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/tags/0.9@5267 23306eb0-4c56-4727-a40e-e92c0eb68959
ee02404
Commits on Mar 24, 2011
Laurent Sansonetti tag 0.9 release
git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/tags/0.9@5302 23306eb0-4c56-4727-a40e-e92c0eb68959
1207f5c
Laurent Sansonetti oops
git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/tags/0.9@5303 23306eb0-4c56-4727-a40e-e92c0eb68959
327525b
Showing with 17 additions and 16 deletions.
  1. +15 −14 compiler.cpp
  2. +1 −1 rakelib/builder/templates.rb
  3. +1 −1 vm.cpp
View
29 compiler.cpp
@@ -2091,12 +2091,14 @@ RoxorCompiler::compile_class_path(NODE *node, int *flags, int *outer_level)
*flags = DEFINE_SUB_OUTER;
}
if (outer_level != NULL) {
- // Count the number of outers minus the current one.
+ // Count the number of outers.
int level = 0;
- for (NODE *n = node; n != NULL; n = n->nd_next) {
+ NODE *n = node;
+ while (n != NULL && nd_type(n) == NODE_COLON2) {
+ n = n->nd_head;
level++;
}
- *outer_level = level + 1;
+ *outer_level = level;
}
return compile_node(node->nd_head);
}
@@ -3936,16 +3938,12 @@ RoxorCompiler::compile_node0(NODE *node)
= ivars_slots_cache;
old_ivars_slots_cache.clear();
- uint64_t old_outer_mask = outer_mask;
- if (current_outer_level > 0) {
- outer_mask <<= current_outer_level;
- for (int i = 0; i < current_outer_level; i++) {
- outer_mask |= (1 << i + 1);
- }
- }
- else {
- outer_mask <<= 1;
- }
+ // Increase the outer mask.
+ int old_outer_mask = outer_mask;
+ outer_mask <<= current_outer_level + 1;
+ for (int i = 0; i < current_outer_level; i++) {
+ outer_mask |= (1 << (i + 1));
+ }
DEBUG_LEVEL_INC();
Value *val = compile_node(body);
@@ -4861,6 +4859,9 @@ RoxorCompiler::set_fname(const char *_fname)
Function *
RoxorCompiler::compile_main_function(NODE *node, bool *can_interpret_p)
{
+ save_compiler_state();
+ reset_compiler_state();
+
should_interpret = true;
can_interpret = false;
@@ -4871,7 +4872,7 @@ RoxorCompiler::compile_main_function(NODE *node, bool *can_interpret_p)
if (can_interpret_p != NULL) {
*can_interpret_p = should_interpret;
}
-
+ restore_compiler_state();
return func;
}
View
2 rakelib/builder/templates.rb
@@ -16,7 +16,7 @@ def self.create_framework_info_plist
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
- <string>com.apple.macruby</string>
+ <string>org.macruby</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>#{MACRUBY_VERSION}</string>
<key>CFBundlePackageType</key>
View
2 vm.cpp
@@ -1244,7 +1244,7 @@ rb_vm_const_lookup_level(VALUE outer, uint64_t outer_mask, ID path,
// the given constant in all modules under the given outer.
GET_CORE()->lock();
struct rb_vm_outer *o = GET_CORE()->get_outer((Class)outer);
- uint64_t n = 0;
+ unsigned int n = 0;
while (o != NULL && o->klass != (Class)rb_cNSObject) {
// If the current outer isn't in the mask, it means we can use it
// for const lookup. The outer mask is used when performing const

No commit comments for this range

Something went wrong with that request. Please try again.