help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] JIT issues and todolist


From: Holger Hans Peter Freyther
Subject: Re: [Help-smalltalk] JIT issues and todolist
Date: Sun, 16 Jun 2013 23:44:55 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Sun, Jun 16, 2013 at 08:27:25AM +0200, Holger Hans Peter Freyther wrote:
> On Sun, Jun 09, 2013 at 09:18:00PM +0200, Holger Hans Peter Freyther wrote:

> Even on the interpreter:
> An instance of BlockContext
>   parent: BlockClosure>>ensure: (BlkClosure.st:271)
>   nativeIP: 0
>   ip: 8
>   sp: -1
>   receiver: UndefinedObject
>   method: [] in UndefinedObject>>executeStatements
>   outerContext: nil

It is really a "wonder" that this is working at all... 

VMpr_Object_basicAt
   int arg2 = -1;
   index_oop(oop1, arg2);


index_oop(oop, 4294967295)
   object = OOP_TO_OBJ(oop);
   intptr_t instanceSpec = GET_IN..
   return index_oop_spec(oop, object, index, instanceSpec);

index_oop_spec(oop, object, 4294967295, 57407)

   if (4294967295 < 1)
     return NULL

   index = 4294967295 - 1;
   ...
   case GST_ISP_POINTER:
     maxIndex = 15;
     index += instanceSpec >> ISP_NUMFIXEDFIELDS (5)
     return object->data[5]

...

Is this signed => unsigned conversion wanted or is it just some
luck that this is working out okay?

holger



reply via email to

[Prev in Thread] Current Thread [Next in Thread]