com presentations: DPC: All about the goto: jump-dpc17.xml slides/internals/deadcode-vld.xml
[email protected] (Derick Rethans) Thu, 29 Jun 2017 09:15:33 +0000
| Newsgroups | php.pres |
|---|---|
| Message-ID | <[email protected]> |
Commit: 696c3c74c5f0f4c01b9fac84bb528e7dd7941b21 Author: Derick Rethans <[email protected]> Thu, 29 Jun 2017 11:15:33 +0200 Parents: b3d776b6d142bf17067452725f611087db969284 Branches: master Link: http://git.php.net/?p=presentations.git;a=commitdiff;h=696c3c74c5f0f4c01b9fac84bb528e7dd7941b21 Log: DPC: All about the goto Changed paths: A jump-dpc17.xml M slides/internals/deadcode-vld.xml Diff: diff --git a/jump-dpc17.xml b/jump-dpc17.xml new file mode 100644 index 0000000..d680c98 --- /dev/null +++ b/jump-dpc17.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="utf-8"?> +<presentation css="10gen-strict.css"> +<topic>PHP</topic> +<title>It's All About the Goto</title> +<event>Dutch PHP Conference</event> +<location>Amsterdam, Netherlands</location> +<date>July 1st</date> +<speaker>Derick Rethans</speaker> +<email>[email protected]</email> +<twitter>derickr</twitter> +<joindin>https://joind.in/21166</joindin> + +<slide>slides/mongodb/title.xml</slide> +<slide>slides/mongodb/me.xml</slide> + +<slide>slides/internals/title-agenda.xml</slide> + +<slide>slides/internals/title-stages.xml</slide> +<!-- INTRODUCTION +Compile stages: +Parse script +Create AST +Convert to opcodes +Run the code +Opcache for caching +--> +<slide>slides/internals/stages.xml</slide> + +<!-- STAGES +Parse +- Show parser rules +- Show "compiler" rules +--> + +<slide>slides/internals/title-parsing.xml</slide> +<slide>slides/internals/parse-state-machine.xml</slide> +<slide>slides/internals/parse-tokenization.xml</slide> +<slide>slides/internals/scanner.xml</slide> +<slide>slides/internals/scanner-rules.xml</slide> +<slide>slides/internals/ast.xml</slide> +<slide>slides/internals/ast1.xml</slide> +<!--<slide>slides/internals/scanner-ast.xml</slide>--> +<slide>slides/internals/scanner-ast2.xml</slide> +<slide>slides/internals/bytecode0.xml</slide> +<slide>slides/internals/bytecode½.xml</slide> +<slide>slides/internals/bytecode1.xml</slide> + +<slide>slides/internals/jumps.xml</slide> + +<!-- +AST +- Show AST for various control structures + +Opcodes +- Show AST for the same control structures +--> + +<slide>slides/internals/jumps-if.xml</slide> +<slide>slides/internals/jumps-if-else.xml</slide> + +<slide>slides/internals/rings.xml</slide> +<slide>slides/internals/jumps-for.xml</slide> +<slide>slides/internals/jumps-for-rewritten.xml</slide> +<!--<slide>slides/internals/jumps-while.xml</slide>--> +<!--<slide>slides/internals/jumps-do-while.xml</slide>--> +<slide>slides/internals/jumps-foreach.xml</slide> +<!--<slide>slides/internals/jumps-complex.xml</slide>--> +<slide>slides/internals/loops.xml</slide> +<slide>slides/internals/jumps-complex-dot.xml</slide> + +<!-- +Try/Catch nonsense +- FASTCALL/FASTRET +--> +<!-- <slide>slides/internals/catch.xml</slide>--> +<!-- <slide>slides/internals/jumps-try-catch.xml</slide>--> + +<!-- +Dead code analysis +- Show how Xdebug does it through VLD +--> +<slide>slides/internals/deadcode.xml</slide> +<slide>slides/internals/deadcode-vld.xml</slide> + +<!-- +Path analysis +- Branch and Path +--> +<slide>slides/internals/branches.xml</slide> +<slide>slides/xdebug/vld-path-2-paths.xml</slide> +<slide>slides/xdebug/vld-path-4-code.xml</slide> +<slide>slides/xdebug/vld-path-4-output.xml</slide> + +<slide>slides/xdebug/vld-path-3-code.xml</slide> +<!--<slide>slides/xdebug/vld-path-3-output.xml</slide>--> +<slide>slides/xdebug/vld-path-3-paths.xml</slide> + +<!-- Conclusion + +Code -> Tokens -> AST -> opode + +Transformation of control structures + +Useful implementations + +--> +<slide>slides/internals/recap.xml</slide> +<slide>slides/internals/recap-content.xml</slide> + + + +<slide>slides/mongodb/questions.xml</slide> + +<slide>slides/mongodb/resources.xml</slide> + +</presentation> diff --git a/slides/internals/deadcode-vld.xml b/slides/internals/deadcode-vld.xml index 14c8224..8edab6e 100644 --- a/slides/internals/deadcode-vld.xml +++ b/slides/internals/deadcode-vld.xml @@ -23,6 +23,6 @@ line #* E I O op return operands <list> <bullet>Follow all branches</bullet> -<bullet>Find unreached opcodes</bullet> +<bullet>Find unreachable opcodes</bullet> </list> </slide>