Skip to content
This repository was archived by the owner on Sep 2, 2018. It is now read-only.

Implement jump tables #88

Closed
dylanmckay opened this issue May 7, 2015 · 8 comments
Closed

Implement jump tables #88

dylanmckay opened this issue May 7, 2015 · 8 comments

Comments

@dylanmckay
Copy link
Member

Implement jump table support.

@dylanmckay
Copy link
Member Author

This blocks Arduino because analogWrite in wiring_analoc.c uses jump tables.

@dylanmckay dylanmckay mentioned this issue Jul 8, 2015
24 tasks
@dylanmckay
Copy link
Member Author

I have disabled jump table emission in 177a73b, so this no longer blocks Arduino.

@4ntoine
Copy link

4ntoine commented Aug 17, 2015

Will interruptions work? F.e. serial interruptions https://www.arduino.cc/en/Tutorial/SerialEvent

@dylanmckay
Copy link
Member Author

Jump table emission is disabled - now switch statements are expanded into a set of if-else statements. This means that this issue does not stop any code from working.

w.r.t SerialEvent - it probably will not work. As stated in #149, Serial.begin() uses 32-bit division and so it will fail to compile (i.e. the bug you opened last).

@agnat
Copy link

agnat commented Aug 17, 2015

What @dylanmckay says.

In general however interrupts should work, if that is what you're asking. The interrupt table is not a jump table. "Should" as in I haven't actually tried it... ;)

@4ntoine
Copy link

4ntoine commented Aug 17, 2015

Oh, i see. I will be able to test and report as soon as #149 is resolved.

@dylanmckay
Copy link
Member Author

Heads up - #149 is now resolved!

@dylanmckay
Copy link
Member Author

Jump tables is an optimisation, we can look into it in the future.

For now I'll close this and we can look into it in the distant future.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants