/[eiffelstudio]/branches/eth/eve/Src/C/run-time/eif_macros.h
ViewVC logotype

Log of /branches/eth/eve/Src/C/run-time/eif_macros.h

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Revision:

Revision 94104 - (view) (annotate) - [select for diffs]
Modified Mon Jan 27 20:22:39 2014 UTC (5 years, 8 months ago) by wests
File length: 78564 byte(s)
Diff to previous 94095
Makes it possible to compile with EVEQs easier

Revision 94095 - (view) (annotate) - [select for diffs]
Modified Fri Jan 24 18:28:18 2014 UTC (5 years, 8 months ago) by wests
File length: 78455 byte(s)
Diff to previous 94083
eif_thr_impersonate now takes pids, not objects.



Revision 94083 - (view) (annotate) - [select for diffs]
Modified Wed Jan 22 22:21:00 2014 UTC (5 years, 8 months ago) by wests
File length: 78472 byte(s)
Diff to previous 93965
Adding uncontrolled check for SCOOPQS

Revision 93965 - (view) (annotate) - [select for diffs]
Modified Mon Jan 13 07:48:56 2014 UTC (5 years, 9 months ago) by wests
File length: 78489 byte(s)
Diff to previous 93518
Adding Eve/Qs build option.

This was quite invasive, and I was unable to test all configurations.


Revision 93518 - (view) (annotate) - [select for diffs]
Modified Fri Nov 22 10:13:29 2013 UTC (5 years, 10 months ago) by jasonw
File length: 75273 byte(s)
Diff to previous 93414
<<Merged from trunk#93517.>>

Revision 93414 - (view) (annotate) - [select for diffs]
Modified Sun Nov 17 16:02:58 2013 UTC (5 years, 11 months ago) by wests
File length: 75264 byte(s)
Diff to previous 93388
Adding synced_on primitive operation.

This adds a few new macros to query and set the status from the generated code,
if necessary. This is also set automatically in the runtime on query/async call
execution.


Revision 93388 - (view) (annotate) - [select for diffs]
Modified Fri Nov 15 15:07:28 2013 UTC (5 years, 11 months ago) by wests
File length: 74804 byte(s)
Diff to previous 93372
Fixing a bug that the TLS weren't being set or reloaded.

The reloading is now done in the RTS_IMPERSONATE macro, and the saving of
TLS data (eif and rt globals) is still done (now correctly I believe) in
eif_thr_impersonate.


Revision 93372 - (view) (annotate) - [select for diffs]
Modified Thu Nov 14 11:27:27 2013 UTC (5 years, 11 months ago) by wests
File length: 74566 byte(s)
Diff to previous 93369
Passive processor support.

This adds new features in ANY, runtime support to enable setting passive
status, and also modified code generation in ACESS_B.

Patch and work courtesy of Benjamin and Florian.


Revision 93369 - (view) (annotate) - [select for diffs]
Modified Thu Nov 14 09:40:17 2013 UTC (5 years, 11 months ago) by wests
File length: 74247 byte(s)
Diff to previous 93266
Adding initial runtime support for processor impersonation.

This includes a new global variable (global_ctxs), and functions to lookup
the appropriate processor information from an Eiffel object reference
and store them into the current TLS variables for the thread.

This lookup and storage is the impersonation mechanism. 


Revision 93266 - (view) (annotate) - [select for diffs]
Modified Fri Nov 8 07:54:05 2013 UTC (5 years, 11 months ago) by jasonw
File length: 74156 byte(s)
Diff to previous 93019
<<Merged from trunk#93264.>>

Revision 93019 - (view) (annotate) - [select for diffs]
Modified Fri Sep 27 09:12:07 2013 UTC (6 years ago) by jasonw
File length: 73856 byte(s)
Diff to previous 92937
<<Merged from trunk#93018.>>

Revision 92937 - (view) (annotate) - [select for diffs]
Modified Fri Sep 13 05:26:42 2013 UTC (6 years, 1 month ago) by jasonw
File length: 73852 byte(s)
Diff to previous 92328
<<Merged from trunk#92936.>>

Revision 92328 - (view) (annotate) - [select for diffs]
Modified Fri Mar 22 11:46:02 2013 UTC (6 years, 6 months ago) by jasonw
File length: 73738 byte(s)
Diff to previous 89579
<<Merged from trunk#92327.>>

Revision 89579 - (view) (annotate) - [select for diffs]
Modified Fri Oct 12 06:28:37 2012 UTC (7 years ago) by jasonw
File length: 74690 byte(s)
Diff to previous 89289
<<Merged from trunk#89578.>>

Revision 89289 - (view) (annotate) - [select for diffs]
Modified Fri Aug 3 08:16:19 2012 UTC (7 years, 2 months ago) by jasonw
File length: 74573 byte(s)
Diff to previous 88968
<<Merged from trunk#89288.>>

Revision 88968 - (view) (annotate) - [select for diffs]
Modified Fri Jun 22 10:24:51 2012 UTC (7 years, 3 months ago) by jasonw
File length: 74458 byte(s)
Diff to previous 88881
<<Merged from trunk#88964.>>


Revision 88881 - (view) (annotate) - [select for diffs]
Modified Fri Jun 15 12:21:45 2012 UTC (7 years, 4 months ago) by jasonw
File length: 74549 byte(s)
Diff to previous 88574
<<Merged from trunk#88880.>>

Revision 88574 - (view) (annotate) - [select for diffs]
Modified Fri Apr 13 08:45:15 2012 UTC (7 years, 6 months ago) by jasonw
File length: 74549 byte(s)
Diff to previous 88450
<<Merged from trunk#88573.>>

Revision 88450 - (view) (annotate) - [select for diffs]
Modified Fri Mar 23 11:38:32 2012 UTC (7 years, 6 months ago) by jasonw
File length: 74528 byte(s)
Diff to previous 88173
<<Merged from trunk#88449.>>

Revision 88173 - (view) (annotate) - [select for diffs]
Modified Fri Jan 13 02:09:08 2012 UTC (7 years, 9 months ago) by jasonw
File length: 74528 byte(s)
Diff to previous 88121
<<Merged from trunk#88172.>>

Revision 88121 - (view) (annotate) - [select for diffs]
Modified Fri Dec 16 14:42:24 2011 UTC (7 years, 10 months ago) by jasonw
File length: 74464 byte(s)
Diff to previous 87721
<<Merged from trunk#88120.>>

Revision 87721 - (view) (annotate) - [select for diffs]
Modified Fri Nov 4 09:32:23 2011 UTC (7 years, 11 months ago) by jasonw
File length: 74899 byte(s)
Diff to previous 87305
<<Merged from trunk#87720.>>

Revision 87305 - (view) (annotate) - [select for diffs]
Modified Fri Sep 23 08:21:01 2011 UTC (8 years ago) by jasonw
File length: 74693 byte(s)
Diff to previous 87220
<<Merged from trunk#87304.>>

Revision 87220 - (view) (annotate) - [select for diffs]
Modified Thu Sep 15 08:09:35 2011 UTC (8 years, 1 month ago) by jasonw
File length: 74392 byte(s)
Diff to previous 86444
<<Merged from trunk#87219.>>

Revision 86444 - (view) (annotate) - [select for diffs]
Modified Fri May 13 12:30:41 2011 UTC (8 years, 5 months ago) by jasonw
File length: 74100 byte(s)
Diff to previous 86354
<<Merged from trunk#86443.>>

Revision 86354 - (view) (annotate) - [select for diffs]
Modified Fri Apr 29 18:23:18 2011 UTC (8 years, 5 months ago) by jasonw
File length: 74333 byte(s)
Diff to previous 86099
<<Merged from trunk#86353.>>

Revision 86099 - (view) (annotate) - [select for diffs]
Modified Fri Apr 1 08:07:39 2011 UTC (8 years, 6 months ago) by jasonw
File length: 71992 byte(s)
Diff to previous 86000
<<Merged from trunk#86097.>>

Revision 86000 - (view) (annotate) - [select for diffs]
Modified Fri Mar 25 12:39:38 2011 UTC (8 years, 6 months ago) by jasonw
File length: 70322 byte(s)
Diff to previous 85847
<<Merged from trunk#85999.>>

Revision 85847 - (view) (annotate) - [select for diffs]
Modified Fri Mar 11 10:18:42 2011 UTC (8 years, 7 months ago) by jasonw
File length: 70096 byte(s)
Diff to previous 85792
<<Merged from trunk#85845.>>

Revision 85792 - (view) (annotate) - [select for diffs]
Modified Fri Mar 4 13:51:36 2011 UTC (8 years, 7 months ago) by jasonw
File length: 70007 byte(s)
Diff to previous 85720
<<Merged from trunk#85790.>>

Revision 85720 - (view) (annotate) - [select for diffs]
Modified Fri Feb 25 11:20:29 2011 UTC (8 years, 7 months ago) by jasonw
File length: 69620 byte(s)
Diff to previous 85646
<<Merged from trunk#85719.>>

Revision 85646 - (view) (annotate) - [select for diffs]
Modified Fri Feb 18 11:55:44 2011 UTC (8 years, 8 months ago) by jasonw
File length: 69647 byte(s)
Diff to previous 85584
<<Merged from trunk#85645.>>

Revision 85584 - (view) (annotate) - [select for diffs]
Modified Fri Feb 11 21:23:26 2011 UTC (8 years, 8 months ago) by jasonw
File length: 69296 byte(s)
Diff to previous 85362
<<Merged from trunk#85576.>>

Revision 85362 - (view) (annotate) - [select for diffs]
Modified Sat Jan 15 14:00:47 2011 UTC (8 years, 9 months ago) by jasonw
File length: 69567 byte(s)
Diff to previous 84960
<<Merged from trunk#85361.>>

Revision 84960 - (view) (annotate) - [select for diffs]
Modified Fri Nov 19 13:26:05 2010 UTC (8 years, 11 months ago) by jasonw
File length: 69610 byte(s)
Diff to previous 84906
<<Merged from trunk#84959.>>

Revision 84906 - (view) (annotate) - [select for diffs]
Modified Fri Nov 12 12:38:36 2010 UTC (8 years, 11 months ago) by jasonw
File length: 69902 byte(s)
Diff to previous 84757
<<Merged from trunk#84905.>>

Revision 84757 - (view) (annotate) - [select for diffs]
Modified Fri Oct 29 18:56:40 2010 UTC (8 years, 11 months ago) by jasonw
File length: 69094 byte(s)
Diff to previous 84470
<<Merged from trunk#84753.>>

Revision 84470 - (view) (annotate) - [select for diffs]
Modified Fri Oct 1 14:01:07 2010 UTC (9 years ago) by jasonw
File length: 64847 byte(s)
Diff to previous 84016
<<Merged from trunk#84468.>>


Revision 84016 - (view) (annotate) - [select for diffs]
Modified Mon Jul 26 09:16:52 2010 UTC (9 years, 2 months ago) by wests
File length: 62964 byte(s)
Diff to previous 83740
<<Merged from trunk#84001.>>

Revision 83740 - (view) (annotate) - [select for diffs]
Modified Tue Jun 29 10:47:08 2010 UTC (9 years, 3 months ago) by julian
File length: 62959 byte(s)
Diff to previous 83594
<<Merged from trunk#83736.>>

Revision 83594 - (view) (annotate) - [select for diffs]
Modified Thu Jun 17 09:23:33 2010 UTC (9 years, 4 months ago) by julian
File length: 62905 byte(s)
Diff to previous 83445
<<Merged from trunk#83593.>>

Revision 83445 - (view) (annotate) - [select for diffs]
Modified Sat Jun 5 15:29:40 2010 UTC (9 years, 4 months ago) by jasonw
File length: 62861 byte(s)
Diff to previous 83441
<<Merged from trunk@83442.>>

Revision 83441 - (view) (annotate) - [select for diffs]
Modified Sat Jun 5 13:52:53 2010 UTC (9 years, 4 months ago) by jasonw
File length: 62178 byte(s)
Diff to previous 83331
Renamed branch eve3 to eve. The eve branch serves as the new branch for the EVE project.

Revision 83331 - (view) (annotate) - [select for diffs]
Modified Wed May 26 18:49:35 2010 UTC (9 years, 4 months ago) by jasonw
Original Path: branches/eth/eve3/Src/C/run-time/eif_macros.h
File length: 62178 byte(s)
Diff to previous 82958
<<Breanched from trunk@83330>> Created a branch to upgrade Eiffel Transform library to trunk.

