[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/bytecode.c
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/src/bytecode.c |
Date: |
Tue, 11 Jun 2002 21:49:02 -0400 |
Index: emacs/src/bytecode.c
diff -c emacs/src/bytecode.c:1.68 emacs/src/bytecode.c:1.69
*** emacs/src/bytecode.c:1.68 Wed Mar 20 02:44:54 2002
--- emacs/src/bytecode.c Sun Jun 2 21:34:11 2002
***************
*** 22,28 ****
hacked on by address@hidden 17-jun-91
o added a compile-time switch to turn on simple sanity checking;
o put back the obsolete byte-codes for error-detection;
! o added a new instruction, unbind_all, which I will use for
tail-recursion elimination;
o made temp_output_buffer_show be called with the right number
of args;
--- 22,28 ----
hacked on by address@hidden 17-jun-91
o added a compile-time switch to turn on simple sanity checking;
o put back the obsolete byte-codes for error-detection;
! o added a new instruction, unbind_all, which I will use for
tail-recursion elimination;
o made temp_output_buffer_show be called with the right number
of args;
***************
*** 46,55 ****
#endif
/*
! * define BYTE_CODE_SAFE to enable some minor sanity checking (useful for
* debugging the byte compiler...)
*
! * define BYTE_CODE_METER to enable generation of a byte-op usage histogram.
*/
/* #define BYTE_CODE_SAFE */
/* #define BYTE_CODE_METER */
--- 46,55 ----
#endif
/*
! * define BYTE_CODE_SAFE to enable some minor sanity checking (useful for
* debugging the byte compiler...)
*
! * define BYTE_CODE_METER to enable generation of a byte-op usage histogram.
*/
/* #define BYTE_CODE_SAFE */
/* #define BYTE_CODE_METER */
***************
*** 287,293 ****
recorded value of `stack' here. */
if (!stack->top)
abort ();
!
for (obj = stack->bottom; obj <= stack->top; ++obj)
if (!XMARKBIT (*obj))
{
--- 287,293 ----
recorded value of `stack' here. */
if (!stack->top)
abort ();
!
for (obj = stack->bottom; obj <= stack->top; ++obj)
if (!XMARKBIT (*obj))
{
***************
*** 313,319 ****
/* Unmark objects in the stacks on byte_stack_list. Relocate program
counters. Called when GC has completed. */
! void
unmark_byte_stack ()
{
struct byte_stack *stack;
--- 313,319 ----
/* Unmark objects in the stacks on byte_stack_list. Relocate program
counters. Called when GC has completed. */
! void
unmark_byte_stack ()
{
struct byte_stack *stack;
***************
*** 466,472 ****
stack.byte_string = bytestr;
stack.pc = stack.byte_string_start = XSTRING (bytestr)->data;
stack.constants = vector;
! stack.bottom = (Lisp_Object *) alloca (XFASTINT (maxdepth)
* sizeof (Lisp_Object));
top = stack.bottom - 1;
stack.top = NULL;
--- 466,472 ----
stack.byte_string = bytestr;
stack.pc = stack.byte_string_start = XSTRING (bytestr)->data;
stack.constants = vector;
! stack.bottom = (Lisp_Object *) alloca (XFASTINT (maxdepth)
* sizeof (Lisp_Object));
top = stack.bottom - 1;
stack.top = NULL;
***************
*** 476,482 ****
#ifdef BYTE_CODE_SAFE
stacke = stack.bottom - 1 + XFASTINT (maxdepth);
#endif
!
while (1)
{
#ifdef BYTE_CODE_SAFE
--- 476,482 ----
#ifdef BYTE_CODE_SAFE
stacke = stack.bottom - 1 + XFASTINT (maxdepth);
#endif
!
while (1)
{
#ifdef BYTE_CODE_SAFE
***************
*** 500,510 ****
op = FETCH2;
goto varref;
! case Bvarref:
! case Bvarref + 1:
! case Bvarref + 2:
case Bvarref + 3:
! case Bvarref + 4:
case Bvarref + 5:
op = op - Bvarref;
goto varref;
--- 500,510 ----
op = FETCH2;
goto varref;
! case Bvarref:
! case Bvarref + 1:
! case Bvarref + 2:
case Bvarref + 3:
! case Bvarref + 4:
case Bvarref + 5:
op = op - Bvarref;
goto varref;
***************
*** 619,625 ****
varset:
{
Lisp_Object sym, val;
!
sym = vectorp[op];
val = TOP;
--- 619,625 ----
varset:
{
Lisp_Object sym, val;
!
sym = vectorp[op];
val = TOP;
***************
*** 1352,1358 ****
{
Lisp_Object v1;
BEFORE_POTENTIAL_GC ();
! XSETFASTINT (v1, current_column ());
AFTER_POTENTIAL_GC ();
PUSH (v1);
break;
--- 1352,1358 ----
{
Lisp_Object v1;
BEFORE_POTENTIAL_GC ();
! XSETFASTINT (v1, (int) current_column ()); /* iftc */
AFTER_POTENTIAL_GC ();
PUSH (v1);
break;
***************
*** 1731,1737 ****
#else
abort ();
#endif
!
return result;
}
--- 1731,1737 ----
#else
abort ();
#endif
!
return result;
}
***************
*** 1752,1758 ****
\(aref (aref byte-code-meter CODE1) CODE2), where CODE1 is not 0,
indicates how many times the byte opcodes CODE1 and CODE2 have been
executed in succession. */);
!
DEFVAR_BOOL ("byte-metering-on", &byte_metering_on,
doc: /* If non-nil, keep profiling information on byte code
usage.
The variable byte-code-meter indicates how often each byte opcode is used.
--- 1752,1758 ----
\(aref (aref byte-code-meter CODE1) CODE2), where CODE1 is not 0,
indicates how many times the byte opcodes CODE1 and CODE2 have been
executed in succession. */);
!
DEFVAR_BOOL ("byte-metering-on", &byte_metering_on,
doc: /* If non-nil, keep profiling information on byte code
usage.
The variable byte-code-meter indicates how often each byte opcode is used.