platform/upstream/qtdeclarative.git
12 years agoIgnore generated files
Simon Hausmann [Wed, 10 Oct 2012 11:19:32 +0000 (13:19 +0200)]
Ignore generated files

12 years agoRemove old assembler
Simon Hausmann [Wed, 10 Oct 2012 11:19:17 +0000 (13:19 +0200)]
Remove old assembler

12 years agoMake it really work for 64 bit.
Lars Knoll [Wed, 10 Oct 2012 11:10:07 +0000 (13:10 +0200)]
Make it really work for 64 bit.

crypto.js passes now :)

12 years agoMore 64-bit fixes
Simon Hausmann [Wed, 10 Oct 2012 09:42:38 +0000 (11:42 +0200)]
More 64-bit fixes

12 years agoRudimentary amd64 port
Simon Hausmann [Wed, 10 Oct 2012 09:04:53 +0000 (11:04 +0200)]
Rudimentary amd64 port

12 years agoFix rethrow
Simon Hausmann [Wed, 10 Oct 2012 08:27:04 +0000 (10:27 +0200)]
Fix rethrow

12 years agoRemove generated code
Simon Hausmann [Tue, 9 Oct 2012 08:31:54 +0000 (10:31 +0200)]
Remove generated code

12 years agoFix compilation on amd64 (not working yet, just building)
Simon Hausmann [Tue, 9 Oct 2012 08:28:59 +0000 (10:28 +0200)]
Fix compilation on amd64 (not working yet, just building)

12 years agoCentralize value copying
Simon Hausmann [Tue, 9 Oct 2012 08:05:27 +0000 (10:05 +0200)]
Centralize value copying

12 years agoSave and restore context register before calls
Simon Hausmann [Tue, 9 Oct 2012 07:59:02 +0000 (09:59 +0200)]
Save and restore context register before calls

12 years agoMore debug info
Simon Hausmann [Tue, 9 Oct 2012 07:06:12 +0000 (09:06 +0200)]
More debug info

12 years agoFirst shot at more readable call instructions in output
Simon Hausmann [Tue, 9 Oct 2012 06:17:47 +0000 (08:17 +0200)]
First shot at more readable call instructions in output

12 years agoRemember linked function names in prep for future debug help
Simon Hausmann [Tue, 9 Oct 2012 05:41:36 +0000 (07:41 +0200)]
Remember linked function names in prep for future debug help

12 years agoFix array subscript write: add missing context pointer argument to qmljs_set_element...
Simon Hausmann [Mon, 8 Oct 2012 19:58:24 +0000 (21:58 +0200)]
Fix array subscript write: add missing context pointer argument to qmljs_set_element call

12 years agoUse posix_memalign to ensure assert(!(code & 15))
Simon Hausmann [Mon, 8 Oct 2012 18:22:31 +0000 (20:22 +0200)]
Use posix_memalign to ensure assert(!(code & 15))

12 years agoImplement executalble memory using mmap
Simon Hausmann [Mon, 8 Oct 2012 18:21:40 +0000 (20:21 +0200)]
Implement executalble memory using mmap

12 years agoFix non-release builds
Simon Hausmann [Mon, 8 Oct 2012 08:25:21 +0000 (10:25 +0200)]
Fix non-release builds

12 years agoAdd missing return
Simon Hausmann [Sun, 7 Oct 2012 20:14:01 +0000 (22:14 +0200)]
Add missing return

12 years agoImplement missing movs
Simon Hausmann [Sun, 7 Oct 2012 20:10:27 +0000 (22:10 +0200)]
Implement missing movs

12 years agoimplement visitExp
Simon Hausmann [Sun, 7 Oct 2012 20:02:41 +0000 (22:02 +0200)]
implement visitExp

12 years agoImplement construct property/value
Simon Hausmann [Sun, 7 Oct 2012 20:02:06 +0000 (22:02 +0200)]
Implement construct property/value

12 years agoImplement call value and property
Simon Hausmann [Sun, 7 Oct 2012 19:57:10 +0000 (21:57 +0200)]
Implement call value and property

12 years agoPort remaining code to better function call mechanism
Simon Hausmann [Sun, 7 Oct 2012 19:43:29 +0000 (21:43 +0200)]
Port remaining code to better function call mechanism

12 years agoFix closure init
Simon Hausmann [Sun, 7 Oct 2012 17:45:40 +0000 (19:45 +0200)]
Fix closure init

12 years agoSimplify more function calls
Simon Hausmann [Fri, 5 Oct 2012 09:48:05 +0000 (11:48 +0200)]
Simplify more function calls

12 years agofurther call simplification
Simon Hausmann [Fri, 5 Oct 2012 09:35:46 +0000 (11:35 +0200)]
further call simplification

12 years agoSimpler approach to function calls
Simon Hausmann [Fri, 5 Oct 2012 09:13:54 +0000 (11:13 +0200)]
Simpler approach to function calls

12 years agoSimplify passing temps as method arguments
Simon Hausmann [Fri, 5 Oct 2012 09:02:54 +0000 (11:02 +0200)]
Simplify passing temps as method arguments

12 years agoA bit more inplace assignment implemented
Simon Hausmann [Fri, 5 Oct 2012 06:09:12 +0000 (08:09 +0200)]
A bit more inplace assignment implemented

12 years agoGenerate the code for copying the argments earlier, to avoid register clobbering...
Simon Hausmann [Fri, 5 Oct 2012 05:55:05 +0000 (07:55 +0200)]
Generate the code for copying the argments earlier, to avoid register clobbering between __qmljs_copy calls

12 years agoImplement constructActivationProperty
Simon Hausmann [Thu, 4 Oct 2012 21:23:50 +0000 (23:23 +0200)]
Implement constructActivationProperty

12 years agoImplement mov unop
Simon Hausmann [Thu, 4 Oct 2012 20:50:01 +0000 (22:50 +0200)]
Implement mov unop

12 years agoImplement binop mov
Simon Hausmann [Thu, 4 Oct 2012 20:46:42 +0000 (22:46 +0200)]
Implement binop mov

12 years agoImplement mov as string
Simon Hausmann [Thu, 4 Oct 2012 20:13:34 +0000 (22:13 +0200)]
Implement mov as string

12 years agoSprinkle a few more notImplemented()
Simon Hausmann [Thu, 4 Oct 2012 20:08:22 +0000 (22:08 +0200)]
Sprinkle a few more notImplemented()

12 years agoImplement more of cjump
Simon Hausmann [Thu, 4 Oct 2012 20:02:43 +0000 (22:02 +0200)]
Implement more of cjump

12 years agoAdd missing returns
Simon Hausmann [Thu, 4 Oct 2012 19:48:38 +0000 (21:48 +0200)]
Add missing returns

12 years agoFix argument addressing to be in the right order
Simon Hausmann [Thu, 4 Oct 2012 19:40:33 +0000 (21:40 +0200)]
Fix argument addressing to be in the right order

12 years agoFix move temp -> temp
Simon Hausmann [Thu, 4 Oct 2012 19:40:17 +0000 (21:40 +0200)]
Fix move temp -> temp

12 years agoImplemented part of visitCJump
Simon Hausmann [Thu, 4 Oct 2012 17:24:22 +0000 (19:24 +0200)]
Implemented part of visitCJump

12 years agoCleanup
Simon Hausmann [Tue, 2 Oct 2012 06:56:49 +0000 (08:56 +0200)]
Cleanup

12 years agoImplement callActivationProperty, mov with target as name and closure init
Simon Hausmann [Tue, 2 Oct 2012 06:55:18 +0000 (08:55 +0200)]
Implement callActivationProperty, mov with target as name and closure init

12 years agoFix generation of multiple functions
Simon Hausmann [Tue, 2 Oct 2012 06:53:47 +0000 (08:53 +0200)]
Fix generation of multiple functions

Sine we can't reset the MacroAssembler properly right now, reconstruct
the isel for every function.

12 years agoFix stupid off-by-one in address calculation of temporaries on the stack
Simon Hausmann [Tue, 2 Oct 2012 06:52:38 +0000 (08:52 +0200)]
Fix stupid off-by-one in address calculation of temporaries on the stack

12 years agoSimplified function call helpers
Simon Hausmann [Tue, 2 Oct 2012 05:21:38 +0000 (07:21 +0200)]
Simplified function call helpers

12 years agoProspective jump support
Simon Hausmann [Tue, 2 Oct 2012 04:49:49 +0000 (06:49 +0200)]
Prospective jump support

12 years agoImplement basic name lookup
Simon Hausmann [Mon, 1 Oct 2012 20:52:05 +0000 (22:52 +0200)]
Implement basic name lookup

12 years agoImplement simple value storage
Simon Hausmann [Mon, 1 Oct 2012 20:35:53 +0000 (22:35 +0200)]
Implement simple value storage

12 years agoFix ret argumet passing
Simon Hausmann [Mon, 1 Oct 2012 20:03:59 +0000 (22:03 +0200)]
Fix ret argumet passing

12 years agocleanup, squash
Simon Hausmann [Mon, 1 Oct 2012 20:02:20 +0000 (22:02 +0200)]
cleanup, squash

12 years agoCall helper
Simon Hausmann [Mon, 1 Oct 2012 19:59:09 +0000 (21:59 +0200)]
Call helper

12 years agocorrect temp handling
Simon Hausmann [Mon, 1 Oct 2012 19:39:25 +0000 (21:39 +0200)]
correct temp handling

12 years agoCleanups, some rudimentary stubs so that "return 42" can be compiled :)
Simon Hausmann [Mon, 1 Oct 2012 07:29:20 +0000 (09:29 +0200)]
Cleanups, some rudimentary stubs so that "return 42" can be compiled :)

12 years agoFix code ownership
Simon Hausmann [Wed, 26 Sep 2012 19:46:30 +0000 (21:46 +0200)]
Fix code ownership

12 years agoAdd udis86 support
Simon Hausmann [Sun, 23 Sep 2012 08:44:12 +0000 (10:44 +0200)]
Add udis86 support

12 years agoInitial import of MASM
Simon Hausmann [Sun, 23 Sep 2012 08:28:13 +0000 (10:28 +0200)]
Initial import of MASM

12 years agoFix division operation
laknoll [Thu, 20 Sep 2012 08:28:43 +0000 (10:28 +0200)]
Fix division operation

12 years agoProper NaN boxing for Value
laknoll [Wed, 19 Sep 2012 19:08:47 +0000 (21:08 +0200)]
Proper NaN boxing for Value

All JS types are now encoded in a 8 byte data
structure. We use the 52 bits that are unused
when a double is a NaN to encode all other types
that can be stored inside a double.

This is being done by using a few bits to determine
the type, and up to 48 bits for data. This works
even on x64, as addresses (ie. pointers) are limited
to 48 bits on these platforms.

For most other types (except doubles), we store the
data in the lower 32 bits of the double.

12 years agoInitial work on `eval'.
Roberto Raggi [Tue, 26 Jun 2012 13:36:03 +0000 (15:36 +0200)]
Initial work on `eval'.

12 years agoDo not try to optimize the `global object'.
Roberto Raggi [Tue, 26 Jun 2012 13:17:31 +0000 (15:17 +0200)]
Do not try to optimize the `global object'.

This should simplify the implementation of `eval' and `with'.

12 years agoRemove dead code.
Roberto Raggi [Tue, 26 Jun 2012 11:43:00 +0000 (13:43 +0200)]
Remove dead code.

12 years agoReduce the number of register-to-register copies.
Roberto Raggi [Tue, 26 Jun 2012 11:36:37 +0000 (13:36 +0200)]
Reduce the number of register-to-register copies.

12 years agoRemember the value of the last executed expression only in EvalMode
Roberto Raggi [Wed, 13 Jun 2012 09:19:15 +0000 (11:19 +0200)]
Remember the value of the last executed expression only in EvalMode

12 years agoAdd support for global, eval and function code.
Roberto Raggi [Wed, 13 Jun 2012 09:02:23 +0000 (11:02 +0200)]
Add support for global, eval and function code.

12 years agoRemove specialized version of __qmljs_set
Roberto Raggi [Wed, 13 Jun 2012 08:45:12 +0000 (10:45 +0200)]
Remove specialized version of __qmljs_set

12 years agoRemove dead code
Roberto Raggi [Wed, 13 Jun 2012 08:26:10 +0000 (10:26 +0200)]
Remove dead code

12 years agoFix bug in jump logic
Aaron Kennedy [Tue, 12 Jun 2012 17:26:29 +0000 (18:26 +0100)]
Fix bug in jump logic

Make the jump relative to the offset value in the instruction stream.

12 years agoBegin to implement moth vm
Aaron Kennedy [Tue, 12 Jun 2012 17:13:55 +0000 (18:13 +0100)]
Begin to implement moth vm

12 years agoImplemented Function.prototype.apply
Roberto Raggi [Tue, 12 Jun 2012 10:35:36 +0000 (12:35 +0200)]
Implemented Function.prototype.apply

12 years agoFix possible crash when executing invalid code.
Roberto Raggi [Tue, 12 Jun 2012 10:10:33 +0000 (12:10 +0200)]
Fix possible crash when executing invalid code.

12 years agoAdd skeleton moth vme
Aaron Kennedy [Mon, 11 Jun 2012 16:58:52 +0000 (17:58 +0100)]
Add skeleton moth vme

12 years agoKeep alive the exception handler block.
Roberto Raggi [Mon, 11 Jun 2012 12:38:56 +0000 (14:38 +0200)]
Keep alive the exception handler block.

12 years agoRemove dead code.
Roberto Raggi [Mon, 11 Jun 2012 12:21:02 +0000 (14:21 +0200)]
Remove dead code.

12 years agoFix make llvm_runtime
Roberto Raggi [Mon, 11 Jun 2012 11:59:42 +0000 (13:59 +0200)]
Fix make llvm_runtime

12 years agoAdd moth skeleton
Aaron Kennedy [Fri, 8 Jun 2012 19:09:13 +0000 (20:09 +0100)]
Add moth skeleton

12 years agoMake IR types stricter
Aaron Kennedy [Fri, 8 Jun 2012 19:09:13 +0000 (20:09 +0100)]
Make IR types stricter

We can always loosen these again if we need to.

12 years agoImport crypto.js from the V8 benchmark tests
Roberto Raggi [Mon, 11 Jun 2012 09:51:14 +0000 (11:51 +0200)]
Import crypto.js from the V8 benchmark tests

12 years agoCheck addresses associated with basic blocks
Roberto Raggi [Mon, 11 Jun 2012 09:50:10 +0000 (11:50 +0200)]
Check addresses associated with basic blocks

12 years agoImprove support for the assignment operators.
Roberto Raggi [Mon, 11 Jun 2012 07:38:52 +0000 (09:38 +0200)]
Improve support for the assignment operators.

Also, use indirect calls in the amd64 code generator.

12 years agoFix the code generator
Roberto Raggi [Mon, 11 Jun 2012 07:34:56 +0000 (09:34 +0200)]
Fix the code generator

This change fixes a few typos in the code generator (e.g. usages of
_loop instead of loop), also it ensures that all function
declarations are processed before the statements.

12 years agoIncrease the size of the code cache.
Roberto Raggi [Mon, 11 Jun 2012 07:32:00 +0000 (09:32 +0200)]
Increase the size of the code cache.

This is just a temporary hack, we can't continue to use
a contiguous region of memory to store the code.

12 years agoShortcut more constant conditionals
Aaron Kennedy [Fri, 8 Jun 2012 16:09:44 +0000 (17:09 +0100)]
Shortcut more constant conditionals

12 years agoTrim unreachable blocks
Aaron Kennedy [Fri, 8 Jun 2012 16:09:27 +0000 (17:09 +0100)]
Trim unreachable blocks

12 years agoFast track true and false conditionals.
Aaron Kennedy [Fri, 8 Jun 2012 15:22:02 +0000 (16:22 +0100)]
Fast track true and false conditionals.

12 years agoImprove ex to nx conversion.
Roberto Raggi [Fri, 8 Jun 2012 14:59:58 +0000 (16:59 +0200)]
Improve ex to nx conversion.

Only IR::Call has an nx conversion.

12 years agoIncrementally update the control flow graph.
Roberto Raggi [Fri, 8 Jun 2012 14:56:14 +0000 (16:56 +0200)]
Incrementally update the control flow graph.

12 years agoRemove useless calls to BasicBlock::isTerminated()
Roberto Raggi [Fri, 8 Jun 2012 14:35:30 +0000 (16:35 +0200)]
Remove useless calls to BasicBlock::isTerminated()

12 years agoEnsure the block created by the labelled statement is terminated
Roberto Raggi [Fri, 8 Jun 2012 14:33:24 +0000 (16:33 +0200)]
Ensure the block created by the labelled statement is terminated

12 years agoAdd support for labelled statements.
Roberto Raggi [Fri, 8 Jun 2012 14:26:08 +0000 (16:26 +0200)]
Add support for labelled statements.

12 years agoRemove dead code
Roberto Raggi [Fri, 8 Jun 2012 13:44:43 +0000 (15:44 +0200)]
Remove dead code

12 years agoEnsure that basic blocks are terminated.
Roberto Raggi [Fri, 8 Jun 2012 11:29:21 +0000 (13:29 +0200)]
Ensure that basic blocks are terminated.

Also make sure that the special BasicBlock `exitBlock' is always
the last block of the function.

12 years agoRemove dead code
Aaron Kennedy [Fri, 8 Jun 2012 10:35:16 +0000 (11:35 +0100)]
Remove dead code

12 years agoAdd dummy functions for the assignment operators.
Roberto Raggi [Thu, 7 Jun 2012 14:21:21 +0000 (16:21 +0200)]
Add dummy functions for the assignment operators.

12 years agoImport the ARM macro assembler from the mono project.
Roberto Raggi [Thu, 7 Jun 2012 14:06:12 +0000 (16:06 +0200)]
Import the ARM macro assembler from the mono project.

12 years agoFix LLVM code generation for unary expressions
Roberto Raggi [Thu, 7 Jun 2012 13:49:50 +0000 (15:49 +0200)]
Fix LLVM code generation for unary expressions

12 years agoGenerate LLVM code for constructor calls
Roberto Raggi [Thu, 7 Jun 2012 13:28:45 +0000 (15:28 +0200)]
Generate LLVM code for constructor calls

12 years agoDelete properties
Roberto Raggi [Thu, 7 Jun 2012 12:28:42 +0000 (14:28 +0200)]
Delete properties

12 years agoResolve the library name
Roberto Raggi [Wed, 6 Jun 2012 16:02:34 +0000 (18:02 +0200)]
Resolve the library name

12 years agoGenerate LLVM code for the `this-expression'.
Roberto Raggi [Wed, 6 Jun 2012 13:58:21 +0000 (15:58 +0200)]
Generate LLVM code for the `this-expression'.

12 years agoDon't use increments for now.
Roberto Raggi [Wed, 6 Jun 2012 13:47:42 +0000 (15:47 +0200)]
Don't use increments for now.