Revision 82958 - (view) (annotate) - [select for diffs]
Modified Tue Apr 27 13:59:04 2010 UTC (9 years, 5 months ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 62178 byte(s)
Diff to previous 81316
Added new features and macros to calculate dynamic type of feature based on
the given dynamic type (rather than on the given object).
Added new byte codes to support creation of qualified anchored types.
Supported processing of new byte codes by the interpreter.
Supported new byte codes for qualified anchored types in byte dump utility.


Revision 81316 - (view) (annotate) - [select for diffs]
Modified Thu Oct 29 17:30:43 2009 UTC (9 years, 11 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 61953 byte(s)
Diff to previous 80953
Renamed `is_debug' into `eif_is_debug' to avoid potential conflicts with external libraries.


Revision 80953 - (view) (annotate) - [select for diffs]
Modified Tue Sep 29 14:19:37 2009 UTC (10 years ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 61949 byte(s)
Diff to previous 80247
Fixed bug#13852 and bug#13816 by moving evaluation of memory required for allocation to spmalloc and adding a check that there is no overflow (see test#runtime015).

Revision 80247 - (view) (annotate) - [select for diffs]
Modified Thu Aug 13 17:24:47 2009 UTC (10 years, 2 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 62109 byte(s)
Diff to previous 79654
To prevent many eweasel tests to fail due to missing C compilation that was required with the addition
  of `generating_type: TYPE [like Current]' in ANY, we made sure that the compiler would not force a
  freeze each time a new generic derivation of TYPE was added to the system (it was freezing because TYPE
  contains some C externals). To prevent the freeze, now in the case of TYPE we say no need to freeze
  and we have augmented the interpreter with the ability to generate in byte code EXTERNAL_B node assuming
  they are builtin.
Fixed a bug in the code generation of the manifest type `{like Current}' in ANY. Indeed from ANY's point
  of view, like Current is a reference and it was generating the TYPE instance for the reference generice
  derivation of TYPE. Unfortunately when the descendant is expanded it uses the wrong generic derivation
  and code fails at execution. To prevent that problem, a manifest type creation only compute the type
  of its actual generic parameter, and then in the runtime we added `eif_typeof_type_of' which computes
  the approprite TYPE generic derivation to use based on the actual type. Because of that the 
  `rt_type_set' is indexed via the actual generic parameter type rather than by the type of the TYPE instance.
  Note the entry is actually `dftype + 1' as the 0 index is for TYPE [NONE].
Fixed missing analyze of type in TYPE_EXPR_B causing `Current' not to be registered for GC in finalized mode
  when generating a routine with just `Result := {like Current}'. This was making eweasel test#runtime005
  fail.
Fixed a bug in processing TYPED_POINTER associated CLASS_TYPE because the actual generic parameter recorded
  in `basic_type' could be anything and thus would be out of context.
Removed native processing of `generating_type' for basic types since now we need to generate STRING in
  non-experimental mode and TYPE [like Current] in experimental mode.
Renamed private `sk_type' from eif_type_id.c into public `eif_dtype_to_sk_type' in `cecil.c'. This is used
  by the `eif_typeof_type_of' above to calculate the proper generic derivation.
Made `RTLNTY' and `eif_type_malloc' really thread safe (they were not previously due to resizing of
  `rt_type_set'.
Changed signature of `generate_cid_init' in TYPE_A to also take a context (this is needed for the LIKE_CURRENT
  descendant) and this matches the need for a context in `generate_cid' and `generate_cid_array'.
Fixed `internal_same_generic_derivation_as' in GEN_TYPE_A to properly process actual generic parameter
  which are LIKE_CURRENT. This fixes eweasel test#incr074 which was failing with the addition of 
  `generating_type: TYPE [like Current]' in ANY.
Changed LIKE_CURRENT to always use the context type when provided and if not `conformance_type'.
Refactored `generate_type_id' in CREATE_TYPE to use `generated_id' from TYPE_A. This is needed for allowing
  generating the type declaration of NONE.
This commit fixes eweasel test#melt097 and test#valid257.


Revision 79654 - (view) (annotate) - [select for diffs]
Modified Fri Jul 10 17:19:27 2009 UTC (10 years, 3 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 62188 byte(s)
Diff to previous 79484
Removed non used routines `rout_obj_create2' and macro `RTLNR2' which were kept for backward compatibility
  when RTLNRF and RTLNRW were introduced a while ago.
Added some missing preconditions.


Revision 79484 - (view) (annotate) - [select for diffs]
Modified Fri Jun 26 18:24:42 2009 UTC (10 years, 3 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 62300 byte(s)
Diff to previous 78840
Added support for unique instances of TYPE when representing the same Eiffel type.
Added speed up for computation of generic dynamic full type by not having `eif_compound_id' perform
  the cache checking. It is now done in the generated code making it slightly bigger but in a tight
  loop, which simply does t := {LIST [ANY]}, we went from 13s down to 4.5s.
Changed signature of crealloc and cmalloc to use `void *' instead of `char *'.
Added new builtin for class TYPE, even if that class has not yet been committed.


Revision 78840 - (view) (annotate) - [select for diffs]
Modified Fri May 22 20:47:31 2009 UTC (10 years, 4 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 62114 byte(s)
Diff to previous 78722
Fixed a memory corruption of TUPLES where we need to clear all the memory of the TUPLE when
  `egc_has_old_special_semantic' is not set.
Fixed a bug in equal for SPECIAL because we were comparing the whole RT_SPECIAL_PADDED_DATA_SIZE
  whereas only `count', `element_size' and `capacity' should have been compared, now
  we use RT_SPECIAL_DATA_SIZE when we want to compare those attributes.
Fixed a bug in `eif_gen_has_default' where it would report False for non-generic expanded classes.


Revision 78722 - (view) (annotate) - [select for diffs]
Modified Fri May 15 22:51:46 2009 UTC (10 years, 5 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 61929 byte(s)
Diff to previous 78649
New runtime that implements the added hidden `capacity' attribute in SPECIAL, increasing the number of
  hidden attributes to 3 in addition of `count' and `element_size'.
Made the runtime able to handle both the old SPECIAL representation in store/retrieve and also it supports
  two semantic: like before where `count' is always equal to `capacity' and the new one where `count' is
  less than `capacity' useful for void-safety.
Removed non-used retrieval code `irt_make', `irt_nmake' and `object_read' which have been replaced by the
  recoverable storable.
Simplified implementation of `arycpy' since it is always called to grow at the upper bound, never at the
  lower bound.
Increased versioning for storables for general and independent store.


Revision 78649 - (view) (annotate) - [select for diffs]
Modified Tue May 12 21:24:22 2009 UTC (10 years, 5 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 61739 byte(s)
Diff to previous 78632
Simplified SPECIAL management macros to remove the _WITH_INFO and _WITH_ZONE macros.
Updated the code accordingly. 


Revision 78632 - (view) (annotate) - [select for diffs]
Modified Mon May 11 23:52:36 2009 UTC (10 years, 5 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 62537 byte(s)
Diff to previous 78447
Revisited SPECIAL accesses to hidden data `count' and `element_size'. Now it is all done via macros
  now defined in `eif_macros.h' (they used to be hidden in `rt_macros.h'). Updated the code generation
  so that it is easy to change runtime without changing the code generation since we use macros instead
  of hard coded constants.


Revision 78447 - (view) (annotate) - [select for diffs]
Modified Wed Apr 29 22:00:57 2009 UTC (10 years, 5 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 60711 byte(s)
Diff to previous 77410
Fixed eweasel test#expanded008 and bug#15693 where if you have an expanded objects that has references
  those references are not updated by the GC when the expanded object is allocated on the C stack.
Renamed EO_C to EO_STACK to really show that the allocation is on stack.
Fixed `eif_is_nested_expanded' to take EO_STACK into account.
Added `c_stack_object_set' which is used to unmark marked object with the EO_STACK flag.
Fixed some non-verification of return value of `epush' and added FIXME to the other non-verified places.
Cosmetics, added assertions.
Removed RTIE which was not used anymore.


Revision 77410 - (view) (annotate) - [select for diffs]
Modified Fri Feb 27 18:09:16 2009 UTC (10 years, 7 months ago) by jfiat
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 60860 byte(s)
Diff to previous 76378
Change in debugger IPC protocol:
 - now the eiffel debugger also get the nested index (not yet used, but soon)
 - the thread id are sent as pointer instead of integer


Revision 76378 - (view) (annotate) - [select for diffs]
Modified Wed Dec 24 18:46:02 2008 UTC (10 years, 9 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 60809 byte(s)
Diff to previous 75835
Fixed eweasel test#exec293 to ensure we detect a call on Void target when using a tuple label access
  and the tuple is void. Fixes bug#15177 and bug#12354.


Revision 75835 - (view) (annotate) - [select for diffs]
Modified Fri Nov 21 12:35:19 2008 UTC (10 years, 10 months ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 60810 byte(s)
Diff to previous 75267
Provided an implementation for a macro that is used to figure out if the given type is attached at run-time.

Revision 75267 - (view) (annotate) - [select for diffs]
Modified Thu Oct 23 22:29:28 2008 UTC (10 years, 11 months ago) by jfiat
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 60788 byte(s)
Diff to previous 75236
Fixed issue with invariant violation. Now the debugger will correctly retrieve arguments and locals. 
And it will show "_invariant" stack in the call stack (and trace).
It should help understanding where the invariant is violated.

Revision 75236 - (view) (annotate) - [select for diffs]
Modified Tue Oct 21 17:52:59 2008 UTC (10 years, 11 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 60449 byte(s)
Diff to previous 75169
Removed the need to use `RTUD', `RTUD_INV', `eif_id_for_typearr' and `egc_fdtypes' as it has
  been quite a few releases that now `static_type_id' is always the same as `type_id' in workbench
  mode. It should make workbench execution slightly faster (but this was not measured).


Revision 75169 - (view) (annotate) - [select for diffs]
Modified Fri Oct 17 22:27:50 2008 UTC (11 years ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 60679 byte(s)
Diff to previous 75135
Removed usage of RTID in generated code and run-time.
Removed generic conformance macros and directly use `eif_final_id', `eif_compound_id'
  and `eif_gen_param_id' in the generated C code.
Removed the `static type id' argument of most generic conformance routines because now we do not
  use it anymore and updated callers accordingly.
Improved `analyze' from CREATE_FEAT so that we use `dftype' instead of `Dftype (Current)' when
  generating code for a formal type.


Revision 75135 - (view) (annotate) - [select for diffs]
Modified Thu Oct 16 17:48:13 2008 UTC (11 years ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 61241 byte(s)
Diff to previous 74759
The macros RTID is not needed anymore in workbench mode.


Revision 74759 - (view) (annotate) - [select for diffs]
Modified Sun Sep 21 18:50:25 2008 UTC (11 years ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 61308 byte(s)
Diff to previous 74141
Supported initialization of self-initializing attached locals (including Result) and attributes (the latter needs to be done a bit different to take into account explicit attribute declarations and multidot access to the attributes).

Revision 74141 - (view) (annotate) - [select for diffs]
Modified Tue Jul 22 10:09:40 2008 UTC (11 years, 2 months ago) by tedf
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 61199 byte(s)
Diff to previous 73524
- Exposed `ereturn' so that generated code can see it.
- Use `ereturn' instead of `oraise' to propagate the exception at the first time it gets raised by once routines. This fixed test#except030.

Revision 73524 - (view) (annotate) - [select for diffs]
Modified Wed May 14 16:40:40 2008 UTC (11 years, 5 months ago) by tedf
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59730 byte(s)
Diff to previous 73384
- Fixed an old bug in RTLI and RTXI. Comparison `l' with st_end is not sufficient since after retries, the `loc_set' has been restored to what it was at beginning of the call, but `l' could still be the one saved after local stack space expansion. This means `l' could be points to stack chunk rather than current one of `loc_set'. In this case, space expansion is dangerous and causes crash. This fixed test except022.

Revision 73384 - (view) (annotate) - [select for diffs]
Modified Wed May 7 06:54:25 2008 UTC (11 years, 5 months ago) by jfiat
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59684 byte(s)
Diff to previous 73307
Various changes to improve the recording, minimize the object creation in the recording code.
Generate a leave feature macro RTDBGLE, instead of hooking existing macro RTEE and RTEOK.

Revision 73307 - (view) (annotate) - [select for diffs]
Modified Sat May 3 14:19:26 2008 UTC (11 years, 5 months ago) by tedf
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59745 byte(s)
Diff to previous 73040
Fixed where there was a memory leak when no chunk of `loc_stack' was allocated, restoring the values, saved as NULL after `longjmp', caused the chunk of memory allocated somewhere before that `longjmp' lost. Did the same to `hec_stack' just in case the situation happens. This partially fixed except019 of frozen, finalized code and part of melt code. There is still memory leak not found in melt code: 80088 bytes for every 712 retries.

Revision 73040 - (view) (annotate) - [select for diffs]
Modified Wed Apr 16 16:12:24 2008 UTC (11 years, 6 months ago) by jfiat
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59356 byte(s)
Diff to previous 73015
Fixed various issue with execution recording (mostly related to GC)
- various optimization for the execution recording
- renamed RT_DBG_RECORD, as RT_DBG_VALUE_RECORD

Revision 73015 - (view) (annotate) - [select for diffs]
Modified Sat Apr 12 06:29:23 2008 UTC (11 years, 6 months ago) by jfiat
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59314 byte(s)
Diff to previous 72959
- Completed commits for "execution record and replay" functionality
- harmonize use of level in callstack and callstack's depth and call's depth
- store dbg profiles data in a dedicated session, instead of storing in the same "dbg" sessions. This should prevent the lost of profiles .. too often.
- revert back timeout delay before closing ipc_engine  (might fix bug#14190 Long pause after execution finishes when run system under debugger)
- fixed bug#14117 Status bar message about `ignoring breakpoints' is not refreshed when status is changed
- removed previous hack about bug#14120: Object tool grayed out the first time you put EiffelStudio in debug mode

Revision 72959 - (view) (annotate) - [select for diffs]
Modified Sat Apr 5 17:59:09 2008 UTC (11 years, 6 months ago) by jfiat
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59242 byte(s)
Diff to previous 72684
- better catcall detection control (console and debugger)
- use remote evaluation for remote store/load object, and also for most of the replay mechanism
  (this makes the runtime lighter and cleaner)
- introduced break_nested_index (in addition to break index)
- breakpoint: do not save hidden breakpoint (since most of the time, the when hits action might include many unwanted objects)
- add a debugger observer check point to update debugger data (such as breakpoints, catcall detection .. other)
- added on_application_initialized which is just before it is really launched

- Partial integration of execution recording and replay (a few C macros are disabled for now, for next interim release)

- cosmetics

Revision 72684 - (view) (annotate) - [select for diffs]
Modified Tue Mar 11 05:35:31 2008 UTC (11 years, 7 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59191 byte(s)
Diff to previous 72664
Improved code generation for catcall detection so that harmless catcalls are not reported. We may
  offer in the future an option to detect them. Reduced size of executable by reusing the same C string
  constants for feature names and avoid using a string constant for the type and use an integer instead.


Revision 72664 - (view) (annotate) - [select for diffs]
Modified Mon Mar 10 00:41:04 2008 UTC (11 years, 7 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59171 byte(s)
Diff to previous 72315
Added detection of catcalls at runtime. First implementation only does it for C code
  generation and only prints to the console the potential catcall detection. Next
  version should support melted code and handling in EiffelStudio.


Revision 72315 - (view) (annotate) - [select for diffs]
Modified Thu Feb 14 22:01:08 2008 UTC (11 years, 8 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59004 byte(s)
Diff to previous 71933
Fixed incorrect type specification for `Dtype' and `Dftype' as they should use EIF_TYPE_INDEX now.


Revision 71933 - (view) (annotate) - [select for diffs]
Modified Wed Jan 16 00:49:58 2008 UTC (11 years, 9 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 58960 byte(s)
Diff to previous 71930
Previous commit for `eif_macros.h' only worked for generated code, not for compiling the runtime.
   Therefore I added the routine in the runtime instead.


Revision 71930 - (view) (annotate) - [select for diffs]
Modified Tue Jan 15 21:11:58 2008 UTC (11 years, 9 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59312 byte(s)
Diff to previous 71786
Made RTAR as a function since it seems to makes code bigger (4% on the compiler) without
  making it any faster.


Revision 71786 - (view) (annotate) - [select for diffs]
Modified Sun Jan 6 06:09:35 2008 UTC (11 years, 9 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59208 byte(s)
Diff to previous 71783
Fixed missing parenthesis on RTFCID.


Revision 71783 - (view) (annotate) - [select for diffs]
Modified Sat Jan 5 21:53:09 2008 UTC (11 years, 9 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59207 byte(s)
Diff to previous 71664
Improved performance of generated code with regard to dynamic binding. Currently we were using the
  full dynamic type, but since tables are indexed with the dynamic type instead, it requires an
  indirection to get the dtype from the dftype. This indirection costs about 4% on the compiler
  speed and 2% in executable size. The solution was to store both dftype and dtype in the object
  header. On 64-bit, the header is keeping its size, on 32-bit it goes from 8 bytes to 12 bytes.
  That is to say on 32-bit, when you had 8MB of memory used for headers, it is now using 12MB,
  and usually this corresponds to 70MB of data (for the compiler at least).

Consequence:
- dynamic types have a type definition EIF_TYPE_INDEX
- dynamic types are limited to 65000+ (before it was 32000+)
- updated runtime to use EIF_TYPE_INDEX wherever a dtype/dftype is used. Some places were using
  a int or long and this was abused (e.g. debugger encoding 2 dtypes on one int).

Other work:
- fixed most C warnings generated by the VS 2005 C++ comiler
- fixed some issues with equal/copy (use of dtype instead of dftype and comparison of expanded objects
  which should query the size in EIF_Size and not in the object header, since expanded on the stack
  have no size).
- fixed eweasel test#melt064.
- fixed eweasel test#exec255 which eventhough was passing, was not when enabling runtime assertions.
- fixed some issues with storables with respect to storable of special of expanded
- fixed issue with retrieval of special of expanded (see eweasel test#store013).
- simplified `st_write_func' to not take the flags since it is not needed for storing.

What's not perfect:
- There is a mix of usage of int, uint32 and int16 in the interpreter and in store/retrieve for representing
  types. It would be nice to make this more consistent and to use EIF_TYPE_INDEX instead.


Revision 71664 - (view) (annotate) - [select for diffs]
Modified Fri Dec 28 06:28:02 2007 UTC (11 years, 9 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59361 byte(s)
Diff to previous 71552
Added RTLNSP2 as a macro which separates flags from the dynamic type.
  This is to make easy in the transition with the new runtime with minor
  modification in the compiler's generate code.


Revision 71552 - (view) (annotate) - [select for diffs]
Modified Tue Dec 18 01:27:30 2007 UTC (11 years, 10 months ago) by tedf
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 59306 byte(s)
Diff to previous 70753
First integration of Exceptions as Objects.
There are some remaining issues:
- Final layout of base. EXCEPIONS in `elks' now depends on `ise'
- Decision to change name of `last_exception' to `last_unhandled_exception'.
- Old expression evaluations. They are recomputed after retry.
- SYS_EXCEPTION & SYSTEM_EXCEPTION, EIF_EXCEPTION & EIFFEL_EXCEPTION the naming issue.
- The place invariants are generated makes wrong recipient of post-invariant.
- except007, except008 failes on .NET. Because of invariants are generated in callers.
- except012, computation of recipients. 
- exec079, classic, could indicate memory leak problem.
- fixed036, classic, too slow, because of the trace is getting bigger and bigger to build.

Revision 70753 - (view) (annotate) - [select for diffs]
Modified Sat Oct 20 08:13:02 2007 UTC (12 years ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 58191 byte(s)
Diff to previous 70569
Added macros used in code generation for object test.

Revision 70569 - (view) (annotate) - [select for diffs]
Modified Sun Oct 14 10:03:53 2007 UTC (12 years ago) by jfiat
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 57733 byte(s)
Diff to previous 70472
+ first implementation of execution replay (classic only, and limited)
+ remote object storage (save debuggee object, and load from saved object files)
+ now the feature to run the debuggee uses DEBUGGER_EXECUTION_PARAMETERS (this simplifies some code related to debuggee launching and so on)
+ fixed annoying issue with expression on object, the context feature were causing erroneous class context.
+ simplified DBG_EVALUATOR design, and get rid of the associated once from SHARED)DBG_EVALUATOR.
+ cosmetics

(note: the RT_.. classes need to be cleaned up from extra debug clauses, but this will be done before the release, for now let's keep them for debugging purpose)

Revision 70472 - (view) (annotate) - [select for diffs]
Modified Sun Sep 30 22:21:33 2007 UTC (12 years ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 57535 byte(s)
Diff to previous 70470
Could not use a static in `eif_macros.h' for RTCV because it uses `eraise' and unfortunately
  `eif_except.h' is including `eif_macros.h' which includes `eif_except.h' and thus when compiling
  some C code of our runtime (i.e. sig.c) it would simply fail.
  For the time being we added `eif_check_call_on_void_target' in except.c and uses it from `eif_macros.h'.


Revision 70470 - (view) (annotate) - [select for diffs]
Modified Sun Sep 30 15:40:17 2007 UTC (12 years ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 57681 byte(s)
Diff to previous 69854
Added support for generating check for call on void targets in finalized mode instead of crashing
  with a segfault.


Revision 69854 - (view) (annotate) - [select for diffs]
Modified Fri Aug 3 09:05:21 2007 UTC (12 years, 2 months ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 57208 byte(s)
Diff to previous 69853
Unified run-time data structures. Now EIF_TYPED_VALUE is used by the
interpreter, tuples/agents and in workbench C code to pass arguments and
result. The new structure EIF_TYPED_ADDRESS is used to register C variables
for the debugger. The new structure EIF_DEBUG_VALUE is used to access and
modify a value either on interpreted stack or on C stack.


Revision 69853 - (view) (annotate) - [select for diffs]
Modified Fri Aug 3 08:29:07 2007 UTC (12 years, 2 months ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 57221 byte(s)
Diff to previous 69133
Ensured there is no difference when processing expanded object allocated in a heap or as a local (this eliminates the differences in behaviour of C and byte code for test#exec273).

Revision 69133 - (view) (annotate) - [select for diffs]
Modified Fri Jun 15 23:16:15 2007 UTC (12 years, 4 months ago) by paulb
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 57221 byte(s)
Diff to previous 68472
Added runtime function to determine if execution is in Eiffel code.


Revision 68472 - (view) (annotate) - [select for diffs]
Modified Sat May 19 17:33:42 2007 UTC (12 years, 5 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 57093 byte(s)
Diff to previous 68280
Removed non-need concatenation C preprocessor symbol which causes some errors with GCC.


Revision 68280 - (view) (annotate) - [select for diffs]
Modified Sun May 13 18:06:54 2007 UTC (12 years, 5 months ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 57095 byte(s)
Diff to previous 67471
Supported reattachment of objects of types that are generic derivations
with expanded parameters to entities of types that are suitable generic
derivations with reference parameters.



Revision 67471 - (view) (annotate) - [select for diffs]
Modified Thu Mar 22 18:18:23 2007 UTC (12 years, 6 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 56634 byte(s)
Diff to previous 64911
Fixed eweasel test#ccomp062 and bug#12301 by adding missing cast in RTAOMS macro.


Revision 64911 - (view) (annotate) - [select for diffs]
Modified Thu Nov 9 00:36:43 2006 UTC (12 years, 11 months ago) by konradm
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 56616 byte(s)
Diff to previous 63872
- Added compiler support for supplier preconditions.
- In finalized code the dynamic type is now used to detect whether assertions need to be checked.
- Implemented invariant checking in finalized code.
- Changed ecf files of libraries to not have any assertion checking.

Revision 63872 - (view) (annotate) - [select for diffs]
Modified Tue Sep 26 08:52:30 2006 UTC (13 years ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 55654 byte(s)
Diff to previous 63830
Reverted the change for RTEQ macro to support the case when one of the operands is Void (this fixes test#final022, test#exec035, test#set001a, test#set003, test#set004 broken by the previous change).

Revision 63830 - (view) (annotate) - [select for diffs]
Modified Mon Sep 25 12:19:57 2006 UTC (13 years ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 55657 byte(s)
Diff to previous 62818
Changed comparison for expanded objects to use a redefined version of `is_equal' instead of a standard one.

Revision 62818 - (view) (annotate) - [select for diffs]
Modified Mon Aug 21 19:36:06 2006 UTC (13 years, 1 month ago) by konradm
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 55651 byte(s)
Diff to previous 62457
Added debugger support for inline-agents.
Improved behavior when stepping trough agent creations and calls.
Optimized ROUTINE by providing a more compact set_rout_disp_final method for finalized code.


Revision 62457 - (view) (annotate) - [select for diffs]
Modified Sat Aug 12 00:47:20 2006 UTC (13 years, 2 months ago) by konradm
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 55458 byte(s)
Diff to previous 62447
Removed // - style comments from c files

Revision 62447 - (view) (annotate) - [select for diffs]
Modified Fri Aug 11 23:18:55 2006 UTC (13 years, 2 months ago) by konradm
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 55528 byte(s)
Diff to previous 62244
- Corrected several problems with inline agents. (Specially when they occur in assertions)
- Added semantic checks for locals and arguments (VPID) of inline agents
- Optimized agents calls for classic eiffel. 
- It is now possible to make agents on named tuple attributes.


Revision 62244 - (view) (annotate) - [select for diffs]
Modified Thu Aug 3 13:08:47 2006 UTC (13 years, 2 months ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 55569 byte(s)
Diff to previous 61116
Supported equality test that takes into account dynamic type of objects involved in the comparison to choose between reference and expanded semantics.

Revision 61116 - (view) (annotate) - [select for diffs]
Modified Mon Jul 10 12:34:57 2006 UTC (13 years, 3 months ago) by alexk
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 55354 byte(s)
Diff to previous 60616
Supported reverse attachment to entities of expanded (and formal generic) type.

Revision 60616 - (view) (annotate) - [select for diffs]
Modified Tue Jun 27 18:02:28 2006 UTC (13 years, 3 months ago) by konradm
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 55062 byte(s)
Diff to previous 59490
- Support for agents on attributes and externals
- Support for inline agents.
- No freeze anymore when creating a new agent.
- Removed bug in Named tuples

Revision 59490 - (view) (annotate) - [select for diffs]
Modified Wed Jun 7 23:07:02 2006 UTC (13 years, 4 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 54982 byte(s)
Diff to previous 58319
Renamed `xcopy' and `xequal' into `eif_xcopy' and `eif_xequal' as `xcopy' was causing some
  symbol conflicts under VxWorks.


Revision 58319 - (view) (annotate) - [select for diffs]
Modified Thu Apr 20 04:54:18 2006 UTC (13 years, 6 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_macros.h
File length: 54974 byte(s)
Diff to previous 57908
Moved trunk/Src/bench/C into trunk/Src/C.

Revision 57908 - (view) (annotate) - [select for diffs]
Modified Thu Mar 30 12:31:41 2006 UTC (13 years, 6 months ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 54974 byte(s)
Diff to previous 57148
Recorded feature {ANY}.twin in run-time to implement reattachment with
expanded semantics.
Implemented new byte code operation that conditionally clones an object if
its dynamic type is expanded.
Modified implementation of byte code assignment to the entity of expanded
type so that a clone of an object gets attached.
Added new macros that clone an object unconditionally or conditionally if
it is of expanded type.
Changed code generation to implement static or dynamic cloning of an object
involved in reattachment.


Revision 57148 - (view) (annotate) - [select for diffs]
Modified Fri Feb 24 14:47:08 2006 UTC (13 years, 7 months ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 54699 byte(s)
Diff to previous 56595
Removed registration of a once routine for the debugger as now it uses other means to check whether the routine has been executed or not.

Revision 56595 - (view) (annotate) - [select for diffs]
Modified Wed Jan 18 21:44:20 2006 UTC (13 years, 9 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 54820 byte(s)
Diff to previous 53817
Added new copyright for runtime.


Revision 53817 - (view) (annotate) - [select for diffs]
Modified Wed Jul 27 05:55:38 2005 UTC (14 years, 2 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 54255 byte(s)
Diff to previous 53209
Added `Dftype_flags' which given runtime object flags, extract the full dynamic type.
Rewrote Dftype, Dtype, Deif_bid and Mapped_flags to use new `Dftype_flags' and
  to reduce code duplication to better understand the relationship between the
  macros and how to use them.


Revision 53209 - (view) (annotate) - [select for diffs]
Modified Fri Jul 8 18:04:23 2005 UTC (14 years, 3 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 54239 byte(s)
Diff to previous 52322
Fixed warning in C generated code which could actually cause a compile time
  error when compiled in C++ mode.


Revision 52322 - (view) (annotate) - [select for diffs]
Modified Fri Jun 17 18:31:50 2005 UTC (14 years, 4 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 54230 byte(s)
Diff to previous 51566
Made it compile for code generation not using the ISE gc.


Revision 51566 - (view) (annotate) - [select for diffs]
Modified Wed Jun 1 01:52:34 2005 UTC (14 years, 4 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 54214 byte(s)
Diff to previous 50346
Added `EIF_IS_WORKBENCH' macro to know if we are running the workbench version
  of a program.


Revision 50346 - (view) (annotate) - [select for diffs]
Modified Fri Apr 22 16:32:56 2005 UTC (14 years, 5 months ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 54115 byte(s)
Diff to previous 50199
Added macros for fast access to successfully completed once features of
different kind (single-thread, thread-relative, process-relative).
Added macros for complete implementation of functions for constant attributes.
Supported fields that indicate successful completion of once feature.


Revision 50199 - (view) (annotate) - [select for diffs]
Modified Tue Apr 19 15:21:34 2005 UTC (14 years, 6 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 51116 byte(s)
Diff to previous 50072
Reintroduced CAT3 macro needed to properly define RTOFN for all platforms.


Revision 50072 - (view) (annotate) - [select for diffs]
Modified Sun Apr 17 14:56:59 2005 UTC (14 years, 6 months ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 51115 byte(s)
Diff to previous 49233
Supported process-relative once routines in workbench mode.
Changed semantics of once routines to share the same data across different
generic derivations of the same generic class.


Revision 49233 - (view) (annotate) - [select for diffs]
Modified Wed Mar 16 09:17:37 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 43931 byte(s)
Diff to previous 49163
Corrected type of a field used to store once manifest string in finalized
mode to be a reference to a string rather than a pointer to a reference
(this is not related to execution and is only a typing issue).


Revision 49163 - (view) (annotate) - [select for diffs]
Modified Mon Mar 14 12:43:36 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 43933 byte(s)
Diff to previous 48956
Changed exception processing in once routines to avoid adding a dummy
execution vector as it prevents debugger from displaying execution stack
properly. Now a vector to catch exceptions in once routine is placed behind
a vector of the once routine itself, so that a debugger does not notice it.


Revision 48956 - (view) (annotate) - [select for diffs]
Modified Sat Mar 5 08:35:57 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 43976 byte(s)
Diff to previous 47212
Added new macros for once routines to handle exceptions properly and
for regular routines to mimic try/catch blocks.


Revision 47212 - (view) (annotate) - [select for diffs]
Modified Fri Dec 24 11:22:05 2004 UTC (14 years, 9 months ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 35694 byte(s)
Diff to previous 46888
Added macros for process-relative once routines.


Revision 46888 - (view) (annotate) - [select for diffs]
Modified Thu Dec 2 00:27:33 2004 UTC (14 years, 10 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 29310 byte(s)
Diff to previous 46784
Use CAT2 macro instead of ## for better portability.


Revision 46784 - (view) (annotate) - [select for diffs]
Modified Wed Dec 1 00:52:44 2004 UTC (14 years, 10 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 29305 byte(s)
Diff to previous 45851
Added copyright information.
Test if `setjmp' or `longjmp' are defined before defining them using `_setjmp'
  and `_longjmp'. Frankly I'm not sure this is needed, but since the C standard
  says that `setjmp' and `longjmp' are macros it does not really matter.


Revision 45851 - (view) (annotate) - [select for diffs]
Modified Mon Sep 27 11:54:51 2004 UTC (15 years ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 28893 byte(s)
Diff to previous 45803
Supplied compile-time hash code for once manifest strings.


Revision 45803 - (view) (annotate) - [select for diffs]
Modified Fri Sep 24 00:40:20 2004 UTC (15 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 28737 byte(s)
Diff to previous 45719
Now once manifest strings are allocated using `makestr_with_hash_as_old'
which in returns allocated the Eiffel memory using `emalloc_as_old'.
With this, the GC does not need to track those strings at each small
collection as we know they are going to be alive for the all life of
the system.


Revision 45719 - (view) (annotate) - [select for diffs]
Modified Fri Sep 17 14:20:50 2004 UTC (15 years, 1 month ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 28654 byte(s)
Diff to previous 45624
Optimized code for once manifest strings in single-threaded finalized mode.


Revision 45624 - (view) (annotate) - [select for diffs]
Modified Tue Sep 14 18:12:18 2004 UTC (15 years, 1 month ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 28329 byte(s)
Diff to previous 45581
Fixed eweasel bug `exec186' when if the `a' arguments of the RTOVP and RTOVF
macros was a function call, then `a' will not be evaluated if the once was
already computed. Now we force its computation in this case. It may slow down
a little bit the existing performance, but it is better to have correctness.


Revision 45581 - (view) (annotate) - [select for diffs]
Modified Mon Sep 13 14:15:06 2004 UTC (15 years, 1 month ago) by alexk
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 28293 byte(s)
Diff to previous 43373
Supported once manifest strings.


Revision 43373 - (view) (annotate) - [select for diffs]
Modified Sat May 29 23:05:37 2004 UTC (15 years, 4 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 27070 byte(s)
Diff to previous 43345
New macro `RTLXI' which only calls creation procedure of an expanded type
  if any.


Revision 43345 - (view) (annotate) - [select for diffs]
Modified Sat May 29 01:29:41 2004 UTC (15 years, 4 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 26875 byte(s)
Diff to previous 43146
Updated to new signature of `eif_gen_param_id' which now takes a full dynamic
  type rather than an object.


Revision 43146 - (view) (annotate) - [select for diffs]
Modified Fri May 21 23:02:34 2004 UTC (15 years, 5 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 26861 byte(s)
Diff to previous 42297
Enabled creation of SPECIAL directly, instead of indirectly through TO_SPECIAL.
For that we have a new routine `special_creation' to which you enough information
  so that the runtime can properly call `spmalloc' and initializes the special
  headers and footers (nb element, element size). This routine is in charge
  of initializing each elements of a special of expanded. If it is a special
  of BIT X, then it is up to the generated code to generate the initialization
  or the interpreted code (see BC_SPCREATE).


Revision 42297 - (view) (annotate) - [select for diffs]
Modified Tue Mar 23 22:43:09 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 26762 byte(s)
Diff to previous 40877
Added `eif_pointer_identity' needed for fixing a bug in VC6++ which prevents
  C compilation in final mode.


Revision 40877 - (view) (annotate) - [select for diffs]
Modified Wed Dec 24 19:07:03 2003 UTC (15 years, 9 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 26717 byte(s)
Diff to previous 39810
Replaced `RTAS' and `RTAS_OPT' by `RTAR'.
Changed order of arguments in `RTAR' to make it simpler to understand: first
  argument is the object to which a reference is assigned to, the second
  is the reference being assigned to the first argument.
Removed RTRM as now compiler generates RTRV followed by RTAR.
Removed non-used macros due to the above changes.


Revision 39810 - (view) (annotate) - [select for diffs]
Modified Sun Oct 19 19:15:55 2003 UTC (16 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 28151 byte(s)
Diff to previous 39411
Proper ANSI declaration of argumentless routines.


Revision 39411 - (view) (annotate) - [select for diffs]
Modified Sat Oct 4 22:02:00 2003 UTC (16 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 28139 byte(s)
Diff to previous 38550
Added `eif_id_for_typarr' which basically exports `RTUD_INV'.
Added `RTID' which calls `eif_id_for_typarr' in workbench mode, needed
  to get a correct ID for `typarr' when computing generic type for an
  anchor.
Remove special case for anchored types in `eif_id_of' as now the compiler will
 generate their computation, so the value will be already inserted in the
 typarr passed to `eif_compound_id'/`eif_id_of'.


Revision 38550 - (view) (annotate) - [select for diffs]
Modified Sun Aug 17 23:30:46 2003 UTC (16 years, 2 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 28044 byte(s)
Diff to previous 37797
Changed way manifest Eiffel strings are initialized or the way we update
`count' from STRING class. Now in final mode only, instead of performing
a function call to `set_count' we update `count' attribute directly because
we know the `count' offset from top of Eiffel string object (through
`egc_str_count_offset'). Doing this saves about 10-20s on 1124s.
Added the same trick for `internal_hash_code' which is only initialized in
final mode (in workbench mode it remains set to 0 forcing a computation during
execution).


Revision 37797 - (view) (annotate) - [select for diffs]
Modified Wed Jun 25 14:19:11 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 27896 byte(s)
Diff to previous 37445
New thread safe synchronization for GC cycle:
- we now block all threads while one is collecting, before some threads could
  be running while a thread was collecting because strong synchronization was
  not put in place. This is now done through calls to `eif_synchronize_gc' and
  `eif_unsynchronize_gc'. The thread who requested a GC cycle will wait until
  all threads are not marked EIF_THREAD_RUNNING, i.e. they can be either blocked,
  dying, attempting to perform a GC collection. Each thread hold its status in
  new member `gc_thread_status' of `eif_globals'. We also have a new list of
  all `eif_globals' stored in `eif_globals_list' to access this status from the
  thread who requested a GC cycle.
- Fixed thread safe bug in insertion to various `_set' list. Because two threads
  could insert at the same time, the content was corrupted. This fixes most
  of the problem we have seen with multithreaded application even if we did not
  have a strong synchronization (see first point above).
- Added `EIF_ENTER_EIFFEL', `EIF_EXIT_EIFFEL', `EIF_ENTER_C' and `EIF_EXIT_C'
  to be used when either calling blocking C code from Eiffel, or calling
  Eiffel code from a blocking C code. This is needed otherwise the GC will not
  properly synchronize and there will be a dead lock. This is used for the
  routines of the EiffelThreads blocking routines such as `MUTEX.lock',....

Added support for THR_YIELD on Windows.

Modified Files:
	eif_cecil.h eif_globals.h eif_macros.h eif_threads.c garcol.c
	malloc.c include/rt_garcol.h include/rt_macros.h
	include/rt_malloc.h include/rt_threads.h include/rt_types.h


Revision 37445 - (view) (annotate) - [select for diffs]
Modified Thu May 29 22:27:21 2003 UTC (16 years, 4 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 26186 byte(s)
Diff to previous 37398
New agent implementations (see commit on ROUTINE class for more details):
added RTLNR2 which is an equivalent of RTLNR. We keep both at the moment
so that our new runtime can be used by older version of the compiler.


Revision 37398 - (view) (annotate) - [select for diffs]
Modified Tue May 27 23:21:07 2003 UTC (16 years, 4 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 26122 byte(s)
Diff to previous 37333
Added new creation macros for handling new TUPLE objects implementation:
 - RTLNT, RTLNTS: create new tuple object
 - RTLNSMART: create a new object which can either be a normal object (allocated
     through emalloc) or a TUPLE object (allocated through tuple_malloc)
 - RTLNC: create a new object of the same type as given object.


Revision 37333 - (view) (annotate) - [select for diffs]
Modified Wed May 21 20:57:39 2003 UTC (16 years, 5 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 25616 byte(s)
Diff to previous 37224
Instead of passing `Current' to most of the generic conformance routine
we pass its full dynamic type `dftype' which is what we were doing inside
those routines before. It enables some optimization by the compiler
when `Dftype(Current)' is called many times in the same routine through
the local variable `dftype'.


Revision 37224 - (view) (annotate) - [select for diffs]
Modified Sat May 10 23:33:48 2003 UTC (16 years, 5 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 25358 byte(s)
Diff to previous 35776
Adapted to Boehm GC: made some macros meaningful in Boehm GC case. Removed
  some macros that were made for the non ISE_GC case (macros associated
  with once computation).
  Some macros should be empty, but because they are used in local declarations
  they cannot be empty as it will trigger a syntax error during C compilation
  of routines using them within other local declarations. We will
  need to revise those when compiler is updated to no generate semicolons
  for local declarations macros.


Revision 35776 - (view) (annotate) - [select for diffs]
Modified Wed Feb 5 06:06:56 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 25186 byte(s)
Diff to previous 35701
To remove C warnings on Tru64, updated way of calling `eif_final_id' to
take the extra argument `offset'. Basically instead of calling
	eif_final_id (xxx, table - offset, ...., obj)
we do
	eif_final_id (xxx, table, ..., obj, offset)
And in `eif_final_id' we do `table [X - offset]'.


Revision 35701 - (view) (annotate) - [select for diffs]
Modified Fri Jan 31 23:49:06 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 25180 byte(s)
Diff to previous 34934
Added new feature to create an expanded object from the run-time in either
  workbench or finalized mode (before only workbench mode was possible).
  That is to say macro `RTLX' is now defined for both mode, and `cr_exp' too.
The above feature permits us to fix bug in reallocation of SPECIAL of expanded
  where creation procedure was not call on newly created items. Since this
  was done in many places `copy.c', `misc.c' and `malloc.c', I've refactored
  this initialization in `sp_init' from `malloc.c' and this feature is now
  used in above other locations. At least if we decide in the future how
  items should be created, only one location has to be changed.


Revision 34934 - (view) (annotate) - [select for diffs]
Modified Mon Dec 2 18:16:36 2002 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 25180 byte(s)
Diff to previous 34567
We now display the line number in finalized mode too.


Revision 34567 - (view) (annotate) - [select for diffs]
Modified Thu Oct 3 01:54:56 2002 UTC (17 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 25157 byte(s)
Diff to previous 30405
Updated code to new signature of `eif_compound_id' that does not take the
object itself as a parameter, but its Dftype instead.


Revision 30405 - (view) (annotate) - [select for diffs]
Modified Sat Jan 26 20:05:40 2002 UTC (17 years, 8 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 25080 byte(s)
Diff to previous 29201
Added `emalloc_size' which is the new allocation feature that does not query
the dtype nor the size of the objects saving potential page fault.


Revision 29201 - (view) (annotate) - [select for diffs]
Modified Mon Nov 19 21:07:52 2001 UTC (17 years, 11 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 25038 byte(s)
Diff to previous 28849
Fixed a problem with assertion checking if a crash occurred during the checking
of an assertion and if there was a retry statement, the `in_assertion' flag
was reset to 0 instead of preserving the original value. This was the cause
to some infinite loop.


Revision 28849 - (view) (annotate) - [select for diffs]
Modified Wed Nov 7 22:15:00 2001 UTC (17 years, 11 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 24975 byte(s)
Diff to previous 27940
Fixed RTOVP and RTOVF so that there is no `pasting' warnings as they were
reported by gcc. The reason is that it is invalid to concatenate f and (xx)
using the ## operator, instead it is easier to put them next to each other
in the macro definition.


Revision 27940 - (view) (annotate) - [select for diffs]
Modified Fri Sep 28 16:04:55 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 24987 byte(s)
Diff to previous 26793
Added special definition of RTPS in workbench mode so that `prof_stack_rewind' is
not called when profiler is not active.


Revision 26793 - (view) (annotate) - [select for diffs]
Modified Tue Jul 31 17:26:58 2001 UTC (18 years, 2 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 24862 byte(s)
Diff to previous 18268
Merged Development branch dev50_MT into main trunc.
Old trunc is put on Eiffel45_devel.


Revision 18268 - (view) (annotate) - [select for diffs]
Modified Thu Oct 28 03:30:36 1999 UTC (19 years, 11 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22255 byte(s)
Diff to previous 17937
Added FUNCTION_CAST_TYPE which enables to specify the type of calling convention
used on Windows, such as __cdecl, __stdcall, __fastcall.


Revision 17937 - (view) (annotate) - [select for diffs]
Modified Thu Oct 7 23:40:57 1999 UTC (20 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22165 byte(s)
Diff to previous 17801
Cosmetics.


Revision 17801 - (view) (annotate) - [select for diffs]
Modified Tue Oct 5 04:06:41 1999 UTC (20 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22166 byte(s)
Diff to previous 17742
Replaced RTSOF and RTSOFN by RTPOF which is more general.


Revision 17742 - (view) (annotate) - [select for diffs]
Modified Fri Oct 1 23:36:01 1999 UTC (20 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22333 byte(s)
Diff to previous 17730
Fixed a small error on the new RTSOFN macro where we were returning the
content of the pointer instead a pointer to the content.


Revision 17730 - (view) (annotate) - [select for diffs]
Modified Fri Oct 1 22:09:45 1999 UTC (20 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22334 byte(s)
Diff to previous 17533
Added a new macros `RTSOFN(s,o,n)' to access `o-th' element of a `p', pointer on a structure
of size `n'.


Revision 17533 - (view) (annotate) - [select for diffs]
Modified Sat Sep 25 00:21:03 1999 UTC (20 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22122 byte(s)
Diff to previous 16800
Added comments for RTMS_EX.


Revision 16800 - (view) (annotate) - [select for diffs]
Modified Wed Aug 25 18:42:48 1999 UTC (20 years, 1 month ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22014 byte(s)
Diff to previous 16745
Removed the improved version of RTCID and RTRC because some strange things appeared.


Revision 16745 - (view) (annotate) - [select for diffs]
Modified Mon Aug 23 00:26:56 1999 UTC (20 years, 2 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22075 byte(s)
Diff to previous 16734
The improved definition of `RTCID' was incorrect, we misplaced the `then' and the `else'
statement of the ( ? : ) expression.


Revision 16734 - (view) (annotate) - [select for diffs]
Modified Sun Aug 22 18:44:29 1999 UTC (20 years, 2 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22075 byte(s)
Diff to previous 16230
Added some optimizations on generic conformance macros: we now check if the types
are the same of RTRC before calling `eif_gen_conf', we now check if the typecache
has been initialized before calling `eif_compounnd_id'.

In `eif_gen_conf', we changed the way to retrieve the access to the computed value
by removing an array access in the case where it has been computed and where it was matching.


Revision 16230 - (view) (annotate) - [select for diffs]
Modified Thu Aug 12 19:50:28 1999 UTC (20 years, 2 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22014 byte(s)
Diff to previous 16223
Update the use of RTAS macros to use RTAS_OPT which is valid in any cases.
Depending if the preprocessor defines EIF_REM_SET_OPTIMIZATION the previous mechanism
will be used or not.


Revision 16223 - (view) (annotate) - [select for diffs]
Modified Thu Aug 12 17:05:24 1999 UTC (20 years, 2 months ago) by manuelt
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22010 byte(s)
Diff to previous 16221
Macros RTAS_OPT can switch between old and new mechanism (using EIF_REM_SET_OPTIMIZATION)


Revision 16221 - (view) (annotate) - [select for diffs]
Modified Thu Aug 12 15:47:01 1999 UTC (20 years, 2 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22376 byte(s)
Diff to previous 15823
Added a new macro definition `RTMS_EX' which does not compute the length of a string
to create a new Eiffel string. This macro is now used in the C generated code instead
of RTMS which is still kept for compatibility reasons.


Revision 15823 - (view) (annotate) - [select for diffs]
Modified Fri Jul 30 17:23:19 1999 UTC (20 years, 2 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22261 byte(s)
Diff to previous 15159
Removed the `econfm' feature from the run-time and replaced it by `eif_gen_conf'.


Revision 15159 - (view) (annotate) - [select for diffs]
Modified Fri Jun 25 00:29:38 1999 UTC (20 years, 3 months ago) by manuelt
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 22233 byte(s)
Diff to previous 15042
Replace most of occurrences of `char *' by `EIF_REFERENCE`. In some cases,
we may put `void *' instead or put back `char *'. This is the initial change
for the run-time type consistency.


Revision 15042 - (view) (annotate) - [select for diffs]
Modified Tue Jun 22 23:12:19 1999 UTC (20 years, 4 months ago) by manuelt
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 21961 byte(s)
Diff to previous 15025
Correct couples of syntax errors introduced during optimizations integration.


Revision 15025 - (view) (annotate) - [select for diffs]
Modified Tue Jun 22 22:09:24 1999 UTC (20 years, 4 months ago) by manuelt
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 21963 byte(s)
Diff to previous 14203
Support for optimizations:
    - EIF_REM_SET_OPTIMIZATION: Object remembrance optimization for special
    objects full of reference. Usefull when maintaining in memory big arrays.
    - EIF_MEMORY_OPTIMIZATION: Allocate memory objects in the GSZ.
    - EIF_STRING_OPTIMIZATION: set of functions to be called for an optimized
    C-code to allow string special to be allocated in the GSZ.
	- EIF_CONDITIONAL_COLLECTION: Authorize not to call a collection in
	specific cases.

	New run-time parameters.
	Add assertions in C code. (NDEBUG, assert, EIF_EXPENSIVE_ASSERTIONS)


Revision 14203 - (view) (annotate) - [select for diffs]
Modified Fri Apr 30 01:54:14 1999 UTC (20 years, 5 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20894 byte(s)
Diff to previous 14195
Improve the performance of the generic conformance in multithreaded mode by
fixing the size of all the arrays used in this module to the maximum size they
could have, i.e. 0x0000FFFF. If for some reasons we need to resize the array
we call `eif_panic' to finish the execution of the process.


Revision 14195 - (view) (annotate) - [select for diffs]
Modified Tue Apr 27 20:07:12 1999 UTC (20 years, 5 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 21330 byte(s)
Diff to previous 14194
Fixed a bug with incorrect declarations of `xequal', `eequal' and `spequal'.
We changed all the signatures of the comparison functions to return an EIF_BOOLEAN
and to have EIF_REFERENCEs as parameters.
This was causing C compilation errors on some platforms (SGI) due to the difference
between the Eiffel declaration of `spequal' (in SPECIAL)  and the C declaration
in the run-time.


Revision 14194 - (view) (annotate) - [select for diffs]
Modified Tue Apr 27 19:33:51 1999 UTC (20 years, 5 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 21307 byte(s)
Diff to previous 13972
Removed all the occurences to `MAX_PATH' (which was Windows specific) by `PATH_MAX'.
To do so, there was a need to change the inclusion order of some header files.
Also changed the allocation mechanism to allocate `PATH_MAX + 1' instead of just
`PATH_MAX'.


Revision 13972 - (view) (annotate) - [select for diffs]
Modified Thu Apr 8 22:26:24 1999 UTC (20 years, 6 months ago) by manuelt
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 21307 byte(s)
Diff to previous 13800
Oops! Replace ov_size by ov_flags


Revision 13800 - (view) (annotate) - [select for diffs]
Modified Wed Mar 24 23:54:42 1999 UTC (20 years, 6 months ago) by manuelt
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 21306 byte(s)
Diff to previous 12660
Correct RTAR, and RTAS with expanded types.


Revision 12660 - (view) (annotate) - [select for diffs]
Modified Sun Jan 17 23:25:50 1999 UTC (20 years, 9 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20992 byte(s)
Diff to previous 12614
New delayed call mechanism. It is a new version of routine objects, but at a
much higher level which implied a name change in the mechanism.


Revision 12614 - (view) (annotate) - [select for diffs]
Modified Thu Jan 14 18:07:52 1999 UTC (20 years, 9 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20995 byte(s)
Diff to previous 12214
New generic conformance stuff for the multithreaded run-time.


Revision 12214 - (view) (annotate) - [select for diffs]
Modified Tue Dec 8 05:25:38 1998 UTC (20 years, 10 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20627 byte(s)
Diff to previous 12048
New routine objects where you can pass arguments upon creation time
and with infinite apparition of the tilde symbol.


Revision 12048 - (view) (annotate) - [select for diffs]
Modified Fri Nov 20 01:52:12 1998 UTC (20 years, 11 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20543 byte(s)
Diff to previous 11747
Added Routine Objects in the compiler.


Revision 11747 - (view) (annotate) - [select for diffs]
Modified Tue Oct 27 02:48:48 1998 UTC (20 years, 11 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20305 byte(s)
Diff to previous 11717
Fixed a problem when creating a generic parameter when the current class is not generic anymore
Fixed the retrieving problem.
Fixed the assignment attempt problem.


Revision 11717 - (view) (annotate) - [select for diffs]
Modified Fri Oct 23 23:18:47 1998 UTC (20 years, 11 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20297 byte(s)
Diff to previous 11506
Fixed a problem on Windows when NEED_OPTION_H is not defined and CUSTOM is defined
Changed `econfm' into `eif_gen_conf', since the later function is the one that is
doing the conformance check for the macro RTRC.


Revision 11506 - (view) (annotate) - [select for diffs]
Modified Mon Oct 5 16:41:39 1998 UTC (21 years ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20229 byte(s)
Diff to previous 11196
Add some new functions for compatible store/retrieve with generic conformance


Revision 11196 - (view) (annotate) - [select for diffs]
Modified Thu Sep 3 19:04:48 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20085 byte(s)
Diff to previous 11178
Fixed the precompilation and finalizing problem.


Revision 11178 - (view) (annotate) - [select for diffs]
Modified Tue Sep 1 16:25:14 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20054 byte(s)
Diff to previous 10903
Fixed an array optimization problem and new stuff for generic conformance.


Revision 10903 - (view) (annotate) - [select for diffs]
Modified Tue Aug 11 22:40:06 1998 UTC (21 years, 2 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 20055 byte(s)
Diff to previous 10317
Generic conformance adaptation


Revision 10317 - (view) (annotate) - [select for diffs]
Modified Mon Jun 1 22:57:26 1998 UTC (21 years, 4 months ago) by manus
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 19213 byte(s)
Diff to previous 10256
new RTOC macro definition, we are now using `onceset' only and not a combination
of onceset and henter.


Revision 10256 - (view) (annotate) - [select for diffs]
Modified Wed May 27 18:52:11 1998 UTC (21 years, 4 months ago) by fiat
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 19229 byte(s)
Diff to previous 9812
Corrected declaration for in_assertion and include for threads on windows


Revision 9812 - (view) (annotate) - [select for diffs]
Modified Sat Mar 28 01:03:36 1998 UTC (21 years, 6 months ago) by fiat
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 19254 byte(s)
Diff to previous 9754
Added the RT_LNK macros, this is to specify the IMPORTS and EXPORTS features, when we use or make a DLL.


Revision 9754 - (view) (annotate) - [select for diffs]
Modified Mon Mar 23 21:49:28 1998 UTC (21 years, 7 months ago) by fiat
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 19254 byte(s)
Diff to previous 8883
Changed:	fdtypes into egc_fdtypes
			eif_address_table into egc_address_table
			frozen into egc_frozen


Revision 8883 - (view) (annotate) - [select for diffs]
Modified Wed Dec 17 17:23:14 1997 UTC (21 years, 10 months ago) by manuelt
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 19221 byte(s)
Diff to previous 8358
Change precompilation variables _<former name of run-time header file>_h_
in _<new name of run-time header file>_h_ (i.e with `_eif' before)
-- Manuelt


Revision 8358 - (view) (annotate) - [select for diffs]
Added Mon Oct 6 19:20:01 1997 UTC (22 years ago) by paulv
Original Path: trunk/Src/bench/C/run-time/eif_macros.h
File length: 19213 byte(s)
Renaming of all Eiffel include files (foo.h -> eif_foo.h)


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.23