⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 一个类似windows
💻
📖 第 1 页 / 共 3 页
字号:
1999-01-19  Markku Rossi  <mtr@amme.ssh.fi>

	* jsint.h (struct js_vm_st): Implemented file descriptor limit.
	Now you can specify the maximum amount of file descriptors the
	interpreter can allocate.  Thanks to Indrek Mandre
	<indrek@warp.edu.ee>.

1999-01-11  Markku Rossi  <mtr@amme.ssh.fi>

	* b_string.c (method): Fixed the append() method to accept also
	integer arguments.

1999-01-08  Markku Rossi  <mtr@amme.ssh.fi>

	* js.c (iofunc_close): Fixed a memory leak by freeing the
	context.

1998-11-25  Markku Rossi  <mtr@amme.ssh.fi>

	* js.c (js_create_interp): Added a sanity check to assure that the
	js.h and jsint.h APIs share a common view about the node size.

	* js.h (struct js_type_st): Changed the JSType to be compatible
	with the internal JSNode.

	* operands.def: Changed the with-chain to use a JSUIntAlign count
	instead of a JSUInt32 count.

	* jsint.h: New integer type JSUIntAlign that can be used to align
	structures on correct byte boundaries.
	(struct js_heap_memory_block_st): Changed to use JSUIntAlign
	integers instead of JSUInt32s.  Now the memory allocation seems to
	work on Alpha machines.

1998-10-26  Markku Rossi  <mtr@purple.ngs.fi>

	* vmswt0.c (js_vm_switch0_exec): Added support for anonymous
	functions.

	* vmswitch.c (js_vm_switch_exec): Added support for anonymous
	functions.

	* vmjumps.c (js_vm_jumps_exec): Added support for anonymous
	functions.

	* vm.c (js_vm_execute): Added support for anonymous functions.

	* jsint.h: Added argument `anonymous_function_offset' to
	JSVMExecute.  All uses changed.

	* operands.def: Tagged all symbol and jump operands with
	comments.  Now these operands can be handled automatically.
	New operands `load_global_w' and `jsr_w'.
	Added support for function pointers.

	* js.c (js_create_interp): Pass the `options.warn_undef' to the
	virtual machine.

	* jsint.h (JS_OPERAND_CMP_EQ): Fixed to handle the `object _OP_
	string / number' cases.  Now the == and != is ECMA compatible.
	(JS_IS_PRIMITIVE_VALUE): New macro to check whether the argument
	is a primitive value or not.

	* utils.c (js_vm_to_primitive): Implement ToPrimitive() type
	conversion.

1998-10-20  Markku Rossi  <mtr@purple.ngs.fi>

	* js.c (js_global_method_delete): New function to delete the user
	defined global method from the memory.

	* jsint.h (JS_SUBROUTINE_CALL): Fixed to check that we have
	enought stack space for yet another subroutine call.  The same
	thing is also checked in the `locals' operand, but some functions
	don't use any local variables, and therefore, the stack usage
	wasn't ever checked.

	* operands.def: Fixed `locals' to use the
	JS_RESERVE_STACK_FOR_FUNCTION preprocessor constant.

1998-10-16  Markku Rossi  <mtr@purple.ngs.fi>

	* jsint.h (JS_IS_FINITE): New macro to determine whether a number
	node is a finite number.

	* b_date.c: Implemented MakeTime(), MakeDay(), MakeDate(), and
	TimeClip() operators.
	Implemented the global method invocation of the Date()
	constructor.

	* b_regexp.c (new_proc): Fixed to work with 0 arguments.

1998-10-12  Markku Rossi  <mtr@purple.ngs.fi>

	* operands.def: Cleaned up namespace by fixing load_property's
	goto labels.
	Fixed call_method to lookup the methods also from the prototypes
	of string, array, and func built-in objects.

1998-10-07  Markku Rossi  <mtr@purple.ngs.fi>

	* heap.c: Optimized the heap memory consumption by fixing the
	block headers and the freelist block handling.  The total savings
	in the memory usage (with the js_vm_make_function() fix) are about
	15 %.

	* jsint.h (js_vm_make_function): Fixed a typo that caused us to
	allocate one JSVirtualMachine for each function, instead of one
	JSFunction.
	(struct js_heap_memory_block_st): Optimized the header from 12
	bytes to 4 (on 32bit machines).
	(struct js_heap_freelist_block_st): Header for the memory block
	when it is on the freelist.

1998-10-05  Markku Rossi  <mtr@purple.ngs.fi>

	* operands.def: ECMA compliancy fixes for the `mod' operand.

1998-10-02  Markku Rossi  <mtr@purple.ngs.fi>

	* main.c: New option -E, --events to print the interpreter
	events.

	* js.h (struct js_interp_options_st): Added event hooks.

	* vmjumps.c: Implemented byte-code execution hooks.

	* jsint.h: Implemented event hooks for garbage collection and
	byte-code operand execution.

	* b_regexp.c: Implemented the `The RegExp Constructor Called as a
	Function'.
	ECMAScript compliance fixes for the method argument checks.

1998-10-01  Markku Rossi  <mtr@purple.ngs.fi>

	* utils.c (js_vm_to_string): Fixed to work with native Objects.

	* vm.c (js_vm_call_method): Fixed to call the built-in Object's
	method proc, if the property hasn't bee defined in the native
	object instance.

	* jsint.h: Added some consts to function arguments.

	* b_object.c (method): Implemented toString() method.

	* alloc.c (js_strdup_i): Added const to the dupped string
	argument.

	* operands.def: Fixed the operand `call_method' to call the method
	from the object's constructor, if the object hasn't redefined the
	called method.

	* regex.c: Updated regex.{c,h} files from the glibc-2.0.96.  Added
	some re-entrancy fixed to regex.c.

1998-09-29  Markku Rossi  <mtr@purple.ngs.fi>

	* b_dir.c: New built-in object `Directory' to handle directories.

	* md5.h: Keep the namespace clean!  Defined MD5_CTX to
	_JS_MD5_CTX.

1998-09-25  Markku Rossi  <mtr@purple.ngs.fi>

	* b_core.c (print_global_method): New global method `print()' to
	print its arguments to system's standard output stream.

	* js.h (struct js_interp_options_st): New security options
	`secure_builtin_{file,system}'.

	* main.c: New option -r, --secure to turn on security options.

1998-09-24  Markku Rossi  <mtr@purple.ngs.fi>

	* heap.c (BLOCK_SIZE): Changed to 200 * 1024 bytes on 32 bit and
	bigger systems.
	(js_vm_alloc): Fixed the `alloc_size' calculation for cases when
	it is bigger than BLOCK_SIZE.  Now we can re-use those bigger
	blocks more efficiently.

1998-09-22  Markku Rossi  <mtr@purple.ngs.fi>

	* js.c (js_create_interp): Added debug call for
	js_alloc_dump_blocks() to find out how much memory one interpreter
	takes.  Maybe the heap.c:BLOCK_SIZE should be an option in the
	JSInterpOptions.

1998-09-21  Markku Rossi  <mtr@purple.ngs.fi>

	* b_regexp.c (js_builtin_RegExp): Removed the re_set_syntax()
	call, since the correct default is already present in the regex.c.

	* regex.c: Initialized the default syntax to RE_SYNTAX_GNU_AWK.
	This removes the re-entrancy problem from b_regexp.c.

	* operands.def: ECMA compliancy fixes for the `and', `or', `xor',
	`shift_left', `shift_right', and `shift_rright' operands.

	* jsint.h (JS_OPERAND_BINARY): New macro to implement binary and,
	or, and xor operands.

1998-09-17  Markku Rossi  <mtr@purple.ngs.fi>

	* vmswitch.c (link_code): Fixed to handle the debugging
	information.

	* operands.def: Fixed operand `throw' to convert the thrown value
	to an error when the exception is thrown to the top-level.

1998-09-15  Markku Rossi  <mtr@purple.ngs.fi>

	* operands.def: ECMA compliancy fixes for the `mul', `div', and
	`neg' operands.

1998-09-10  Markku Rossi  <mtr@purple.ngs.fi>

	* js.c (js_eval_source): When evaluating the on-demand-compiler
	source files, warn only about `with-clobber' cases.

	* operands.def: Made the cmp_{eq,ne}, sub, and add byte-code
	operands ECMAScript compatible.
	Implemented cmp_{seq,sne} operands.
	New operand `const_i' to push a Int32 integer to the stack.

1998-09-09  Markku Rossi  <mtr@purple.ngs.fi>

	* jsint.h (JS_IS_NUMBER): New macro to determine whether a node is
	a number or not.

1998-09-08  Markku Rossi  <mtr@purple.ngs.fi>

	* b_math.c (method): Fixed max() and min() to allow multiple
	arguments.
	Made ECMAScript compatible.

	* utils.c (js_vm_to_boolean): New function to perform the
	`ToBoolean()' type conversion.

	* b_bool.c (method): Implemented the `valueOf' method.
	Implemented global function invocation `Boolean()'.

	* b_string.c (method): Implemented the `valueOf()' method.
	Implemented global function invocation `String()'.
	Made the `new' invocation ECMAScript compatible.
	(method): Fixed concat() to accept any number of arguments.

	* b_array.c: Implemented global function invocation `Array()'.
	Fixed some argument checks.

	* b_object.c: Implemented some ECMAScript features.  Some things
	are still unimplemented.

	* utils.c (js_vm_to_object): New function to perform the
	`ToObject()' type conversion.

	* jsint.h (struct js_vm_st): New symbol s_toSource.

	* utils.c (js_vm_to_int32): New function to perform the
	`ToInt32()' type conversion.

	* jsint.h: Created new macros
	JS_MAKE_{POSITIVE,NEGATIVE}_INFINITY(),
	JS_IS_{POSITIVE,NEGATIVE}_INFINITY() to handle infinity values.

	* js.c: Moved the error() global method to b_core.c.

	* b_core.c: Made ECMAScript compatible.

1998-09-07  Markku Rossi  <mtr@purple.ngs.fi>

	* jsint.h (JS_OPERAND_CMP): New macro to implement relational
	comparison.

	* main.c: New compiler option `-Wdeprecated'.

	* operands.def: Added the missing line break sequence to the end
	of the warning from the load_global operand.
	Made the load_array's error messages more verbose.
	Re-implemented the cmp_{lt,gt,le,ge} operands.
	Re-implemented the add operand.
	Re-implemented the div operand.
	Added a missing JS_POP() to mul operand's one argument
	combination.
	New operand load_nth_arg.

	* b_core.c: Cleaned up the error messages.
	(parseInt_global_method): Made ECMAScript compatible.

1998-09-04  Markku Rossi  <mtr@purple.ngs.fi>

	* operands.def: New operands `cmp_seq' and `cmp_sne' for strict
	equals and does-not-equal comparisons.

	* js.h: New API function js_lookup_class() to lookup the class
	handle by its name.
	New API function js_isa() to check whether an object is an
	instance of a given class.

1998-09-02  Markku Rossi  <mtr@purple.ngs.fi>

	* js.h: New API function js_version() that returns the interpreter
	version number as a string of format "MAJOR.MINOR.PATCH".

1998-09-01  Markku Rossi  <mtr@purple.ngs.fi>

	* b_system.c: Removed the flush method.

	* b_file.c (method): Fixed the read() method to always return a
	string.

1998-08-26  Markku Rossi  <mtr@purple.ngs.fi>

	* iostream.c (js_iostream_file): Added argument <do_close> that
	specifies whether the actual `FILE *' file pointer will be closed
	when the stream is destroyed.  Normally, we don't want to close
	stdin, stdout, or stderr when the interpreter is destoyed.

1998-08-25  Markku Rossi  <mtr@purple.ngs.fi>

	* js.h: New API function js_apply() to apply function to
	arguments.

	* vm.c (js_vm_apply): Fixed to work also with built-in functions.

	* jsint.h: Removed the <func_name> argument from the JSVMExecute
	function type.  All uses changed.

1998-08-24  Markku Rossi  <mtr@purple.ngs.fi>

	* js.h: Keep the namespace clean!  Renamed DLLEXPORT to
	JS_DLLEXPORT.
	New API functions: js_result(), js_{get,set}_options(), and
	js_instantiate_class().

1998-08-21  Markku Rossi  <mtr@purple.ngs.fi>

	* jsint.h: Keep the namespace clean!  Renamed
	HOST_LINE_BREAK_SEQUENCE{,_LEN} to JS_HOST_LINE_BREAK{,_LEN}.

	* js.h: W32 portability fixes.  Now the header should co-operate
	with Borland's and MS compilers.
	Added support for user-defined classes.

1998-08-20  Markku Rossi  <mtr@purple.ngs.fi>

	* b_vm.c (property): New property verboseStacktrace.

	* jsint.h (struct js_vm_st): New flag `verbose_stacktrace'.

	* operands.def: Added a new slot to the stack frame: args_fix.
	The args_fix holds the relocation information from the `min_args'
	operand.  The operand `return' needs that information when it is
	returning from a function that was called with too few arguments.
	All uses of STACKFRAME were changed.

1998-08-19  Markku Rossi  <mtr@purple.ngs.fi>

	* b_system.c (property): New property `lineBreakSequence'.  The
	value of the property is a string that is the line break sequence
	on the underlying system.

	* jsint.h: Added portability defines for the line break sequence.

	* b_file.c (property): New instance properties `autoFlush' and
	`bufferSize'.
	(method): Fixed writeln() to use the host dependent line break
	sequence.  The sequence is defined in jsint.h.

	* jsint.h: Re-implemented all I/O stuffs to use JSIOStream
	interface.  All uses of the old `FILE *' interface, including the
	stdin, stdout, and stderr streams, are changed.

1998-08-18  Markku Rossi  <mtr@purple.ngs.fi>

	* js.c (call_method_global_method): New global method to call
	methods from objects with a given array of arguments.

	* vm.c (js_vm_call_method): New function to call method from an
	object.

	* jsint.h: New function js_vm_call_method() to call a method from
	an object.
	Changed the exec functions of different dispatchers to accept one
	extra parameter: the object that should be used as the `this'
	object.

1998-08-17  Markku Rossi  <mtr@purple.ngs.fi>

	* js.h: Added DllExport's to all public API functions.  These must
	be exported explicitly on w32.

	* b_file.c (method): Ported to w32.  The member
	struct_st.st_blksize is not present there.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -