You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2021/01/13 11:17:49 UTC

[ignite-3] branch ignite-13618 updated (9319404 -> 90f634f)

This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-13618
in repository https://gitbox.apache.org/repos/asf/ignite-3.git.


    from 9319404  Minor.
     add fbeed51  Minor.
     add 310ea98  Add ASM generated serializer.
     add 0499142  Fix generated serializer linkage errors.
     add b9ad4b7  Get rid of unnecessary Guava dependency.
     add a61b6b9  Drop generated serialized compiled with JDK.
     add 6c0804d  Minor.
     add 3011952  Merge branch 'ignite-13618' into gg-13618-asm
     add 1acbbb6  Minor.
     add 90f634f  Move prestodb-bytecode to separate module.

No new revisions were added by this update.

Summary of changes:
 modules/bytecode/README.md                         |   4 +
 modules/{commons => bytecode}/pom.xml              |  65 +-
 .../java/com/facebook/presto/bytecode/Access.java  |  85 +++
 .../bytecode/AddFakeLineNumberClassVisitor.java    | 157 ++++
 .../presto/bytecode/AnnotationDefinition.java      | 209 +++++
 .../com/facebook/presto/bytecode/ArrayOpCode.java  | 124 +++
 .../presto/bytecode/ByteCodeTooLargeException.java |  23 +
 .../facebook/presto/bytecode/BytecodeBlock.java    | 837 +++++++++++++++++++++
 .../com/facebook/presto/bytecode/BytecodeNode.java |  26 +
 .../facebook/presto/bytecode/BytecodeUtils.java    | 118 +++
 .../facebook/presto/bytecode/BytecodeVisitor.java  | 327 ++++++++
 .../facebook/presto/bytecode/ClassDefinition.java  | 281 +++++++
 .../facebook/presto/bytecode/ClassGenerator.java   | 201 +++++
 .../com/facebook/presto/bytecode/ClassInfo.java    | 169 +++++
 .../facebook/presto/bytecode/ClassInfoLoader.java  | 147 ++++
 .../java/com/facebook/presto/bytecode/Comment.java |  50 ++
 .../presto/bytecode/CompilationException.java      |  23 +
 .../presto/bytecode/DumpBytecodeVisitor.java       | 617 +++++++++++++++
 .../presto/bytecode/DynamicClassLoader.java        | 144 ++++
 .../facebook/presto/bytecode/FieldDefinition.java  | 106 +++
 .../facebook/presto/bytecode/MethodDefinition.java | 288 +++++++
 .../presto/bytecode/MethodGenerationContext.java   | 122 +++
 .../java/com/facebook/presto/bytecode/OpCode.java  | 268 +++++++
 .../com/facebook/presto/bytecode/Parameter.java    |  33 +
 .../presto/bytecode/ParameterizedType.java         | 285 +++++++
 .../java/com/facebook/presto/bytecode/Scope.java   | 102 +++
 .../facebook/presto/bytecode/SmartClassWriter.java |  54 ++
 .../com/facebook/presto/bytecode/Variable.java     |  89 +++
 .../presto/bytecode/control/CaseStatement.java     |  72 ++
 .../presto/bytecode/control/DoWhileLoop.java       | 106 +++
 .../presto/bytecode/control/FlowControl.java       |  22 +
 .../facebook/presto/bytecode/control/ForLoop.java  | 155 ++++
 .../presto/bytecode/control/IfStatement.java       | 124 +++
 .../presto/bytecode/control/SwitchStatement.java   | 171 +++++
 .../facebook/presto/bytecode/control/TryCatch.java |  97 +++
 .../presto/bytecode/control/WhileLoop.java         | 100 +++
 .../facebook/presto/bytecode/debug/DebugNode.java  |  21 +
 .../presto/bytecode/debug/LineNumberNode.java      |  59 ++
 .../presto/bytecode/debug/LocalVariableNode.java   |  62 ++
 .../bytecode/expression/AndBytecodeExpression.java |  64 ++
 .../expression/ArithmeticBytecodeExpression.java   | 202 +++++
 .../expression/ArrayLengthBytecodeExpression.java  |  55 ++
 .../bytecode/expression/BytecodeExpression.java    | 221 ++++++
 .../bytecode/expression/BytecodeExpressions.java   | 623 +++++++++++++++
 .../expression/CastBytecodeExpression.java         | 328 ++++++++
 .../expression/ComparisonBytecodeExpression.java   | 313 ++++++++
 .../expression/ConstantBytecodeExpression.java     |  68 ++
 .../expression/GetElementBytecodeExpression.java   |  63 ++
 .../expression/GetFieldBytecodeExpression.java     | 109 +++
 .../expression/InlineIfBytecodeExpression.java     |  69 ++
 .../expression/InstanceOfBytecodeExpression.java   |  62 ++
 .../expression/InvokeBytecodeExpression.java       | 115 +++
 .../InvokeDynamicBytecodeExpression.java           |  84 +++
 .../expression/NegateBytecodeExpression.java       |  66 ++
 .../expression/NewArrayBytecodeExpression.java     |  99 +++
 .../expression/NewInstanceBytecodeExpression.java  |  67 ++
 .../bytecode/expression/NotBytecodeExpression.java |  63 ++
 .../bytecode/expression/OrBytecodeExpression.java  |  64 ++
 .../bytecode/expression/PopBytecodeExpression.java |  49 ++
 .../expression/ReturnBytecodeExpression.java       |  82 ++
 .../SetArrayElementBytecodeExpression.java         |  68 ++
 .../expression/SetFieldBytecodeExpression.java     | 129 ++++
 .../presto/bytecode/instruction/Constant.java      | 542 +++++++++++++
 .../bytecode/instruction/FieldInstruction.java     | 156 ++++
 .../bytecode/instruction/InstructionNode.java      |  21 +
 .../bytecode/instruction/InvokeInstruction.java    | 405 ++++++++++
 .../bytecode/instruction/JumpInstruction.java      | 137 ++++
 .../presto/bytecode/instruction/LabelNode.java     |  70 ++
 .../bytecode/instruction/TypeInstruction.java      | 109 +++
 .../bytecode/instruction/VariableInstruction.java  | 126 ++++
 .../presto/bytecode/TestBytecodeUtils.java         |  29 +
 .../presto/bytecode/TestClassGenerator.java        |  97 +++
 .../expression/BytecodeExpressionAssertions.java   | 151 ++++
 .../TestArithmeticBytecodeExpression.java          | 136 ++++
 .../expression/TestArrayBytecodeExpressions.java   | 155 ++++
 .../expression/TestCastBytecodeExpression.java     | 163 ++++
 .../TestComparisonBytecodeExpression.java          | 179 +++++
 .../expression/TestConstantBytecodeExpression.java |  75 ++
 .../expression/TestGetFieldBytecodeExpression.java |  41 +
 .../expression/TestInlineIfBytecodeExpression.java |  31 +
 .../expression/TestInvokeBytecodeExpression.java   |  55 ++
 .../TestInvokeDynamicBytecodeExpression.java       |  56 ++
 .../expression/TestLogicalBytecodeExpression.java  |  50 ++
 .../TestNewInstanceBytecodeExpression.java         |  34 +
 .../expression/TestPopBytecodeExpression.java      |  45 ++
 .../expression/TestSetFieldBytecodeExpression.java |  84 +++
 .../TestSetVariableBytecodeExpression.java         |  47 ++
 modules/commons/pom.xml                            |  21 +-
 .../schema/marshaller/SerializerFactory.java       |   5 +-
 .../marshaller/asm/AsmSerializerGenerator.java     | 446 +++++++++++
 .../asm/IdentityMarshallerCodeGenerator.java       |  77 ++
 .../marshaller/asm/MarshallerCodeGenerator.java    |  71 ++
 .../asm/ObjectMarshallerCodeGenerator.java         | 182 +++++
 .../TupleColumnAccessCodeGenerator.java            |  40 +-
 .../IdentityObjectMarshallerExprGenerator.java     |  66 --
 .../generator/MarshallerCodeGenerator.java         |  64 --
 .../generator/ObjectMarshallerCodeGenerator.java   | 124 ---
 .../marshaller/generator/SerializerGenerator.java  | 368 ---------
 .../org/apache/ignite/internal}/CompilerUtils.java |   2 +-
 .../benchmarks/SerializerBenchmarkTest.java        |   5 +-
 .../schema/marshaller/JavaSerializerTest.java      | 100 ++-
 pom.xml                                            |  14 +-
 102 files changed, 12864 insertions(+), 721 deletions(-)
 create mode 100644 modules/bytecode/README.md
 copy modules/{commons => bytecode}/pom.xml (64%)
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/Access.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/AddFakeLineNumberClassVisitor.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/AnnotationDefinition.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/ArrayOpCode.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/ByteCodeTooLargeException.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/BytecodeBlock.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/BytecodeNode.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/BytecodeUtils.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/BytecodeVisitor.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/ClassDefinition.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/ClassGenerator.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/ClassInfo.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/ClassInfoLoader.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/Comment.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/CompilationException.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/DumpBytecodeVisitor.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/DynamicClassLoader.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/FieldDefinition.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodDefinition.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodGenerationContext.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/OpCode.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/Parameter.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/ParameterizedType.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/Scope.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/SmartClassWriter.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/Variable.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/control/CaseStatement.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/control/DoWhileLoop.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/control/FlowControl.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/control/ForLoop.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/control/IfStatement.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/control/SwitchStatement.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/control/TryCatch.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/control/WhileLoop.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/debug/DebugNode.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/debug/LineNumberNode.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/debug/LocalVariableNode.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/AndBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/ArithmeticBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/ArrayLengthBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/BytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/BytecodeExpressions.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/CastBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/ComparisonBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/ConstantBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/GetElementBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/GetFieldBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/InlineIfBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/InstanceOfBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/InvokeBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/InvokeDynamicBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/NegateBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/NewArrayBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/NewInstanceBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/NotBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/OrBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/PopBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/ReturnBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/SetArrayElementBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/expression/SetFieldBytecodeExpression.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/instruction/Constant.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/instruction/FieldInstruction.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/instruction/InstructionNode.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/instruction/InvokeInstruction.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/instruction/JumpInstruction.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/instruction/LabelNode.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/instruction/TypeInstruction.java
 create mode 100644 modules/bytecode/src/main/java/com/facebook/presto/bytecode/instruction/VariableInstruction.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/TestBytecodeUtils.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/TestClassGenerator.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/BytecodeExpressionAssertions.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestArithmeticBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestArrayBytecodeExpressions.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestCastBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestComparisonBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestConstantBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestGetFieldBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestInlineIfBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestInvokeBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestInvokeDynamicBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestLogicalBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestNewInstanceBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestPopBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestSetFieldBytecodeExpression.java
 create mode 100644 modules/bytecode/src/test/java/com/facebook/presto/bytecode/expression/TestSetVariableBytecodeExpression.java
 create mode 100644 modules/commons/src/main/java/org/apache/ignite/internal/schema/marshaller/asm/AsmSerializerGenerator.java
 create mode 100644 modules/commons/src/main/java/org/apache/ignite/internal/schema/marshaller/asm/IdentityMarshallerCodeGenerator.java
 create mode 100644 modules/commons/src/main/java/org/apache/ignite/internal/schema/marshaller/asm/MarshallerCodeGenerator.java
 create mode 100644 modules/commons/src/main/java/org/apache/ignite/internal/schema/marshaller/asm/ObjectMarshallerCodeGenerator.java
 rename modules/commons/src/main/java/org/apache/ignite/internal/schema/marshaller/{generator => asm}/TupleColumnAccessCodeGenerator.java (79%)
 delete mode 100644 modules/commons/src/main/java/org/apache/ignite/internal/schema/marshaller/generator/IdentityObjectMarshallerExprGenerator.java
 delete mode 100644 modules/commons/src/main/java/org/apache/ignite/internal/schema/marshaller/generator/MarshallerCodeGenerator.java
 delete mode 100644 modules/commons/src/main/java/org/apache/ignite/internal/schema/marshaller/generator/ObjectMarshallerCodeGenerator.java
 delete mode 100644 modules/commons/src/main/java/org/apache/ignite/internal/schema/marshaller/generator/SerializerGenerator.java
 rename modules/commons/src/{main/java/org/apache/ignite/internal/schema/marshaller => test/java/org/apache/ignite/internal}/CompilerUtils.java (99%)