Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

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.
base fork: MacRuby/MacRuby
...
head fork: MacRuby/MacRuby
Checking mergeability… Don't worry, you can still create the pull request.
  • 3 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
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.