Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
V8のコードベース
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Taketoshi Aono(青野健利 a.k.a brn)
March 14, 2018
Programming
340
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
V8のコードベース
V8のC++コードベースについてなど
Taketoshi Aono(青野健利 a.k.a brn)
March 14, 2018
More Decks by Taketoshi Aono(青野健利 a.k.a brn)
See All by Taketoshi Aono(青野健利 a.k.a brn)
document.write再考
brn
6
3.2k
Parsing Javascript
brn
14
9.6k
JSON & Object Tips
brn
1
580
CA 1Day Youth Bootcamp for Frontend LT
brn
0
1.1k
Modern TypeScript
brn
2
880
javascript - behind the scene
brn
3
820
tc39 proposals
brn
0
1k
プロダクト開発とTypeScript
brn
7
3k
React-Springでリッチなアニメーション
brn
1
770
Other Decks in Programming
See All in Programming
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
9
6.1k
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
640
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
130
Foundation Models frameworkで画像分析
ryodeveloper
1
440
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
360
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
530
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
520
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
200
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
9
4.6k
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
350
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
380
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Done Done
chrislema
186
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Designing for Performance
lara
611
70k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
650
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
430
First, design no harm
axbom
PRO
2
1.2k
Transcript
V8 Codebase
Name @brn (ꫬꅿ⨳ⵃ) Occupation ؿٗٝزؒٝسؒٝآص،٥ط؎ذ؍ـؒٝآص، Company Cyberagent ،سذؙأةآؔ AI Messenger
OSS Contributor of V8 About http://info.b6n.ch
Basic C++ code 倜ז؝٦سכC++14ד鷄⸇ׁגְկ 〢ְ؝٦سחC++03ךせ婍כ֮ךךlambdaהַכ穠圓⢪ג ְկ 遤侧כ882,616遤֮
Build tools GNהְֲًةؽٕسخ٦ٕⵃ欽׃גְկ 㹋ꥷךؽٕسכninja ؝ٝػ؎ٓכخ٦ٕثؑ٦ٝتؐٝٗ٦سׅ״ֲחזגְג clang7.0.0تؐٝٗ٦س׃גⵃ欽ׅ״ֲחזגְ
Lint ؝ىحزחcpplintָ饥גծؿؓ٦وحز麩ך؝٦سכ؝ىح زדֹזְ
Format clang-formatד✲חؿؓ٦وحز׃זְה؝ىحزדֹזְ
Problems - وָؙٗ㢳ְ٥זַזַ搀蘠 - ؝٦سك٦أָ㣐ְֹךדIDE禸כ㔿ת✲ָ㢳ְ - ؝٦سك٦أָ㣐ְֹךדؽٕسָ鹼ְ
Complicated Macros وָؙٗ醱꧟ وؙٗדؙٓأ㹀纏׃… Problems
#define IGNITION_HANDLER(Name, BaseAssembler) \! class Name##Assembler : public BaseAssembler {
\! public: \! explicit Name##Assembler(compiler::CodeAssemblerState* state, \! Bytecode bytecode, OperandScale scale) \! : BaseAssembler(state, bytecode, scale) {} \! static void Generate(compiler::CodeAssemblerState* state, \! OperandScale scale); \! \! private: \! void GenerateImpl(); \! DISALLOW_COPY_AND_ASSIGN(Name##Assembler); \! }; \! void Name##Assembler::Generate(compiler::CodeAssemblerState* state, \! OperandScale scale) { \! Name##Assembler assembler(state, Bytecode::k##Name, scale); \! state->SetInitialDebugInformation(#Name, __FILE__, __LINE__); \! assembler.GenerateImpl(); \! } \! void Name##Assembler::GenerateImpl()!
IGNITION_HANDLER(LdaZero, InterpreterAssembler) {! Node* zero_value = NumberConstant(0.0);! SetAccumulator(zero_value);! Dispatch();! }!
Reusable Enum member وؙٗדenumךًٝغⱄⵃ欽ׅ؛٦أָ㢳ְ Problems
#define BYTECODE_LIST(V) \! /* Extended width operands */ \! V(Wide,
AccumulatorUse::kNone) \! V(ExtraWide, AccumulatorUse::kNone) \! \! /* Loading the accumulator */ \! V(LdaZero, AccumulatorUse::kWrite) \! V(LdaSmi, AccumulatorUse::kWrite, OperandType::kImm) \! V(LdaUndefined, AccumulatorUse::kWrite) \! V(LdaNull, AccumulatorUse::kWrite) \! V(LdaTheHole, AccumulatorUse::kWrite) \! V(LdaTrue, AccumulatorUse::kWrite) \! .! .! .!
const OperandTypeInfo*! const Bytecodes::kOperandTypeInfos[] = {! #define ENTRY(Name, ...) BytecodeTraits<__VA_ARGS__>::kOperandTypeInfos,!
BYTECODE_LIST(ENTRY)! #undef ENTRY! };!
switch (bytecode) {! #define CASE(Name, ...) \! case Bytecode::k##Name: \!
return #Name;! BYTECODE_LIST(CASE)! #undef CASE! }!
IDE Frozen ⬁כEmacsזךדRtagsדְַֽאדׅ(^^) Problems
Slow Build EC2㤍秈׃גrsyncד؝٦س㢌刿ָ֮ןח鷏⥋ׅ״ֲח ׃ ؽٕسכEC2ךUbuntuדװ Problems
Watch overlookהְֲ،فٔ⢪ֲה؝٦س㢌刿嗚濼׃גءٕؑ٥؝ وٝس㹋遤דֹ v8/src湊鋔׃גrsyncׅ Problems