[parrot/parrot] 703fb9: use double-precision float instead of single-preci...
GitHub
noreply at github.com
Sun Apr 29 19:10:28 UTC 2012
Branch: refs/heads/m0
Home: https://github.com/parrot/parrot
Commit: 703fb9112e8b59d571caf0ced9fc3d156239bac0
https://github.com/parrot/parrot/commit/703fb9112e8b59d571caf0ced9fc3d156239bac0
Author: Jimmy Zhuo <zhuomingliang at yahoo.com.cn>
Date: 2012-04-02 (Mon, 02 Apr 2012)
Changed paths:
M src/m0/perl5/m0_assembler.pl
Log Message:
-----------
use double-precision float instead of single-precision float
Commit: 3d427d73e660f57ef70da549aaefc08bfa405627
https://github.com/parrot/parrot/commit/3d427d73e660f57ef70da549aaefc08bfa405627
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-02 (Mon, 02 Apr 2012)
Changed paths:
M src/m0/perl5/m0_interp.pl
Log Message:
-----------
Use double precision floating point values for the perl m0_interp.pl per the spec
Commit: 3f8ddf24a776775d2f02ba562543e434ba3ee6f8
https://github.com/parrot/parrot/commit/3f8ddf24a776775d2f02ba562543e434ba3ee6f8
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-02 (Mon, 02 Apr 2012)
Changed paths:
M t/m0/integration/m0_deref.m0
M t/m0/integration/m0_set.m0
M t/m0/integration/m0_set_imm.m0
M t/m0/integration/m0_set_ref.m0
Log Message:
-----------
Use sub_i with integer constants instead of sub_n
Commit: 48a8cc2ccfd06f772251be2a247df2f09fa1f6c3
https://github.com/parrot/parrot/commit/48a8cc2ccfd06f772251be2a247df2f09fa1f6c3
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-03 (Tue, 03 Apr 2012)
Changed paths:
M src/m0/c/m0_interp.c
M src/m0/c/m0_ops.c
M t/m0/integration/m0_add_n.m0
M t/m0/integration/m0_convert_i_n.m0
M t/m0/integration/m0_deref.m0
M t/m0/integration/m0_div_n.m0
M t/m0/integration/m0_hash.m0
M t/m0/integration/m0_mod_n.m0
M t/m0/integration/m0_mult_n.m0
M t/m0/integration/m0_poke_caller.m0
M t/m0/integration/m0_set.m0
M t/m0/integration/m0_set_imm.m0
M t/m0/integration/m0_set_ref.m0
M t/m0/integration/m0_sub_n.m0
Log Message:
-----------
Implement double deref for I&N registers
Make deref do what the spec says and make all of the ops do the appropriate
type interpretation.
Implementing deref this way (and using the current constant segment loading
method) means that the value types (I&N) need to be dereferenced twice when
loaded from the constants segment. This commit fixes that in all existing
tests.
Commit: 65a169a6839c0847b4457eb8c164a91aab7aaa7c
https://github.com/parrot/parrot/commit/65a169a6839c0847b4457eb8c164a91aab7aaa7c
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-05 (Thu, 05 Apr 2012)
Changed paths:
M src/m0/c/m0_mob.c
M src/m0/c/m0_ops.c
Log Message:
-----------
Change the loading of constants so string metadata is retained
When loading the consts table, point to the full string
(length+encoding+string) instead of just the string itself. This will enable
the length and encoding to be accessed later. This fix requires a fix to the
print_s op to not print the metadata.
This fix is required for the m0_hash test.
Commit: 092a2c0b15f2dd4124425cbba73e42ec0974248a
https://github.com/parrot/parrot/commit/092a2c0b15f2dd4124425cbba73e42ec0974248a
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-05 (Thu, 05 Apr 2012)
Changed paths:
M src/m0/c/m0_ops.c
Log Message:
-----------
Add get_word and set_word ops
The get_word op is required for the m0_hash test. The set_word op was added
for completeness.
This commit makes the C implementation pass the m0_hash test.
Commit: c1973c061fa76b53d78d5e46d9eb76d615e8c2fd
https://github.com/parrot/parrot/commit/c1973c061fa76b53d78d5e46d9eb76d615e8c2fd
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-05 (Thu, 05 Apr 2012)
Changed paths:
M src/m0/c/m0_ops.c
Log Message:
-----------
Add a simple placeholder implementation for the gc_alloc op
This op is required for the poke_caller test.
Commit: 3d278b2826dceda68c6085e1ffa99cc7f7ac4e2f
https://github.com/parrot/parrot/commit/3d278b2826dceda68c6085e1ffa99cc7f7ac4e2f
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-08 (Sun, 08 Apr 2012)
Changed paths:
M src/m0/c/include/m0_interp_structures.h
M src/m0/c/m0_interp.c
M src/m0/c/m0_mob.c
M src/m0/c/m0_ops.c
Log Message:
-----------
Update the internal interpretter data storage to match the spec.
Update the internal storage mechanism to allow indexing into the callframe to
work correctly. Also, add ARGC and ARGV to the interpetter data array.
This is required to pass the poke_caller and args tests.
Commit: ad01bd6062d08bbff923b680d2bfc4784204d28c
https://github.com/parrot/parrot/commit/ad01bd6062d08bbff923b680d2bfc4784204d28c
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-08 (Sun, 08 Apr 2012)
Changed paths:
M t/m0/integration/m0_add_n.m0
M t/m0/integration/m0_convert_i_n.m0
M t/m0/integration/m0_deref.m0
M t/m0/integration/m0_div_n.m0
M t/m0/integration/m0_mod_n.m0
M t/m0/integration/m0_mult_n.m0
M t/m0/integration/m0_poke_caller.m0
M t/m0/integration/m0_set.m0
M t/m0/integration/m0_set_imm.m0
M t/m0/integration/m0_set_ref.m0
M t/m0/integration/m0_sub_n.m0
Log Message:
-----------
Update deref calls to use registers instead of values.
Commit: eb814820fdfdf15ccdbc55017e41b1f599aeeaff
https://github.com/parrot/parrot/commit/eb814820fdfdf15ccdbc55017e41b1f599aeeaff
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-08 (Sun, 08 Apr 2012)
Changed paths:
M t/m0/integration/m0_poke_caller.m0
Log Message:
-----------
Fix setting the PC and CF when changing callframe.
When trying to move the PC forward one op, increment by 4.
Also, before returning to the caller callframe, set the caller CF to point to
itself instead of the callee.
Commit: 777dfbfbae4f750ac8fc06bd47417e84fafe4ae1
https://github.com/parrot/parrot/commit/777dfbfbae4f750ac8fc06bd47417e84fafe4ae1
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-08 (Sun, 08 Apr 2012)
Changed paths:
M src/m0/c/include/m0.h
M src/m0/c/include/m0_compiler_defines.h
M src/m0/c/include/m0_constants.h
M src/m0/c/include/m0_interp.h
M src/m0/c/include/m0_interp_structures.h
M src/m0/c/include/m0_mob.h
M src/m0/c/include/m0_mob_structures.h
M src/m0/c/include/m0_ops.h
M src/m0/c/m0_interp.c
M src/m0/c/m0_mob.c
M src/m0/c/m0_ops.c
Log Message:
-----------
Add vim mode line for consistent indenting
Commit: 0ade1d5171e69c06cdbc74486304004423dd7b0d
https://github.com/parrot/parrot/commit/0ade1d5171e69c06cdbc74486304004423dd7b0d
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-08 (Sun, 08 Apr 2012)
Changed paths:
M t/m0/integration/m0_hash.m0
Log Message:
-----------
Update deref calls to use registers instead of values.
This make the hash test pass for the c m0 implementation.
All existing m0 tests pass for the c implementation.
Commit: 163df79814ed2b0c539f7c41df00f86188df398d
https://github.com/parrot/parrot/commit/163df79814ed2b0c539f7c41df00f86188df398d
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-09 (Mon, 09 Apr 2012)
Changed paths:
M src/m0/c/m0_ops.c
Log Message:
-----------
Fix the order of the get_byte arguments.
Commit: f48bbc258bbab3191bd08a24f66ff24bd6635f80
https://github.com/parrot/parrot/commit/f48bbc258bbab3191bd08a24f66ff24bd6635f80
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-09 (Mon, 09 Apr 2012)
Changed paths:
M src/m0/c/m0_interp.c
Log Message:
-----------
Remove the first commandline argument from ARGV
Commit: d18445fcf466cd3ac121538d733608728ecad140
https://github.com/parrot/parrot/commit/d18445fcf466cd3ac121538d733608728ecad140
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-09 (Mon, 09 Apr 2012)
Changed paths:
M t/m0/integration/m0_args.m0
Log Message:
-----------
Add debugging code to the args test
If the argc test fails, tell how many arguments were found.
Commit: a738f9128c0ce7f6e489754c66791f3aec90337c
https://github.com/parrot/parrot/commit/a738f9128c0ce7f6e489754c66791f3aec90337c
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-09 (Mon, 09 Apr 2012)
Changed paths:
M t/m0/integration/m0_args.m0
Log Message:
-----------
Check to see if the first argument is "kittens"
The algorithm is simple and makes some assumptions, but it works.
Commit: 68f8cfe6457cb583c2217625ada193dc87a404b4
https://github.com/parrot/parrot/commit/68f8cfe6457cb583c2217625ada193dc87a404b4
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-09 (Mon, 09 Apr 2012)
Changed paths:
M src/m0/c/m0_mob.c
Log Message:
-----------
Use the right pointer type for return type in add_chunk
Commit: 5e0e065d69b4d465dee11ebd8b72e268723cb32b
https://github.com/parrot/parrot/commit/5e0e065d69b4d465dee11ebd8b72e268723cb32b
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-09 (Mon, 09 Apr 2012)
Changed paths:
M src/m0/c/m0_ops.c
Log Message:
-----------
Remove interp argument from ops functions.
The spec says "The current call frame is passed as the first argument to all
op functions. The remaining three bytes of the op are passed to the op
function directly."
Since the interpreter is accessible through the call frame, remove the
interpreter argument and use the call frame.
Commit: a66e9695eb059d79183cae08efdcfcd4cd1c1ad5
https://github.com/parrot/parrot/commit/a66e9695eb059d79183cae08efdcfcd4cd1c1ad5
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-09 (Mon, 09 Apr 2012)
Changed paths:
M src/m0/c/m0_mob.c
Log Message:
-----------
Eliminate casting warning with an explicit cast.
Commit: ab0c08ac1247cf549a7348561f2020ea03f279ca
https://github.com/parrot/parrot/commit/ab0c08ac1247cf549a7348561f2020ea03f279ca
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-09 (Mon, 09 Apr 2012)
Changed paths:
M src/m0/c/m0_ops.c
Log Message:
-----------
Expand tab.
Commit: 748ae418b15e12ad5b2784f6871eb22c2cb7d17e
https://github.com/parrot/parrot/commit/748ae418b15e12ad5b2784f6871eb22c2cb7d17e
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-10 (Tue, 10 Apr 2012)
Changed paths:
M docs/pdds/draft/pdd32_m0.pod
Log Message:
-----------
Use hyperlink L<> instead of code C<> where appropriate
Commit: faa67111fd6086f84053e66d0ef07bda43496c72
https://github.com/parrot/parrot/commit/faa67111fd6086f84053e66d0ef07bda43496c72
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-10 (Tue, 10 Apr 2012)
Changed paths:
M docs/pdds/draft/pdd32_m0.pod
Log Message:
-----------
make the opcode numbers match the perl implementation
Commit: c3af9ae0733a0490af42e44bad266063961d3f84
https://github.com/parrot/parrot/commit/c3af9ae0733a0490af42e44bad266063961d3f84
Author: Nathan Brown <nbrown04 at gmail.com>
Date: 2012-04-14 (Sat, 14 Apr 2012)
Changed paths:
M src/m0/c/include/m0_interp_structures.h
Log Message:
-----------
Remove accidental include
Commit: 0fa8ca1bf44cd9ab31986e139335df632692fc08
https://github.com/parrot/parrot/commit/0fa8ca1bf44cd9ab31986e139335df632692fc08
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M docs/pdds/draft/pdd32_m0.pod
Log Message:
-----------
Add the CHUNK_MAP field to the interpreter data
I'm not sure what this is, but it's missing from the spec and included in the
perl M0 assembler implementation. Any interpreter using the perl assembler
needs to know about the field otherwise there will be a mismatch.
Commit: 88c8816001926d3aca71d250b173040a61cf1966
https://github.com/parrot/parrot/commit/88c8816001926d3aca71d250b173040a61cf1966
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M docs/pdds/draft/pdd32_m0.pod
Log Message:
-----------
The in-memory layout of a call frame must be specified
If it's not specified, operations on the call frame registers will be
implementation specific.
Commit: 780e12ae10cfba322772f1ed2d2f7304329a9c44
https://github.com/parrot/parrot/commit/780e12ae10cfba322772f1ed2d2f7304329a9c44
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-23 (Mon, 23 Apr 2012)
Changed paths:
M t/m0/integration/m0_add_n.m0
M t/m0/integration/m0_convert_i_n.m0
M t/m0/integration/m0_deref.m0
M t/m0/integration/m0_div_n.m0
M t/m0/integration/m0_hash.m0
M t/m0/integration/m0_mod_n.m0
M t/m0/integration/m0_mult_n.m0
M t/m0/integration/m0_poke_caller.m0
M t/m0/integration/m0_set.m0
M t/m0/integration/m0_set_imm.m0
M t/m0/integration/m0_set_ref.m0
M t/m0/integration/m0_sub_n.m0
Log Message:
-----------
Revert double derefs
Commit: 6a75a09a24d410b01ac68eb6ca0765a30a899e0c
https://github.com/parrot/parrot/commit/6a75a09a24d410b01ac68eb6ca0765a30a899e0c
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-23 (Mon, 23 Apr 2012)
Changed paths:
M src/m0/c/include/m0_mob_structures.h
M src/m0/c/m0_interp.c
M src/m0/c/m0_mob.c
Log Message:
-----------
Change how constants are stored
Use a similar strategy as the callframe storage, store each constant as either
a uint64_t or a pointer to something larger. This gives integer & floating
point constants value semantics and strings pointer semantics.
This allows the c implementation to pass all tests using a single deref call
instead of the double deref previously required for constants with value
semantics.
Commit: fa5c366a7384acafbf59f3a631613af1a23534f0
https://github.com/parrot/parrot/commit/fa5c366a7384acafbf59f3a631613af1a23534f0
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-24 (Tue, 24 Apr 2012)
Changed paths:
M src/m0/c/m0_ops.c
M t/m0/integration/m0_poke_caller.m0
Log Message:
-----------
Increment PC by 1 instead of 4 in m0_poke_caller and c implementation
Undo workaround for the m0 c implementation. This allows the c and perl
implementations to both pass the m0_poke_caller test.
Commit: 5b3a6b5f8ce61ebda249a5160f39c2ed99991c01
https://github.com/parrot/parrot/commit/5b3a6b5f8ce61ebda249a5160f39c2ed99991c01
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-24 (Tue, 24 Apr 2012)
Changed paths:
M docs/pdds/draft/pdd32_m0.pod
Log Message:
-----------
Note that the PC should be incremented by one on each iteration of the runloop
Commit: 2f1e85a58e728873c5439d95091b4fc0536d00b6
https://github.com/parrot/parrot/commit/2f1e85a58e728873c5439d95091b4fc0536d00b6
Author: nbrown <nbrown04 at gmail.com>
Date: 2012-04-26 (Thu, 26 Apr 2012)
Changed paths:
A t/m0/integration/m0_pc_increment.m0
Log Message:
-----------
Add a test that ensures PC is incremented 1 per operation
Commit: 9bde02013fe12d81c15c0264277390bfd276a7be
https://github.com/parrot/parrot/commit/9bde02013fe12d81c15c0264277390bfd276a7be
Author: Christoph Otto <christoph_github at mksig.org>
Date: 2012-04-29 (Sun, 29 Apr 2012)
Changed paths:
M docs/pdds/draft/pdd32_m0.pod
M src/m0/c/include/m0.h
M src/m0/c/include/m0_compiler_defines.h
M src/m0/c/include/m0_constants.h
M src/m0/c/include/m0_interp.h
M src/m0/c/include/m0_interp_structures.h
M src/m0/c/include/m0_mob.h
M src/m0/c/include/m0_mob_structures.h
M src/m0/c/include/m0_ops.h
M src/m0/c/m0_interp.c
M src/m0/c/m0_mob.c
M src/m0/c/m0_ops.c
M src/m0/perl5/m0_assembler.pl
M src/m0/perl5/m0_interp.pl
M t/m0/integration/m0_and.m0
M t/m0/integration/m0_args.m0
M t/m0/integration/m0_deref.m0
M t/m0/integration/m0_lshr.m0
M t/m0/integration/m0_or.m0
A t/m0/integration/m0_pc_increment.m0
M t/m0/integration/m0_poke_caller.m0
M t/m0/integration/m0_set.m0
M t/m0/integration/m0_set_imm.m0
M t/m0/integration/m0_set_ref.m0
M t/m0/integration/m0_shl.m0
M t/m0/integration/m0_xor.m0
Log Message:
-----------
Merge remote-tracking branch 'nbrown/m0-c-single-deref' into m0
Compare: https://github.com/parrot/parrot/compare/703fb91^...9bde020
More information about the parrot-commits
mailing list