/[eiffelstudio]/branches/CAT_mono/Src/Eiffel/eiffel/byte_code/feature_b.e
ViewVC logotype

Log of /branches/CAT_mono/Src/Eiffel/eiffel/byte_code/feature_b.e

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 69868 - (view) (annotate) - [select for diffs]
Modified Fri Aug 3 22:28:26 2007 UTC (12 years, 4 months ago) by martins
File length: 13720 byte(s)
Diff to previous 69629
enabled more types to store monomorph information

Revision 69629 - (view) (annotate) - [select for diffs]
Modified Mon Jul 23 21:36:18 2007 UTC (12 years, 4 months ago) by manus
File length: 13693 byte(s)
Diff to previous 68280
Creation of CAT_mono branch to implement variant/invariant proposal

Revision 68280 - (view) (annotate) - [select for diffs]
Modified Sun May 13 18:06:54 2007 UTC (12 years, 6 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/byte_code/feature_b.e
File length: 13693 byte(s)
Diff to previous 67227
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 67227 - (view) (annotate) - [select for diffs]
Modified Tue Mar 13 01:32:16 2007 UTC (12 years, 9 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/byte_code/feature_b.e
File length: 13606 byte(s)
Diff to previous 67199
Support for multi constraint generics:
- Central new class is TYPE_SET_A: It provides features for type checking and feature lookup.
  (the TYPE_A interface is not perfectly complete until now)
- Added EXTENDED_TYPE_A: It basically encapsulates a type and a feature renaming.
- Changed parser to accept the new syntax.
- Adapted validity checks for generics to reflect the new rules.
- Changed AST_FEATURE_CHECKER_GENERATOR in particular `process_call' and its siblings
  to select the so called `multi_constrained_static'. This is the actual static type
  of the target. It is done for each access on a multi constraint generic.
- Added error classes VTGC*, VTGD* and VTMC*.
- Changed code which called `constrained_type' feature to make it capable
  of handling multi constraints. This is in most cases achieved through handling these cases
  explicitly: Autocompletion, query language and debugger are not yet adapted and don't work
  properly in the presence of multi constraint formals.
- Changed AST_DECORATED_OUTPUT_STRATEGY and the like to pretty print the multi constraints correctly.

Support for recursive formals:
- I added a second pass AST_FORMAL_GENERICS_PASS2 which handles the registration of suppliers
  and transformation of the types into the right class (formal or class type).

The rest of the changes are targeted to either one of these.


Revision 67199 - (view) (annotate) - [select for diffs]
Modified Mon Mar 12 10:26:03 2007 UTC (12 years, 9 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/byte_code/feature_b.e
File length: 13681 byte(s)
Diff to previous 64911
Moved `implemented_type' from CIL_CODE_GENERATOR and CLASS_C to CL_TYPE_I
to simplify the code and avoid potential mistakes when using it.
Supplied context type of the feature source code when generating replicated
features under .NET as otherwise type evaluation might cause a compiler
crash as generic parameters (if any) of the current class type might be
different from those of the source class type (this fixes bug#12219,
test#dotnet050).


Revision 64911 - (view) (annotate) - [select for diffs]
Modified Thu Nov 9 00:36:43 2006 UTC (13 years, 1 month ago) by konradm
Original Path: trunk/Src/Eiffel/eiffel/byte_code/feature_b.e
File length: 13718 byte(s)
Diff to previous 59076
- 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 59076 - (view) (annotate) - [select for diffs]
Modified Fri May 19 18:12:52 2006 UTC (13 years, 6 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/byte_code/feature_b.e
File length: 13713 byte(s)
Diff to previous 58683
Used written class type as a context one for inlined feature (this fixes an issue with incorrect execution of EiffelBuild when inlining is turned on).

Revision 58683 - (view) (annotate) - [select for diffs]
Modified Thu May 4 15:04:35 2006 UTC (13 years, 7 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/byte_code/feature_b.e
File length: 13667 byte(s)
Diff to previous 58325
Changed order of context class type setting so that type of inlined feature is evaluated in the new context.

Revision 58325 - (view) (annotate) - [select for diffs]
Modified Thu Apr 20 16:05:16 2006 UTC (13 years, 7 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/byte_code/feature_b.e
File length: 13558 byte(s)
Diff to previous 58027
Moved trunk/Src/bench/Eiffel to trunk/Src/Eiffel.

Revision 58027 - (view) (annotate) - [select for diffs]
Modified Wed Apr 5 07:08:57 2006 UTC (13 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 13558 byte(s)
Diff to previous 57408
Fixed mixing paranthesis in indexing clause for the licensing.
Added missing license reference in newly created Eiffel classes.


Revision 57408 - (view) (annotate) - [select for diffs]
Modified Thu Mar 9 13:39:08 2006 UTC (13 years, 9 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 13548 byte(s)
Diff to previous 57371
Moved feature `byte_node' to the ancestor class so that it can also be used when processing external feature.

Revision 57371 - (view) (annotate) - [select for diffs]
Modified Wed Mar 8 00:05:46 2006 UTC (13 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 14127 byte(s)
Diff to previous 56710
Refactoring which separate TYPE_AS from TYPE_A.
* The TYPE_AS classes specific to the compiler have been removed, we now use the one from the
  parser cluster. Only INTEGER_CONSTANT and FORMAL_CONSTRAINT_AS are compiler specific, but defined
  as descendants of INTEGER_AS and FORMAL_DEC_AS.
* The return type and arguments' type are of type TYPE_A, which help us in removing many calls to
  `actual_type' when the purpose was to get the TYPE_A instance as statically it was a TYPE_AS, but
  dynamically it was TYPE_A.
* Rewritten the way we go from TYPE_AS to TYPE_A. This is now done in two steps.
  1 - convert TYPE_AS into TYPE_A using the AST_TYPE_A_GENERATOR visitor. For Bits symbol and anchors
      we get an UNEVALUATED_XX version.
  2 - evaluate and check validity of TYPE_A we obtained by 1), this is done using TYPE_A_CHECKER.
      TYPE_A_CHECKER is modular in the sense that it can be configured to trigger or not errors.
	  Useful to disable when we are in part of the UI of EiffelStudio who does not care about an
	  error reporting.
* Thanks to the above refactoring, I fixed eweasel tests: test#valid104, test#valid131, test#valid135.
  It was due to a bug that when solving an anchor type, we did not update `feature_id', as a consequence
  a comparison would yield False instead of True, because they were referring to the same anchor.
* In TYPE_A, try to add some preconditions to `associated_class' and fix all incorrect usage of it.
  Use `is_valid' a lot to ensure that we have a valid type (used to check validity of types in
  inheritance clause and constraints).
* Changed formatting so that we see G#x and arg#x (whereas it was Generic #x, Formal #x and arg # x)
  to make things more compact.
* Updated all the other part of EiffelStudio that depended on the above changes.
* New version number 5.7.0806



Revision 56710 - (view) (annotate) - [select for diffs]
Modified Wed Jan 25 11:08:15 2006 UTC (13 years, 10 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 14060 byte(s)
Diff to previous 56615
Optimized "context_type" by using new property of the current class type to
reference relevant CL_TYPE_I.
Moved context-aware enlarging function ("enlarged_on") to ACCESS_B so that
it can be used from unary operator byte nodes.
Optimized "real_feature_id" to avoid looking for the required feature ID
when the current context matches the written one.


Revision 56615 - (view) (annotate) - [select for diffs]
Modified Thu Jan 19 18:29:17 2006 UTC (13 years, 10 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 13774 byte(s)
Diff to previous 56611
Removed duplicated code.

Revision 56611 - (view) (annotate) - [select for diffs]
Modified Thu Jan 19 13:41:38 2006 UTC (13 years, 10 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 13861 byte(s)
Diff to previous 56568
Ensured that when code generation is delegated to a newly created byte node, its parent is properly updated.

Revision 56568 - (view) (annotate) - [select for diffs]
Modified Tue Jan 17 15:16:17 2006 UTC (13 years, 10 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 13531 byte(s)
Diff to previous 56535
Ensured that a feature is processed as attribute when it is redeclared into
attribute in the context class type. This is performed for byte code
generation, C code generation and inlining.
Ensured that inlining of an external feature is performed as expected.


Revision 56535 - (view) (annotate) - [select for diffs]
Modified Tue Jan 17 01:37:10 2006 UTC (13 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11577 byte(s)
Diff to previous 56293
Added text of the GPL license to all classes of the compiler.


Revision 56293 - (view) (annotate) - [select for diffs]
Modified Wed Dec 21 16:58:30 2005 UTC (13 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 10172 byte(s)
Diff to previous 55951
Fixed eweasel test final034, bug introduced recently when optimizing,
  the case where a deferred routine with only one implementation would
  a static call now, thus ok for inlining. The inlining code was only
  trying to look at the body_index of the current call, and not the one
  from the only possible call.


Revision 55951 - (view) (annotate) - [select for diffs]
Modified Wed Nov 30 22:58:03 2005 UTC (14 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 9837 byte(s)
Diff to previous 55783
New code generation for IL code generation using the IL_NODE_GENERATOR visitor
  instead of calling `generate_il' routines.
Added precondition to BYTE_NODE visitor so that one can limit the scope of a visitor
  to a set of nodes only.


Revision 55783 - (view) (annotate) - [select for diffs]
Modified Fri Nov 18 00:26:05 2005 UTC (14 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 17449 byte(s)
Diff to previous 55413
Removed melted code generation through the use `make_byte_code' from BYTE_NODE
  (which does not exist anymore) since melted code generation is now done
  through MELTED_GENERATOR visitor.


Revision 55413 - (view) (annotate) - [select for diffs]
Modified Thu Oct 27 10:00:46 2005 UTC (14 years, 1 month ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21536 byte(s)
Diff to previous 55138
Changed signatures of the features that are used to generate code for the
standard features of class ANY, because the actual type for which the
generation is performed is always a class type, not an arbitrary type.
Fixed bug in .NET code generation for accessing items of NATIVE_ARRAY
when the actual generic parameter is an expanded type.
Ensured that all parameters passed to standard features of class ANY
implemented by run-time are of reference type.
Ensured that calls to features on expanded type are non-virtual.


Revision 55138 - (view) (annotate) - [select for diffs]
Modified Fri Oct 14 00:54:05 2005 UTC (14 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21237 byte(s)
Diff to previous 54952
Added `process' routine for the BYTE_NODE_VISITOR.


Revision 54952 - (view) (annotate) - [select for diffs]
Modified Thu Oct 6 12:05:00 2005 UTC (14 years, 2 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21105 byte(s)
Diff to previous 50349
Changed .NET code generation to support feature calls on objects of
expanded type, including the intrinsic ones from ANY.


Revision 50349 - (view) (annotate) - [select for diffs]
Modified Fri Apr 22 16:42:32 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21234 byte(s)
Diff to previous 50155
Added an attribute that indicates whether associated once feature is
process-relative or not.


Revision 50155 - (view) (annotate) - [select for diffs]
Modified Tue Apr 19 03:57:29 2005 UTC (14 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21114 byte(s)
Diff to previous 49446
More precise type for `parameters'.


Revision 49446 - (view) (annotate) - [select for diffs]
Modified Thu Mar 24 07:11:22 2005 UTC (14 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21109 byte(s)
Diff to previous 45562
Use new syntax for static calls.


Revision 45562 - (view) (annotate) - [select for diffs]
Modified Sat Sep 11 23:16:11 2004 UTC (15 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21141 byte(s)
Diff to previous 43820
Fixed errors reported by gelint since our compiler does not do yet system
validity checking (i.e. flat degree 3 checking).


Revision 43820 - (view) (annotate) - [select for diffs]
Modified Tue Jun 15 18:00:54 2004 UTC (15 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21199 byte(s)
Diff to previous 43152
Renamed `current_type' into `current_class_type' as now it returns a CLASS_TYPE
  instead of a CL_TYPE_I. Simplified its implementation when we encounter a TUPLE
  type.
Because BYTE_CONTEXT does not export `set_current_type' but encourage clients
  to use `set_class_type' to preserve its invariant, updated calls to use
  `set_class_type' instead. This is one of the reason why `current_class_type'
  now returns a CLASS_TYPE.


Revision 43152 - (view) (annotate) - [select for diffs]
Modified Fri May 21 23:36:50 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21575 byte(s)
Diff to previous 43084
Use `is_special' instead of `is_special_array' which has been removed from CLASS_C.


Revision 43084 - (view) (annotate) - [select for diffs]
Modified Tue May 18 04:14:09 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21581 byte(s)
Diff to previous 43012
Used two words names instead of just one for `put_xx', `read_xx' and `last_xxx' routines.
Used specific `put_xxx_id' routines to generate runtime IDs. This removes those
  very annoying `- 1' in the code because the runtime and the compiler are not
  indexed the same way.


Revision 43012 - (view) (annotate) - [select for diffs]
Modified Thu May 13 02:02:35 2004 UTC (15 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21572 byte(s)
Diff to previous 42647
Fixed eweasel test dotnet003 were you have an infinite recursion when
calling a feature of ANY through Precursor.


Revision 42647 - (view) (annotate) - [select for diffs]
Modified Fri Apr 9 16:45:15 2004 UTC (15 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21501 byte(s)
Diff to previous 42636
Renamed `init' into `make', and added extra arguments to `make' so that
  a proper FEATURE_B instance is created (i.e. with `type' and `precursor_type'
  properly initialized)


Revision 42636 - (view) (annotate) - [select for diffs]
Modified Fri Apr 9 03:15:41 2004 UTC (15 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21369 byte(s)
Diff to previous 42398
Implemented constraints that are either reference or expanded:
  Updated to new way of creating a FORMAL_A instance which now needs to know
  whether or not it has the `reference' or `expanded' constraint.


Revision 42398 - (view) (annotate) - [select for diffs]
Modified Fri Mar 26 03:05:22 2004 UTC (15 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21254 byte(s)
Diff to previous 40970
New byte node `ANY_FEATURE_B' for features written in ANY that will be specially
  inlined by Eiffel compiler for .NET code generation. It enables us to
  call routines of ANY on .NET objects.
  So far we support all the routines except `print' and `internal_correct_mismatch'.


Revision 40970 - (view) (annotate) - [select for diffs]
Modified Mon Jan 12 00:26:24 2004 UTC (15 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 20258 byte(s)
Diff to previous 39371
Removed former SCOOP implementation as it is now obsolete and if any new
implementation there is (through ETH) most likely it will be completely
different from the previous one.
We only keep `separate' at the type checking level, but not for code generation.


Revision 39371 - (view) (annotate) - [select for diffs]
Modified Thu Oct 2 03:02:36 2003 UTC (16 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22248 byte(s)
Diff to previous 38953
Fixed inlining bugs where we are not evaluating types from the inlined routine
  in the context of the current code generation. It fixes eweasel tests term117
  and final022.


Revision 38953 - (view) (annotate) - [select for diffs]
Modified Sun Sep 7 22:38:05 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22130 byte(s)
Diff to previous 38846
Fixed eweasel entry final027 because for expanded types, the meta type should
be the expanded type and not the constraint.


Revision 38846 - (view) (annotate) - [select for diffs]
Modified Wed Sep 3 21:58:25 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22127 byte(s)
Diff to previous 38799
Fixed issue in IL code generation where invariants checking was generated
even for qualified calls to NATIVE_ARRAY which does not have any invariants anyway.
This causes generation of incorrect IL sequences.


Revision 38799 - (view) (annotate) - [select for diffs]
Modified Sat Aug 30 01:01:22 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22094 byte(s)
Diff to previous 37665
In IL code generation, force call to check the invariant when we are in
workbench mode as well. Fixed a typo where if `inv_checked' was True,
`invariant_checked' was not set where it should have been.


Revision 37665 - (view) (annotate) - [select for diffs]
Modified Tue Jun 10 23:50:26 2003 UTC (16 years, 6 months ago) by julieng
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22110 byte(s)
Diff to previous 35669
Replace !! with create keyword.


Revision 35669 - (view) (annotate) - [select for diffs]
Modified Fri Jan 31 01:12:12 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22101 byte(s)
Diff to previous 34777
In IL code generation, we can now correctly create, insert and retrieve
elements of a NATIVE_ARRAY of expanded types. The most complicated part
is for insertion since something special has to be done before generating the
element being inserted.


Revision 34777 - (view) (annotate) - [select for diffs]
Modified Wed Nov 6 17:46:44 2002 UTC (17 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21614 byte(s)
Diff to previous 32540
When calling `generate_check_cast' we now have Void for source since we
do not know the type of the source yet. In FEATURE_B, we removed the cast
before doing the call as now creation of object produces the right type
(no cast needed anymore).


Revision 32540 - (view) (annotate) - [select for diffs]
Modified Wed Jun 19 01:15:22 2002 UTC (17 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22259 byte(s)
Diff to previous 32448
No need for special code when calling a precompiled feature. Previous code was
integrated by mistake as the log shows that we never mentionned it.


Revision 32448 - (view) (annotate) - [select for diffs]
Modified Wed Jun 12 17:16:38 2002 UTC (17 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22562 byte(s)
Diff to previous 32004
Fixed code generation of invariant so that invariants are checked only in
a dotted call after and before the call, and only checked after the call
for a creation of an object.


Revision 32004 - (view) (annotate) - [select for diffs]
Modified Mon May 13 18:53:44 2002 UTC (17 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22198 byte(s)
Diff to previous 31936
Removed non-used local variables.


Revision 31936 - (view) (annotate) - [select for diffs]
Modified Thu May 9 01:23:14 2002 UTC (17 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 22224 byte(s)
Diff to previous 31894
Improved speed of generated code in IL generation for `item', `@' and `put'
from SPECIAL to remove the overhead of calling the feature from SPECIAL, we
directly access the `native_array' attribute from SPECIAL and perform the
call on `native_array' directly. By doing so we reduced by 5 times the
time taken by these features.


Revision 31894 - (view) (annotate) - [select for diffs]
Modified Tue May 7 03:27:34 2002 UTC (17 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21280 byte(s)
Diff to previous 31679
Updated to new signature of `generate_il' in IL_SPECIAL_FEATURES which
now takes `Current' as first argument.


Revision 31679 - (view) (annotate) - [select for diffs]
Modified Sun Apr 21 01:18:55 2002 UTC (17 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21271 byte(s)
Diff to previous 31551
Cosmetics.


Revision 31551 - (view) (annotate) - [select for diffs]
Modified Tue Apr 16 01:26:03 2002 UTC (17 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21292 byte(s)
Diff to previous 30852
Updated calls to `generate_feature_access' which now takes the number of
arguments and if there is a return value or not. This information is used
to compute `max_stack' for a MD_METHOD_BODY.


Revision 30852 - (view) (annotate) - [select for diffs]
Modified Sun Feb 24 02:52:55 2002 UTC (17 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21171 byte(s)
Diff to previous 30577
IL generation: Generate needed cast in `verifiable' mode on the target
of call. This is needed for typed creation or expression creation (see comments).


Revision 30577 - (view) (annotate) - [select for diffs]
Modified Sat Feb 9 23:29:54 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 20536 byte(s)
Diff to previous 30236
In IL code generation, we do not use `not_need_target' anymore as it is now
taken care of in IL_SPECIAL_FEATURES.


Revision 30236 - (view) (annotate) - [select for diffs]
Modified Thu Jan 17 02:47:47 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 20636 byte(s)
Diff to previous 29882
Updated code to use new creation procedure `make' from CL_TYPE_I.


Revision 29882 - (view) (annotate) - [select for diffs]
Modified Fri Dec 21 00:12:52 2001 UTC (17 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 20684 byte(s)
Diff to previous 29516
Removed `generate_il_array_creation' as it was not used.
Removed a if statement in `generate_il_call' for the existence of the associated
native_array_class_type as it is guaranted to exist (added check statement)


Revision 29516 - (view) (annotate) - [select for diffs]
Modified Thu Dec 6 00:36:51 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21206 byte(s)
Diff to previous 29356
Updated SPECIAL_FEATURES to use IDs instead of string for feature names.


Revision 29356 - (view) (annotate) - [select for diffs]
Modified Tue Nov 27 22:54:35 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21203 byte(s)
Diff to previous 28614
Improved and adapted code generation with new IL code generation. Now, code
is generated by performing a call on the class which first defined a feature.
The computation of origin is done at degree 4. That way we save a lot of
access to the FEATURE_TABLEs.


Revision 28614 - (view) (annotate) - [select for diffs]
Modified Wed Oct 31 03:22:35 2001 UTC (18 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21036 byte(s)
Diff to previous 28374
In `generate_il_array_creation' fixed check statement to ensure we are handling
a NATIVE_ARRAY and not a SPECIAL as it used to be the case.


Revision 28374 - (view) (annotate) - [select for diffs]
Modified Wed Oct 24 22:01:51 2001 UTC (18 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 21026 byte(s)
Diff to previous 28173
Implementation of multiple inheritance for IL code generation.


Revision 28173 - (view) (annotate) - [select for diffs]
Modified Tue Oct 16 18:49:25 2001 UTC (18 years, 1 month ago) by xavier
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 19378 byte(s)
Diff to previous 28151
Use the id instead of the name.


Revision 28151 - (view) (annotate) - [select for diffs]
Modified Tue Oct 16 16:50:10 2001 UTC (18 years, 1 month ago) by xavier
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 19375 byte(s)
Diff to previous 27507
Use `feature_name_id' instead of `feature_name' for fast lookup.


Revision 27507 - (view) (annotate) - [select for diffs]
Modified Mon Sep 10 23:26:36 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 19372 byte(s)
Diff to previous 27479
Optimized to use a name ID instead of a STRING. It will improve speed of code
generation and reduce the EIFGEN size.


Revision 27479 - (view) (annotate) - [select for diffs]
Modified Sun Sep 9 01:07:10 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 19497 byte(s)
Diff to previous 27080
Use `put_dummy_local_info' instead of hard_coding local name.


Revision 27080 - (view) (annotate) - [select for diffs]
Modified Mon Aug 20 21:16:46 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 19506 byte(s)
Diff to previous 26913
`is_feature_special' now takes the type of basic type so that a feature
can be optimized only if the type can support it. For example: `out' from
WIDE_CHARACTER is not optimized where it is for all other basic types.


Revision 26913 - (view) (annotate) - [select for diffs]
Modified Sun Aug 12 23:50:20 2001 UTC (18 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 19411 byte(s)
Diff to previous 19351
Merged branch `dev46_manu' to the trunc.


Revision 19351 - (view) (annotate) - [select for diffs]
Modified Sun Jan 16 16:08:22 2000 UTC (19 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 14058 byte(s)
Diff to previous 19011
Go back to the 4.5 release tag. Integration of previous version should have been
done in the dev46 branch, not on the trunc.


Revision 19011 - (view) (annotate) - [select for diffs]
Modified Sat Nov 20 19:24:10 1999 UTC (20 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 14062 byte(s)
Diff to previous 18072
New local Variable generation. We are not generating any hooks anymore for
accessing local variables. Local variables are now registred ad the entrance
of the routine in the l[] array, but after they are accessed directly. Thus
improving speed.


Revision 18072 - (view) (annotate) - [select for diffs]
Modified Tue Oct 19 00:16:50 1999 UTC (20 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 14058 byte(s)
Diff to previous 16740
Improved abstraction for C generation of protected local variables l[0], by
putting in GENERATION_BUFFER a new feature `put_protected_local' which generates
the hook l[0]. This is better, because soon we will change l[0] into l_0 and we do not
want to change that everywhere in the Eiffel code, but only at one place.


Revision 16740 - (view) (annotate) - [select for diffs]
Modified Sun Aug 22 19:05:53 1999 UTC (20 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 14076 byte(s)
Diff to previous 14881
Improved the performance of the generated code both in melted code and C code generation
of calls on basic type. In addition to that, we also fixed a bug when calling `generator'
or `generating_type' on basic types, where instead of the basic type it was returning the
reference on basic types, i.e. INTEGER_REF instead of INTEGER.

The consequence of this change is the introduction of 3 new byte codes:
- Bc_min
- Bc_max
- Bc_generator

We are still missing `set_item' but it will come soon.


Revision 14881 - (view) (annotate) - [select for diffs]
Modified Mon Jun 14 00:27:11 1999 UTC (20 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 13998 byte(s)
Diff to previous 14399
Test the existence of `parameter_b' before using it for the generation of byte code.
Replaced `(char *) 0' by `(EIF_REFERENCE) 0' for future code generation improvements.


Revision 14399 - (view) (annotate) - [select for diffs]
Modified Thu May 13 01:07:40 1999 UTC (20 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 13961 byte(s)
Diff to previous 14219
Fixed a bug in the byte code generation where the `parameter_b' that we were getting
from the parameters list of a function could have not conform to PARAMETER_B. In that
case nothing should have been done, instead we were crashing by a `applied to Void
reference since the assignment attempt failed'.


Revision 14219 - (view) (annotate) - [select for diffs]
Modified Fri Apr 30 17:32:57 1999 UTC (20 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 13932 byte(s)
Diff to previous 14181
Fixed a bug with the following piece of code:
	i: INTEGER
	test ($i);
	test (p: POINTER) is ...
In earlier time, the $ operator was only available for C external routines,
however we removed the limitation and give the $ operator to any routines.
But someone forgot to update the melted code to do a correct generation.
For the moment, we simply adapted the generated byte code in the case of an
external call to a standard Eiffel call. (See EXTERNAL_B where it was written
first).


Revision 14181 - (view) (annotate) - [select for diffs]
Modified Wed Apr 21 19:08:00 1999 UTC (20 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 12319 byte(s)
Diff to previous 14180
Speed up the search of `body_id' when generating the `inlined_byte_code'


Revision 14180 - (view) (annotate) - [select for diffs]
Modified Wed Apr 21 19:05:39 1999 UTC (20 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 12238 byte(s)
Diff to previous 12180
Fixed a bug with incremental finalization using `inlining':
Starting from a compilation of
	f is do g end
	g is do end
to
	f is do g end
	g is do another_feature do

This change did not result in a correct generation because the inlining of `g' did
not generate the call to `another_feature'.

The problem is that we were using in `f' the body_id of `g', however after the modification
the compiler changed the body_id of `g' into something else, however, `f' was still using
the old body_id which results in an incorrect generation.

The solution was to stored `body_index' instead and to do a look up in the body_index_table
to find the real body_id of `g'.


Revision 12180 - (view) (annotate) - [select for diffs]
Modified Sat Dec 5 21:27:36 1998 UTC (21 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11853 byte(s)
Diff to previous 11967
Introduction of the new routine object in the compiler with an updated
TUPLE class. Now you can write: ~r or ~{A}r.


Revision 11967 - (view) (annotate) - [select for diffs]
Modified Thu Nov 12 10:06:17 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11416 byte(s)
Diff to previous 11912
Added `is_once' to know if the current node corresponds to a once function,
if so, inlining cannot be done.


Revision 11912 - (view) (annotate) - [select for diffs]
Modified Tue Nov 10 07:54:39 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11171 byte(s)
Diff to previous 11907
API/interface/e_feature.e
eiffel/AST/clickable/class_type_as.e
eiffel/AST/expressions/binary_as.e
eiffel/AST/expressions/un_strip_as.e
eiffel/AST/expressions/unary_as.e
eiffel/AST/skeleton/access_address_as.e
eiffel/AST/skeleton/access_feat_as.e
eiffel/AST/skeleton/bits_symbol_as.e
eiffel/AST/skeleton/id_as.e
eiffel/AST/skeleton/like_id_as.e
eiffel/AST/skeleton/precursor_as.e
eiffel/byte_code/feature_b.e
eiffel/compiler/array_optimizer.e
eiffel/compiler/class_dependance.e
eiffel/compiler/depend_unit.e
eiffel/compiler/feat_iterator.e
eiffel/compiler/feature_dependance.e
eiffel/compiler/feature_table.e
eiffel/compiler/remover.e
eiffel/compiler/select_table.e
eiffel/generation/attr_entry.e
eiffel/generation/entry.e
eiffel/generation/poly_table.e
eiffel/generation/rout_entry.e
eiffel/generation/special_entry.e
eiffel/inheritance/inherit_table.e
eiffel/interface/attribute_i.e
eiffel/interface/class_c.e
eiffel/interface/external_i.e
eiffel/interface/feature_i.e
eiffel/interface/system_i.e
eiffel/server/depend_server.e

New dead code removal: the old dead code removal was going through the
FEATURE_I of the system in a non-linear way which took a very long
time since the FEATURE_I are not very fast to be retrieved (We were
retrieving them through the FEATURE_TABLE). Now, the
algorythm is basically the same, we go through the whole system marking
the features alive and then their dependances, but we transfered the
usefull information for the algorithm in the dependances themselves
making it a more compact information to retrieve. Thus we had also to
update all the calls to the feature dependances in the system.


Revision 11907 - (view) (annotate) - [select for diffs]
Modified Tue Nov 10 04:24:38 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11126 byte(s)
Diff to previous 11815
Changed `rout_id' into `routine_id' (see comment on CALL_ACCESS_B)
Add all the needed initialization for `routine_id'
Add an attribute to save the associated BODY_ID to the feature, so that we
can remove some accesses to the FEATURE_TABLE.

Improve traversal speed on BYTE_LIST by using `area' and local variables

In INLINED_RESULT_B, removed the redefinition of `analyze' since it was the same
as the parent RESULT_B.


Revision 11815 - (view) (annotate) - [select for diffs]
Modified Fri Nov 6 23:01:15 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11249 byte(s)
Diff to previous 11587
Enables inlining of `put' and `item' from SPECIAL, but not `make_area' from TO_SPECIAL.
 |-> This implies a new class SPECIAL_INLINED_FEAT.
Changed also the way how to compute if a feature is a polymorphic one or not.


Revision 11587 - (view) (annotate) - [select for diffs]
Modified Mon Oct 12 22:22:40 1998 UTC (21 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11158 byte(s)
Diff to previous 10818
Use now a dedicated class for C generation: GENERATION_BUFFER


Revision 10818 - (view) (annotate) - [select for diffs]
Modified Thu Jul 30 20:33:23 1998 UTC (21 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11148 byte(s)
Diff to previous 10355
Add the generic conformance to the compiler


Revision 10355 - (view) (annotate) - [select for diffs]
Modified Wed Jun 10 02:31:42 1998 UTC (21 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11180 byte(s)
Diff to previous 10314
Use the keyword `Precursor' in `context_type'


Revision 10314 - (view) (annotate) - [select for diffs]
Modified Mon Jun 1 22:27:43 1998 UTC (21 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11441 byte(s)
Diff to previous 10193
Removed DLE from the compiler.
This implies some code removing and small changes to the code so that it won't include
any DLE specific classes


Revision 10193 - (view) (annotate) - [select for diffs]
Modified Fri May 22 01:00:29 1998 UTC (21 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11459 byte(s)
Diff to previous 10146
Because we removed the inliner and array_optimizer from SYSTEM_I to go back
to the former version (ie 4.1D) we have to add an indirection.


Revision 10146 - (view) (annotate) - [select for diffs]
Modified Thu May 14 01:15:55 1998 UTC (21 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11451 byte(s)
Diff to previous 9955
Added a local variable of type INDENT_FILE to get the value of the
function `generated_file', so that we access the file more quickly

This is the first pass, there is some remaining files to do


Revision 9955 - (view) (annotate) - [select for diffs]
Modified Wed Apr 22 16:02:11 1998 UTC (21 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11456 byte(s)
Diff to previous 8949
Cosmetics


Revision 8949 - (view) (annotate) - [select for diffs]
Modified Thu Jan 15 02:30:59 1998 UTC (21 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11456 byte(s)
Diff to previous 8263
Now the inliner is part of SYSTEM_I and not part of REMOVER.


Revision 8263 - (view) (annotate) - [select for diffs]
Modified Tue Sep 30 15:30:33 1997 UTC (22 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 11464 byte(s)
Diff to previous 7676
Precursor changes


Revision 7676 - (view) (annotate) - [select for diffs]
Modified Tue Feb 11 16:50:01 1997 UTC (22 years, 10 months ago) by michaels
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 10174 byte(s)
Diff to previous 6874
call to 'make_java_typecode' added


Revision 6874 - (view) (annotate) - [select for diffs]
Modified Fri Oct 18 18:19:49 1996 UTC (23 years, 1 month ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 10147 byte(s)
Diff to previous 6562
special descendant for Concurrent Eiffel


Revision 6562 - (view) (annotate) - [select for diffs]
Modified Wed Sep 25 16:56:37 1996 UTC (23 years, 2 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 14262 byte(s)
Diff to previous 6377
E_CLASS indirection removed
class_name => name in CLASS_C (comig from E_CLASS)


Revision 6377 - (view) (annotate) - [select for diffs]
Modified Fri Aug 16 15:30:38 1996 UTC (23 years, 3 months ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 14290 byte(s)
Diff to previous 5974
Concurrent Eiffel


Revision 5974 - (view) (annotate) - [select for diffs]
Modified Fri Jul 12 19:56:30 1996 UTC (23 years, 5 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 10147 byte(s)
Diff to previous 5287
ANSI C/C++ code generation
parameters is now a list of EXPR_B (was BYTE_NODE)
cosmetics


Revision 5287 - (view) (annotate) - [select for diffs]
Modified Fri May 24 14:35:59 1996 UTC (23 years, 6 months ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 10742 byte(s)
Diff to previous 5266
Concurrent Eiffel


Revision 5266 - (view) (annotate) - [select for diffs]
Modified Fri May 24 11:01:14 1996 UTC (23 years, 6 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 10017 byte(s)
Diff to previous 5071
cosmetics


Revision 5071 - (view) (annotate) - [select for diffs]
Modified Thu May 9 17:43:19 1996 UTC (23 years, 7 months ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 10018 byte(s)
Diff to previous 4092
Concurrent Eiffel


Revision 4092 - (view) (annotate) - [select for diffs]
Modified Thu Mar 14 15:06:18 1996 UTC (23 years, 9 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 8107 byte(s)
Diff to previous 3840
code cleanup (SPECIAL_FEATURES)


Revision 3840 - (view) (annotate) - [select for diffs]
Modified Thu Feb 15 14:17:42 1996 UTC (23 years, 9 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 8140 byte(s)
Diff to previous 3787
server ids are of type IDABLE (instead of INTEGER)


Revision 3787 - (view) (annotate) - [select for diffs]
Modified Wed Jan 31 16:38:59 1996 UTC (23 years, 10 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 8143 byte(s)
Diff to previous 3652
new abstractions for system counters (body id, body_index)


Revision 3652 - (view) (annotate) - [select for diffs]
Modified Mon Jan 15 15:32:22 1996 UTC (23 years, 10 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 8140 byte(s)
Diff to previous 3478
new abstractions for system counters (class ids and type ids)


Revision 3478 - (view) (annotate) - [select for diffs]
Modified Mon Dec 18 15:04:56 1995 UTC (23 years, 11 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 8141 byte(s)
Diff to previous 3369
new abstractions for system counters (only ROUTINE_ID so far)


Revision 3369 - (view) (annotate) - [select for diffs]
Modified Fri Dec 1 12:14:23 1995 UTC (24 years ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 8138 byte(s)
Diff to previous 2633
indirections removed in precompiled code and calls to precompiled features


Revision 2633 - (view) (annotate) - [select for diffs]
Modified Fri Jun 23 15:49:34 1995 UTC (24 years, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 7865 byte(s)
Diff to previous 1314
bug fix: inlining test for Void (happens if a deferred feature doesn't have any implementation
in the system)


Revision 1314 - (view) (annotate) - [select for diffs]
Modified Sat Oct 29 18:12:14 1994 UTC (25 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 7842 byte(s)
Diff to previous 1201
inlining


Revision 1201 - (view) (annotate) - [select for diffs]
Modified Wed Oct 5 00:10:04 1994 UTC (25 years, 2 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 6290 byte(s)
Diff to previous 1106
inlining


Revision 1106 - (view) (annotate) - [select for diffs]
Modified Tue Sep 20 00:12:27 1994 UTC (25 years, 2 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 4261 byte(s)
Diff to previous 557
Array optimization


Revision 557 - (view) (annotate) - [select for diffs]
Modified Tue May 24 15:18:32 1994 UTC (25 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 2502 byte(s)
Diff to previous 187
*** empty log message ***


Revision 187 - (view) (annotate) - [select for diffs]
Modified Mon May 10 17:42:24 1993 UTC (26 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 2523 byte(s)
Diff to previous 145
*** empty log message ***


Revision 145 - (view) (annotate) - [select for diffs]
Modified Mon Apr 5 10:06:19 1993 UTC (26 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 2481 byte(s)
Diff to previous 61
*** empty log message ***


Revision 61 - (view) (annotate) - [select for diffs]
Modified Mon Mar 15 16:41:51 1993 UTC (26 years, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 2592 byte(s)
Diff to previous 18
Metamorphosis


Revision 18 - (view) (annotate) - [select for diffs]
Added Fri Mar 12 17:44:01 1993 UTC (26 years, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e
File length: 2065 byte(s)
Initial revision


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