Mercurial > hg > octave-lyh
view src/mk-errno-list @ 12783:ad9263d965dc
First experimental profiler implementation with flat profile.
* profiler.cc: New file.
* profiler.h: New file.
* Makefile.am: Include new files in build process.
* oct-parse.yy (frob_function): Store location of function parsed.
* ov-fcn.h (octave_function::profiler_name): New method.
* ov-builtin.cc (octave_builtin::do_multi_index_op): Record timings in profiler.
* ov-mex-fcn.cc (octave_mex_function::do_multi_index_op): Ditto.
* ov-usr-fcn.cc (octave_user_script::do_multi_index_op): Ditto.
(octave_user_function::do_multi_index_op): Ditto.
(octave_user_function::octave_user_function): Initialize location_line/column.
(octave_user_function::profiler_name): New method.
* ov-usr-fcn.h (octave_user_function): New variables location_line,
location column and new method stash_fcn_location to set them.
* pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue1): Store location.
author | Daniel Kraft <d@domob.eu> |
---|---|
date | Thu, 30 Jun 2011 20:04:34 +0200 |
parents | fd0a3ac60b0e |
children | 72c96de7a403 |
line wrap: on
line source
#! /bin/sh # # Copyright (C) 2005-2011 John W. Eaton # # This file is part of Octave. # # Octave is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 3 of the License, or (at # your option) any later version. # # Octave is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License # along with Octave; see the file COPYING. If not, see # <http://www.gnu.org/licenses/>. if [ $# -ne 2 ]; then echo "usage: get-errno-list [--perl PERL|--python PYTHON]" 1>&2 exit 1 fi if [ $1 = "--perl" ]; then PERL="$2"; $PERL -e 'foreach $key (keys(%!)) { $x .= "#if defined ($key)\n { \"$key\", $key, },\n#endif\n"; } while (<>) { s/^ *\@SYSDEP_ERRNO_LIST\@/$ x/; print; }' elif [ $1 = "--python" ]; then PYTHON="$2"; $PYTHON -c ' from errno import errorcode from sys import stdin t = "#if defined (%s)\n { \"%s\", %s, },\n#endif\n" errstr = "" for k in errorcode.keys(): errstr += t % tuple(3*[errorcode[k]]) for l in stdin: print l.replace("@SYSDEP_ERRNO_LIST@", errstr), ' fi exit $?