| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | adding ucomisd | GAJaloyan | 2018-01-12 | 1 | -1/+2 |
| | | |||||
| * | Expression: use stp translator | Fabrice Desclaux | 2018-01-11 | 1 | -68/+0 |
| | | |||||
| * | Remove some unnecessary parentheses when str()'ing expressions | Aymeric Vincent | 2017-12-12 | 1 | -16/+46 |
| | | | | | | | | | This patch removes quite a few useless parentheses from expressions thanks to the usual priorities between operators. It is conservative in the sense that not all such parentheses are removed when we felt the priorities won't be known by most users. | ||||
| * | Expression: add expression comparison generators | Fabrice Desclaux | 2017-09-04 | 1 | -0/+182 |
| | | |||||
| * | Expression/Simplifications: modify x?b:c + d | Fabrice Desclaux | 2017-08-10 | 1 | -15/+21 |
| | | |||||
| * | Expression/Simplifications: clean code | Fabrice Desclaux | 2017-08-10 | 1 | -279/+269 |
| | | |||||
| * | Simplifications: ExprMem(a?b:c) and {x?a:b, x?c:d} | Fabrice Desclaux | 2017-08-10 | 2 | -31/+28 |
| | | |||||
| * | ExprReducer: add kwargs arguments for reductions | Fabrice Desclaux | 2017-08-07 | 1 | -13/+14 |
| | | |||||
| * | A defined 'size' is mandatory for `Expr` to work | Ajax | 2017-08-03 | 1 | -24/+16 |
| | | |||||
| * | Avoid breaking potential overriding of ExprInt | Ajax | 2017-08-03 | 1 | -1/+1 |
| | | |||||
| * | Avoid racing ._size assignment in ExprInt | Ajax | 2017-08-03 | 1 | -3/+6 |
| | | | | | | | | | | | With Singleton behavior activated, ._size can be set during __new__, and reset to None during __init__. During unpickling, attributes fixes and __init__ / __new__ call order can also result in a weird behavior Actually, as _size is not modified during __new__, ExprInt behavior is now homogeneous with others Expr's __init__ | ||||
| * | Remove now useless property | Ajax | 2017-08-03 | 1 | -8/+0 |
| | | |||||
| * | Expr: move class-dependent attributes to protected one | Ajax | 2017-08-03 | 1 | -187/+187 |
| | | |||||
| * | Avoid potential (but unlikely) hash collision | Ajax | 2017-08-01 | 1 | -2/+2 |
| | | |||||
| * | Expression: add an Expression parser | Fabrice Desclaux | 2017-06-14 | 1 | -0/+70 |
| | | |||||
| * | Add a new simplification: {@X[base + i] 0 X, @Y[base + i + X] X (X + Y)} => ↵ | Ajax | 2017-06-01 | 1 | -0/+11 |
| | | | | | @(X+Y)[base + i] | ||||
| * | Expression: Forbid mix between Expr and int/long | Fabrice Desclaux | 2017-05-01 | 1 | -1/+24 |
| | | | | | | | | | | A classic error in Miasm is to confuse ExprInt with int, for example: ExprId('a') + 3 We could return ExprOp('+', ExprId('a') + ExprInt(3, 32)), but this may (and often) mask a problem in the source, so we forbid such a construction (and assert this to clarify the error) | ||||
| * | Remove deprecated use of MatchExpr | Ajax | 2017-04-21 | 2 | -21/+20 |
| | | |||||
| * | Expression: clean | Fabrice Desclaux | 2017-04-21 | 1 | -232/+240 |
| | | |||||
| * | Errata: fix exprmatch names | Fabrice Desclaux | 2017-04-21 | 1 | -50/+50 |
| | | |||||
| * | Expression: remove unused SearchExpr | Fabrice Desclaux | 2017-04-21 | 1 | -14/+0 |
| | | |||||
| * | Expression: clean MatchExpr | Fabrice Desclaux | 2017-04-21 | 1 | -51/+45 |
| | | |||||
| * | Expr: fix singleton; add reg test | Fabrice Desclaux | 2017-03-31 | 1 | -67/+43 |
| | | |||||
| * | Replace ExprInt[num](x) -> ExprInt(x, num) | Ajax | 2017-03-30 | 5 | -12/+13 |
| | | |||||
| * | Deprecate ExprInt[num] and ExprInt_from(expr, num) | Ajax | 2017-03-30 | 1 | -0/+12 |
| | | |||||
| * | Let ExprInt always use its Singleton capabilities | Ajax | 2017-03-30 | 2 | -48/+45 |
| | | | | | | Remove the optionnal 'size' argument form, use pointer equality to speed up comparision | ||||
| * | ExprReduce: fix exprnode str | Fabrice Desclaux | 2017-03-28 | 1 | -11/+11 |
| | | |||||
| * | Right operator of a>> is unsigned | Ajax | 2017-02-15 | 1 | -1/+1 |
| | | |||||
| * | Expression: add ExprReduce | Fabrice Desclaux | 2017-02-13 | 1 | -0/+177 |
| | | |||||
| * | Expression: REPLACE IS_OP_SEGM | Fabrice Desclaux | 2017-02-12 | 1 | -2/+14 |
| | | | | | | | | /!\ API MODIFICATION: is_op_segm becomes is_mem_segm is_op_segm: Returns True if is ExprOp and op == 'segm' is_mem_segm: Returns True if is ExprMem and ptr is_op_segm | ||||
| * | Merge pull request #476 from commial/fix/repr-expr | serpilliere | 2017-01-14 | 1 | -1/+2 |
| |\ | | | | | Fix/repr expr | ||||
| | * | Fix ExprInt repr to include size | Ajax | 2017-01-13 | 1 | -1/+2 |
| | | | |||||
| * | | Div: fix modint operation | Ajax | 2017-01-13 | 1 | -6/+10 |
| |/ | |||||
| * | remove #! command line on files not supposed to be run at top level | Aymeric Vincent | 2017-01-05 | 2 | -2/+0 |
| | | |||||
| * | Expr: Remove exprint_from | Fabrice Desclaux | 2016-12-23 | 1 | -9/+9 |
| | | |||||
| * | Exprsimp: updt api | Fabrice Desclaux | 2016-12-23 | 1 | -87/+65 |
| | | |||||
| * | Expr: add type accessors | Fabrice Desclaux | 2016-12-23 | 1 | -0/+57 |
| | | |||||
| * | Introduce ExprInt of any size (like others Expr) | Ajax | 2016-12-14 | 2 | -12/+25 |
| | | |||||
| * | Expr: Fix expr pickling | Fabrice Desclaux | 2016-11-20 | 1 | -3/+6 |
| | | |||||
| * | Expr: missing warning import | Fabrice Desclaux | 2016-11-20 | 1 | -0/+1 |
| | | |||||
| * | Add compatibility with copy.deepcopy for Expr | Ajax | 2016-11-08 | 1 | -0/+3 |
| | | |||||
| * | Expression: one pass merge_sliceto_slice | Ajax | 2016-11-07 | 1 | -63/+34 |
| | | |||||
| * | ExprCompose: updt internal struct | Fabrice Desclaux | 2016-11-04 | 4 | -256/+152 |
| | | |||||
| * | ExprCompose: update api | Fabrice Desclaux | 2016-11-04 | 3 | -28/+52 |
| | | |||||
| * | ExprCompose: add new api | Fabrice Desclaux | 2016-11-04 | 1 | -19/+28 |
| | | | | | | | | The ExprComposes uses directly its arguments sizes to guess the slices locations. Old api: ExprCompose([(a, 0, 32), (b, 32, 64)]) becomes: ExprCompose(a, b) | ||||
| * | Expression: add pickling | Fabrice Desclaux | 2016-11-04 | 1 | -0/+49 |
| | | |||||
| * | IR: is_simp in the simplifier class | Fabrice Desclaux | 2016-11-04 | 2 | -16/+6 |
| | | |||||
| * | Expression: slot expressions | Fabrice Desclaux | 2016-11-04 | 1 | -0/+11 |
| | | |||||
| * | Expression: remove is_term attribute | serpilliere | 2016-11-04 | 2 | -140/+118 |
| | | |||||
| * | Expression: Use singleton pattern for Expression | serpilliere | 2016-11-04 | 2 | -105/+165 |
| | | | | | | | | | | Start the transformation of Expression into immutable. Multiple problems were present in Expression class. One of them was comparison done through hash, which could generate collisions. The attributes is_simp/is_canon where linked to the instance, and could not survive to expression simplification. | ||||