Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Epic] MDGA: Make Druid Great Again #91

Open
13 of 28 tasks
PalumboN opened this issue Dec 12, 2023 · 0 comments
Open
13 of 28 tasks

[Epic] MDGA: Make Druid Great Again #91

PalumboN opened this issue Dec 12, 2023 · 0 comments

Comments

@PalumboN
Copy link
Contributor

PalumboN commented Dec 12, 2023

Bytecodes

Broken bytecodes

  •  gen_ExtStoreAndPopReceiverVariableBytecode
  • gen_StoreAndPopRemoteTempLongBytecode

Primitives

  • Make a list of the most used primitives

    • We can do it with the StackVM, logging the primitive in slowPrimitiveResponse
  • Fix primitiveNew compilation

  • 62 (primitiveSize)

  • 207 (primitiveFullClosureValue)

  • 175 (primitiveBehaviorHash)

  • 75 (primitiveIdentityHash)

  • 17 (primitiveBitShift)

  • 169 (primitiveNotIdentical)

  • 61 (primitiveAtPut)

  • 105 (primitiveStringReplace)

  • Have a list per benchmark

  • 29 primitiveMultiplyLargeIntegers
  • Measure execution time with Rebench 📏

Others

  • Improve abstract interpretation of compiler options here
  • Improve linearization algorithm here
  • Cache the Dominator Tree #140
  • Refactor on branch condition code generator code here
  • Remove = true from staged if Fix closure creation #94
  • cleanup staging decisions (canStage: vs isJitCompileTimeExpresison repeat code?)
  • tail duplication during code generation (for code generation of staged ifs) misses some staging opportunities (i.e., it depends on a phi that is staged from one branch but not from the other => then the phi is not staged, but when tail duplication happens this allows staging!)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant