Commit d220008f by Иван Кубота

setting sub properties

parent fe392231
......@@ -2,14 +2,10 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="60f6b3df-8be9-486a-9e3c-d8ae43c3e79e" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/F.js" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/index.jsx" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/const1.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/dist/cmp/Button.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/dist/cmp/Button.jsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/dist/cmp/Button.jsx.map" beforeDir="false" afterPath="$PROJECT_DIR$/dist/cmp/Button.jsx.map" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cmp/Button.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/cmp/Button.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/index.tsx2" afterDir="false" />
<change beforePath="$PROJECT_DIR$/webpack.config.js" beforeDir="false" afterPath="$PROJECT_DIR$/webpack.config.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/F.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/F.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/index.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/index.jsx" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/.tmp/" />
<ignored path="$PROJECT_DIR$/temp/" />
......@@ -27,8 +23,8 @@
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/index.jsx">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="554">
<caret line="81" column="26" lean-forward="true" selection-start-line="81" selection-start-column="26" selection-end-line="81" selection-end-column="26" />
<state relative-caret-position="340">
<caret line="20" column="83" selection-start-line="20" selection-start-column="83" selection-end-line="20" selection-end-column="83" />
<folding>
<element signature="e#0#36#0" expanded="true" />
</folding>
......@@ -122,17 +118,17 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/typings.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<state>
<caret line="2" column="19" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/F.js">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-85">
<caret line="10" column="16" lean-forward="true" selection-start-line="10" selection-start-column="16" selection-end-line="10" selection-end-column="16" />
<state relative-caret-position="85">
<caret line="5" selection-start-line="5" selection-end-line="5" />
</state>
</provider>
</entry>
......@@ -141,7 +137,7 @@
<entry file="file://$PROJECT_DIR$/src/Rjsx.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="510">
<caret line="30" column="21" lean-forward="true" selection-start-line="30" selection-start-column="21" selection-end-line="30" selection-end-column="21" />
<caret line="30" column="21" selection-start-line="30" selection-start-column="21" selection-end-line="30" selection-end-column="21" />
</state>
</provider>
</entry>
......@@ -155,13 +151,35 @@
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/F.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="475">
<caret line="230" column="34" selection-start-line="230" selection-start-column="34" selection-end-line="230" selection-end-column="34" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/const1.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="1" column="26" selection-start-line="1" selection-start-column="26" selection-end-line="1" selection-end-column="26" />
</state>
</provider>
</entry>
</file>
</leaf>
</split-first>
<split-second>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/Rjsx.d.ts">
<provider selected="true" editor-type-id="text-editor" />
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="947">
<caret line="57" selection-start-line="57" selection-end-line="58" />
</state>
</provider>
</entry>
</file>
</leaf>
......@@ -202,6 +220,12 @@
<find>init</find>
<find>R(</find>
<find>UIComponent</find>
<find>_setKey</find>
<find>fs</find>
<find>133</find>
<find>13322</find>
<find>add</find>
<find>TaskManager</find>
</findStrings>
<replaceStrings>
<replace>| Reactivity;</replace>
......@@ -230,7 +254,6 @@
<option value="$PROJECT_DIR$/typings.json" />
<option value="$PROJECT_DIR$/tsconfig.json" />
<option value="$PROJECT_DIR$/package.json" />
<option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/src/Rjsx.d.ts" />
<option value="$PROJECT_DIR$/src/Rjsx.ts" />
<option value="$PROJECT_DIR$/src/preact.d.ts" />
......@@ -238,6 +261,8 @@
<option value="$PROJECT_DIR$/webpack.config.js" />
<option value="$PROJECT_DIR$/src/cmp/Button.tsx" />
<option value="$USER_HOME$/Downloads/Telegram Desktop/chart_data.json" />
<option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/test/const1.js" />
<option value="$PROJECT_DIR$/src/F.js" />
<option value="$PROJECT_DIR$/src/index.jsx" />
</list>
......@@ -254,6 +279,7 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
......@@ -264,6 +290,11 @@
<path>
<item name="reactive" type="b2602c69:ProjectViewProjectNode" />
<item name="reactive" type="462c0819:PsiDirectoryNode" />
<item name="build0" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="reactive" type="b2602c69:ProjectViewProjectNode" />
<item name="reactive" type="462c0819:PsiDirectoryNode" />
<item name="dist" type="462c0819:PsiDirectoryNode" />
</path>
<path>
......@@ -271,11 +302,15 @@
<item name="reactive" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="reactive" type="b2602c69:ProjectViewProjectNode" />
<item name="reactive" type="462c0819:PsiDirectoryNode" />
<item name="test" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
......@@ -326,12 +361,13 @@
<workItem from="1554631350546" duration="599000" />
<workItem from="1554982784870" duration="5733000" />
<workItem from="1556229860266" duration="3807000" />
<workItem from="1557233390052" duration="996000" />
<workItem from="1557233390052" duration="5206000" />
<workItem from="1557261512369" duration="8169000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="97114000" />
<option name="totallyTimeSpent" value="109493000" />
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="3456" height="1416" extended-state="6" />
......@@ -416,13 +452,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="12" selection-start-column="12" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/index.tsx2">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170">
......@@ -458,6 +487,27 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/package.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" column="10" selection-start-line="6" selection-start-column="5" selection-end-line="6" selection-end-column="10" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/dist/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="7" selection-start-line="9" selection-start-column="7" selection-end-line="9" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/dist/index.jsx">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="18" column="42" selection-start-line="18" selection-start-column="36" selection-end-line="18" selection-end-column="42" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/@babel/preset-react/lib/index.js">
<provider selected="true" editor-type-id="text-editor" />
</entry>
......@@ -484,57 +534,64 @@
</entry>
<entry file="file://$PROJECT_DIR$/typings.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<state>
<caret line="2" column="19" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="85">
<caret line="5" selection-start-line="5" selection-end-line="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Rjsx.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="510">
<caret line="30" column="21" lean-forward="true" selection-start-line="30" selection-start-column="21" selection-end-line="30" selection-end-column="21" />
<caret line="30" column="21" selection-start-line="30" selection-start-column="21" selection-end-line="30" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Rjsx.d.ts">
<entry file="file://$PROJECT_DIR$/out2">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1853">
<caret line="109" column="21" selection-start-line="109" selection-start-column="21" selection-end-line="109" selection-end-column="21" />
<state relative-caret-position="7599">
<caret line="447" column="69" lean-forward="true" selection-start-line="447" selection-start-column="69" selection-end-line="447" selection-end-column="69" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/package.json">
<entry file="file://$PROJECT_DIR$/src/Rjsx.d.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" column="10" selection-start-line="6" selection-start-column="5" selection-end-line="6" selection-end-column="10" />
<state relative-caret-position="1853">
<caret line="109" column="21" selection-start-line="109" selection-start-column="21" selection-end-line="109" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/dist/index.html">
<entry file="file://$PROJECT_DIR$/test/out">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="7" selection-start-line="9" selection-start-column="7" selection-end-line="9" selection-end-column="7" />
<state relative-caret-position="409">
<caret line="25333" column="57" selection-start-line="25333" selection-start-column="57" selection-end-line="25333" selection-end-column="57" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/F.js">
<entry file="file://$PROJECT_DIR$/test/const1.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-85">
<caret line="10" column="16" lean-forward="true" selection-start-line="10" selection-start-column="16" selection-end-line="10" selection-end-column="16" />
<state relative-caret-position="17">
<caret line="1" column="26" selection-start-line="1" selection-start-column="26" selection-end-line="1" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/dist/index.jsx">
<entry file="file://$PROJECT_DIR$/src/F.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="18" column="42" selection-start-line="18" selection-start-column="36" selection-end-line="18" selection-end-column="42" />
<state relative-caret-position="475">
<caret line="230" column="34" selection-start-line="230" selection-start-column="34" selection-end-line="230" selection-end-column="34" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/index.jsx">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="554">
<caret line="81" column="26" lean-forward="true" selection-start-line="81" selection-start-column="26" selection-end-line="81" selection-end-column="26" />
<state relative-caret-position="340">
<caret line="20" column="83" selection-start-line="20" selection-start-column="83" selection-end-line="20" selection-end-column="83" />
<folding>
<element signature="e#0#36#0" expanded="true" />
</folding>
......
--- Code ---
kind = HANDLER
major_key = <NoCache>Stub
name = StoreFastElementStub
compiler = turbofan
Instructions (size = 240)
00000168EFD04120 0 4c8b420f REX.W movq r8,[rdx+0xf]
00000168EFD04124 4 f6c101 testb rcx,0x1
00000168EFD04127 7 0f8438000000 jz 00000168EFD04165 <+0x45>
00000168EFD0412D d 4c8b49ff REX.W movq r9,[rcx-0x1]
00000168EFD04131 11 4d394d50 REX.W cmpq [r13+0x50],r9
00000168EFD04135 15 0f8597000000 jnz 00000168EFD041D2 <+0xb2>
00000168EFD0413B 1b c5fb104107 vmovsd xmm0,[rcx+0x7]
00000168EFD04140 20 c57b2cc8 vcvttsd2si r9,xmm0
00000168EFD04144 24 c5f157c9 vxorpd xmm1,xmm1,xmm1
00000168EFD04148 28 c4c1732ac9 vcvtlsi2sd xmm1,xmm1,r9
00000168EFD0414D 2d c5f92ec8 vucomisd xmm1,xmm0
00000168EFD04151 31 0f8a7b000000 jpe 00000168EFD041D2 <+0xb2>
00000168EFD04157 37 0f8575000000 jnz 00000168EFD041D2 <+0xb2>
00000168EFD0415D 3d 4d63c9 REX.W movsxlq r9,r9
00000168EFD04160 40 e907000000 jmp 00000168EFD0416C <+0x4c>
00000168EFD04165 45 4c8bc9 REX.W movq r9,rcx
00000168EFD04168 48 49c1f920 REX.W sarq r9, 32
00000168EFD0416C 4c a801 test al,0x1
00000168EFD0416E 4e 0f842a000000 jz 00000168EFD0419E <+0x7e>
00000168EFD04174 54 4c8b58ff REX.W movq r11,[rax-0x1]
00000168EFD04178 58 4d395d50 REX.W cmpq [r13+0x50],r11
00000168EFD0417C 5c 0f8550000000 jnz 00000168EFD041D2 <+0xb2>
00000168EFD04182 62 c5fb104007 vmovsd xmm0,[rax+0x7]
00000168EFD04187 67 c461fb2cd8 vcvttsd2siq r11,xmm0
00000168EFD0418C 6c 4983fb01 REX.W cmpq r11,0x1
00000168EFD04190 70 0f805d000000 jo 00000168EFD041F3 <+0xd3>
00000168EFD04196 76 458bdb movl r11,r11
00000168EFD04199 79 e907000000 jmp 00000168EFD041A5 <+0x85>
00000168EFD0419E 7e 4c8bd8 REX.W movq r11,rax
00000168EFD041A1 81 49c1eb20 REX.W shrq r11, 32
00000168EFD041A5 85 4c8b6217 REX.W movq r12,[rdx+0x17]
00000168EFD041A9 89 41f644243708 testb [r12+0x37],0x8
00000168EFD041AF 8f 0f851d000000 jnz 00000168EFD041D2 <+0xb2>
00000168EFD041B5 95 4c63623b REX.W movsxlq r12,[rdx+0x3b]
00000168EFD041B9 99 4d39e1 REX.W cmpq r9,r12
00000168EFD041BC 9c 0f8310000000 jnc 00000168EFD041D2 <+0xb2>
00000168EFD041C2 a2 498b5817 REX.W movq rbx,[r8+0x17]
00000168EFD041C6 a6 498b500f REX.W movq rdx,[r8+0xf]
00000168EFD041CA aa 4803da REX.W addq rbx,rdx
00000168EFD041CD ad 46891c8b movl [rbx+r9*4],r11
00000168EFD041D1 b1 c3 retl
00000168EFD041D2 b2 57 push rdi
00000168EFD041D3 b3 53 push rbx
00000168EFD041D4 b4 52 push rdx
00000168EFD041D5 b5 51 push rcx
00000168EFD041D6 b6 ff742420 push [rsp+0x20]
00000168EFD041DA ba 4889442428 REX.W movq [rsp+0x28],rax
00000168EFD041DF bf b805000000 movl rax,0000000000000005
00000168EFD041E4 c4 48bb70f46e33f67f0000 REX.W movq rbx,00007FF6336EF470
00000168EFD041EE ce e96d01e8ff jmp 00000168EFB84360 ;; code: STUB, CEntryStub, minor: 8
00000168EFD041F3 d3 4883ec08 REX.W subq rsp,0x8
00000168EFD041F7 d7 c5fb110424 vmovsd [rsp],xmm0
00000168EFD041FC dc e85ffeffff call 00000168EFD04060 ;; code: STUB, DoubleToIStub, minor: 135876
00000168EFD04201 e1 4883c408 REX.W addq rsp,0x8
00000168EFD04205 e5 eb8f jmp 00000168EFD04196 <+0x76>
00000168EFD04207 e7 90 nop
Safepoints (size = 8)
RelocInfo (size = 4)
00000168EFD041EF code target (STUB) (00000168EFB84360)
00000168EFD041FD code target (STUB) (00000168EFD04060)
--- End code ---
kind = REGEXP
name = ^(?:[a-zA-Z]:|[\\/]{2}[^\\/]+[\\/][^\\/]+)?[\\/]*
compiler = unknown
Instructions (size = 1445)
00000168EFD05400 0 e9ce030000 jmp 00000168EFD057D3 <+0x3d3>
00000168EFD05405 5 4883e904 REX.W subq rcx,0x4
00000168EFD05409 9 c7012b040000 movl [rcx],0x42b
00000168EFD0540F f 48a1a01e9b378d010000 REX.W movq rax,(0000018D379B1EA0)
00000168EFD05419 19 483bc8 REX.W cmpq rcx,rax
00000168EFD0541C 1c 0f8705000000 ja 00000168EFD05427 <+0x27>
00000168EFD05422 22 e824050000 call 00000168EFD0594B <+0x54b>
00000168EFD05427 27 488d47ff REX.W leaq rax,[rdi-0x1]
00000168EFD0542B 2b 483b45d8 REX.W cmpq rax,[rbp-0x28]
00000168EFD0542F 2f 0f85a6040000 jnz 00000168EFD058DB <+0x4db>
00000168EFD05435 35 83ffff cmpl rdi,0xff
00000168EFD05438 38 0f8d3f030000 jge 00000168EFD0577D <+0x37d>
00000168EFD0543E 3e 0fb7143e movzxwl rdx,[rsi+rdi*1]
00000168EFD05442 42 b8c0ff0000 movl rax,000000000000FFC0
00000168EFD05447 47 4823c2 REX.W andq rax,rdx
00000168EFD0544A 4a 3d403a0000 cmp rax,0000000000003A40
00000168EFD0544F 4f 0f84b9020000 jz 00000168EFD0570E <+0x30e>
00000168EFD05455 55 b88c8c0000 movl rax,0000000000008C8C
00000168EFD0545A 5a 4823c2 REX.W andq rax,rdx
00000168EFD0545D 5d 3d0c0c0000 cmp rax,0000000000000C0C
00000168EFD05462 62 0f8515030000 jnz 00000168EFD0577D <+0x37d>
00000168EFD05468 68 0fb6143e movzxbl rdx,[rsi+rdi*1]
00000168EFD0546C 6c 83fa2f cmpl rdx,0x2f
00000168EFD0546F 6f 0f8409000000 jz 00000168EFD0547E <+0x7e>
00000168EFD05475 75 83fa5c cmpl rdx,0x5c
00000168EFD05478 78 0f85ff020000 jnz 00000168EFD0577D <+0x37d>
00000168EFD0547E 7e 0fb6543e01 movzxbl rdx,[rsi+rdi*1+0x1]
00000168EFD05483 83 83fa2f cmpl rdx,0x2f
00000168EFD05486 86 0f8409000000 jz 00000168EFD05495 <+0x95>
00000168EFD0548C 8c 83fa5c cmpl rdx,0x5c
00000168EFD0548F 8f 0f85e8020000 jnz 00000168EFD0577D <+0x37d>
00000168EFD05495 95 83fffe cmpl rdi,0xfe
00000168EFD05498 98 0f8ddf020000 jge 00000168EFD0577D <+0x37d>
00000168EFD0549E 9e 0fb6543e02 movzxbl rdx,[rsi+rdi*1+0x2]
00000168EFD054A3 a3 83fa2f cmpl rdx,0x2f
00000168EFD054A6 a6 0f84d1020000 jz 00000168EFD0577D <+0x37d>
00000168EFD054AC ac 83fa5c cmpl rdx,0x5c
00000168EFD054AF af 0f84c8020000 jz 00000168EFD0577D <+0x37d>
00000168EFD054B5 b5 4883e904 REX.W subq rcx,0x4
00000168EFD054B9 b9 8939 movl [rcx],rdi
00000168EFD054BB bb 48897dd0 REX.W movq [rbp-0x30],rdi
00000168EFD054BF bf 4883c703 REX.W addq rdi,0x3
00000168EFD054C3 c3 4883e904 REX.W subq rcx,0x4
00000168EFD054C7 c7 c70161030000 movl [rcx],0x361
00000168EFD054CD cd 48a1a01e9b378d010000 REX.W movq rax,(0000018D379B1EA0)
00000168EFD054D7 d7 483bc8 REX.W cmpq rcx,rax
00000168EFD054DA da 0f8705000000 ja 00000168EFD054E5 <+0xe5>
00000168EFD054E0 e0 e866040000 call 00000168EFD0594B <+0x54b>
00000168EFD054E5 e5 4883e904 REX.W subq rcx,0x4
00000168EFD054E9 e9 8939 movl [rcx],rdi
00000168EFD054EB eb 83ff00 cmpl rdi,0x0
00000168EFD054EE ee 0f8d1c000000 jge 00000168EFD05510 <+0x110>
00000168EFD054F4 f4 0fb6143e movzxbl rdx,[rsi+rdi*1]
00000168EFD054F8 f8 83fa2f cmpl rdx,0x2f
00000168EFD054FB fb 0f840f000000 jz 00000168EFD05510 <+0x110>
00000168EFD05501 101 83fa5c cmpl rdx,0x5c
00000168EFD05504 104 0f8406000000 jz 00000168EFD05510 <+0x110>
00000168EFD0550A 10a 4883c701 REX.W addq rdi,0x1
00000168EFD0550E 10e ebdb jmp 00000168EFD054EB <+0xeb>
00000168EFD05510 110 83ffff cmpl rdi,0xff
00000168EFD05513 113 0f8db0010000 jge 00000168EFD056C9 <+0x2c9>
00000168EFD05519 119 0fb7143e movzxwl rdx,[rsi+rdi*1]
00000168EFD0551D 11d b88c000000 movl rax,000000000000008C
00000168EFD05522 122 4823c2 REX.W andq rax,rdx
00000168EFD05525 125 83f80c cmpl rax,0xc
00000168EFD05528 128 0f859b010000 jnz 00000168EFD056C9 <+0x2c9>
00000168EFD0552E 12e 0fb6143e movzxbl rdx,[rsi+rdi*1]
00000168EFD05532 132 83fa2f cmpl rdx,0x2f
00000168EFD05535 135 0f8409000000 jz 00000168EFD05544 <+0x144>
00000168EFD0553B 13b 83fa5c cmpl rdx,0x5c
00000168EFD0553E 13e 0f8585010000 jnz 00000168EFD056C9 <+0x2c9>
00000168EFD05544 144 0fb6543e01 movzxbl rdx,[rsi+rdi*1+0x1]
00000168EFD05549 149 83fa2f cmpl rdx,0x2f
00000168EFD0554C 14c 0f8477010000 jz 00000168EFD056C9 <+0x2c9>
00000168EFD05552 152 83fa5c cmpl rdx,0x5c
00000168EFD05555 155 0f846e010000 jz 00000168EFD056C9 <+0x2c9>
00000168EFD0555B 15b 4883e904 REX.W subq rcx,0x4
00000168EFD0555F 15f 8939 movl [rcx],rdi
00000168EFD05561 161 4883c702 REX.W addq rdi,0x2
00000168EFD05565 165 4883e904 REX.W subq rcx,0x4
00000168EFD05569 169 c7011c030000 movl [rcx],0x31c
00000168EFD0556F 16f 48a1a01e9b378d010000 REX.W movq rax,(0000018D379B1EA0)
00000168EFD05579 179 483bc8 REX.W cmpq rcx,rax
00000168EFD0557C 17c 0f8705000000 ja 00000168EFD05587 <+0x187>
00000168EFD05582 182 e8c4030000 call 00000168EFD0594B <+0x54b>
00000168EFD05587 187 4883e904 REX.W subq rcx,0x4
00000168EFD0558B 18b 8939 movl [rcx],rdi
00000168EFD0558D 18d 83ff00 cmpl rdi,0x0
00000168EFD05590 190 0f8d1c000000 jge 00000168EFD055B2 <+0x1b2>
00000168EFD05596 196 0fb6143e movzxbl rdx,[rsi+rdi*1]
00000168EFD0559A 19a 83fa2f cmpl rdx,0x2f
00000168EFD0559D 19d 0f840f000000 jz 00000168EFD055B2 <+0x1b2>
00000168EFD055A3 1a3 83fa5c cmpl rdx,0x5c
00000168EFD055A6 1a6 0f8406000000 jz 00000168EFD055B2 <+0x1b2>
00000168EFD055AC 1ac 4883c701 REX.W addq rdi,0x1
00000168EFD055B0 1b0 ebdb jmp 00000168EFD0558D <+0x18d>
00000168EFD055B2 1b2 4883e904 REX.W subq rcx,0x4
00000168EFD055B6 1b6 8939 movl [rcx],rdi
00000168EFD055B8 1b8 4883e904 REX.W subq rcx,0x4
00000168EFD055BC 1bc c701d7020000 movl [rcx],0x2d7
00000168EFD055C2 1c2 48a1a01e9b378d010000 REX.W movq rax,(0000018D379B1EA0)
00000168EFD055CC 1cc 483bc8 REX.W cmpq rcx,rax
00000168EFD055CF 1cf 0f8705000000 ja 00000168EFD055DA <+0x1da>
00000168EFD055D5 1d5 e871030000 call 00000168EFD0594B <+0x54b>
00000168EFD055DA 1da 4883e904 REX.W subq rcx,0x4
00000168EFD055DE 1de 8939 movl [rcx],rdi
00000168EFD055E0 1e0 83ff00 cmpl rdi,0x0
00000168EFD055E3 1e3 0f8d1c000000 jge 00000168EFD05605 <+0x205>
00000168EFD055E9 1e9 0fb6143e movzxbl rdx,[rsi+rdi*1]
00000168EFD055ED 1ed 83fa2f cmpl rdx,0x2f
00000168EFD055F0 1f0 0f8409000000 jz 00000168EFD055FF <+0x1ff>
00000168EFD055F6 1f6 83fa5c cmpl rdx,0x5c
00000168EFD055F9 1f9 0f8506000000 jnz 00000168EFD05605 <+0x205>
00000168EFD055FF 1ff 4883c701 REX.W addq rdi,0x1
00000168EFD05603 203 ebdb jmp 00000168EFD055E0 <+0x1e0>
00000168EFD05605 205 4883e904 REX.W subq rcx,0x4
00000168EFD05609 209 8939 movl [rcx],rdi
00000168EFD0560B 20b 48897dc8 REX.W movq [rbp-0x38],rdi
00000168EFD0560F 20f 4883e904 REX.W subq rcx,0x4
00000168EFD05613 213 c70195020000 movl [rcx],0x295
00000168EFD05619 219 48a1a01e9b378d010000 REX.W movq rax,(0000018D379B1EA0)
00000168EFD05623 223 483bc8 REX.W cmpq rcx,rax
00000168EFD05626 226 0f8705000000 ja 00000168EFD05631 <+0x231>
00000168EFD0562C 22c e81a030000 call 00000168EFD0594B <+0x54b>
00000168EFD05631 231 e96f020000 jmp 00000168EFD058A5 <+0x4a5>
00000168EFD05636 236 486339 REX.W movsxlq rdi,[rcx]
00000168EFD05639 239 4883c104 REX.W addq rcx,0x4
00000168EFD0563D 23d e900000000 jmp 00000168EFD05642 <+0x242>
00000168EFD05642 242 3b39 cmpl rdi,[rcx]
00000168EFD05644 244 0f8528000000 jnz 00000168EFD05672 <+0x272>
00000168EFD0564A 24a 4883c104 REX.W addq rcx,0x4
00000168EFD0564E 24e 48a158f898378d010000 REX.W movq rax,(0000018D3798F858)
00000168EFD05658 258 483be0 REX.W cmpq rsp,rax
00000168EFD0565B 25b 0f8705000000 ja 00000168EFD05666 <+0x266>
00000168EFD05661 261 e899020000 call 00000168EFD058FF <+0x4ff>
00000168EFD05666 266 486319 REX.W movsxlq rbx,[rcx]
00000168EFD05669 269 4883c104 REX.W addq rcx,0x4
00000168EFD0566D 26d 4903d8 REX.W addq rbx,r8
00000168EFD05670 270 ffe3 jmp rbx
00000168EFD05672 272 4883c7ff REX.W addq rdi,0xff
00000168EFD05676 276 eb8d jmp 00000168EFD05605 <+0x205>
00000168EFD05678 278 486339 REX.W movsxlq rdi,[rcx]
00000168EFD0567B 27b 4883c104 REX.W addq rcx,0x4
00000168EFD0567F 27f e900000000 jmp 00000168EFD05684 <+0x284>
00000168EFD05684 284 3b39 cmpl rdi,[rcx]
00000168EFD05686 286 0f8528000000 jnz 00000168EFD056B4 <+0x2b4>
00000168EFD0568C 28c 4883c104 REX.W addq rcx,0x4
00000168EFD05690 290 48a158f898378d010000 REX.W movq rax,(0000018D3798F858)
00000168EFD0569A 29a 483be0 REX.W cmpq rsp,rax
00000168EFD0569D 29d 0f8705000000 ja 00000168EFD056A8 <+0x2a8>
00000168EFD056A3 2a3 e857020000 call 00000168EFD058FF <+0x4ff>
00000168EFD056A8 2a8 486319 REX.W movsxlq rbx,[rcx]
00000168EFD056AB 2ab 4883c104 REX.W addq rcx,0x4
00000168EFD056AF 2af 4903d8 REX.W addq rbx,r8
00000168EFD056B2 2b2 ffe3 jmp rbx
00000168EFD056B4 2b4 4883c7ff REX.W addq rdi,0xff
00000168EFD056B8 2b8 e9f5feffff jmp 00000168EFD055B2 <+0x1b2>
00000168EFD056BD 2bd 486339 REX.W movsxlq rdi,[rcx]
00000168EFD056C0 2c0 4883c104 REX.W addq rcx,0x4
00000168EFD056C4 2c4 e900000000 jmp 00000168EFD056C9 <+0x2c9>
00000168EFD056C9 2c9 3b39 cmpl rdi,[rcx]
00000168EFD056CB 2cb 0f8528000000 jnz 00000168EFD056F9 <+0x2f9>
00000168EFD056D1 2d1 4883c104 REX.W addq rcx,0x4
00000168EFD056D5 2d5 48a158f898378d010000 REX.W movq rax,(0000018D3798F858)
00000168EFD056DF 2df 483be0 REX.W cmpq rsp,rax
00000168EFD056E2 2e2 0f8705000000 ja 00000168EFD056ED <+0x2ed>
00000168EFD056E8 2e8 e812020000 call 00000168EFD058FF <+0x4ff>
00000168EFD056ED 2ed 486319 REX.W movsxlq rbx,[rcx]
00000168EFD056F0 2f0 4883c104 REX.W addq rcx,0x4
00000168EFD056F4 2f4 4903d8 REX.W addq rbx,r8
00000168EFD056F7 2f7 ffe3 jmp rbx
00000168EFD056F9 2f9 4883c7ff REX.W addq rdi,0xff
00000168EFD056FD 2fd e90efeffff jmp 00000168EFD05510 <+0x110>
00000168EFD05702 302 486339 REX.W movsxlq rdi,[rcx]
00000168EFD05705 305 4883c104 REX.W addq rcx,0x4
00000168EFD05709 309 e96f000000 jmp 00000168EFD0577D <+0x37d>
00000168EFD0570E 30e 83ff00 cmpl rdi,0x0
00000168EFD05711 311 0f8d5d000000 jge 00000168EFD05774 <+0x374>
00000168EFD05717 317 0fb6143e movzxbl rdx,[rsi+rdi*1]
00000168EFD0571B 31b 8d42bf leal rax,[rdx-0x41]
00000168EFD0571E 31e 83f819 cmpl rax,0x19
00000168EFD05721 321 0f860c000000 jna 00000168EFD05733 <+0x333>
00000168EFD05727 327 8d429f leal rax,[rdx-0x61]
00000168EFD0572A 32a 83f819 cmpl rax,0x19
00000168EFD0572D 32d 0f8741000000 ja 00000168EFD05774 <+0x374>
00000168EFD05733 333 4883e904 REX.W subq rcx,0x4
00000168EFD05737 337 8939 movl [rcx],rdi
00000168EFD05739 339 48897dd0 REX.W movq [rbp-0x30],rdi
00000168EFD0573D 33d 4883c702 REX.W addq rdi,0x2
00000168EFD05741 341 4883e904 REX.W subq rcx,0x4
00000168EFD05745 345 c701c7030000 movl [rcx],0x3c7
00000168EFD0574B 34b 48a1a01e9b378d010000 REX.W movq rax,(0000018D379B1EA0)
00000168EFD05755 355 483bc8 REX.W cmpq rcx,rax
00000168EFD05758 358 0f8705000000 ja 00000168EFD05763 <+0x363>
00000168EFD0575E 35e e8e8010000 call 00000168EFD0594B <+0x54b>
00000168EFD05763 363 e972feffff jmp 00000168EFD055DA <+0x1da>
00000168EFD05768 368 486339 REX.W movsxlq rdi,[rcx]
00000168EFD0576B 36b 4883c104 REX.W addq rcx,0x4
00000168EFD0576F 36f e900000000 jmp 00000168EFD05774 <+0x374>
00000168EFD05774 374 0fb7143e movzxwl rdx,[rsi+rdi*1]
00000168EFD05778 378 e9d8fcffff jmp 00000168EFD05455 <+0x55>
00000168EFD0577D 37d 48897dd0 REX.W movq [rbp-0x30],rdi
00000168EFD05781 381 4883e904 REX.W subq rcx,0x4
00000168EFD05785 385 c70107040000 movl [rcx],0x407
00000168EFD0578B 38b 48a1a01e9b378d010000 REX.W movq rax,(0000018D379B1EA0)
00000168EFD05795 395 483bc8 REX.W cmpq rcx,rax
00000168EFD05798 398 0f8705000000 ja 00000168EFD057A3 <+0x3a3>
00000168EFD0579E 39e e8a8010000 call 00000168EFD0594B <+0x54b>
00000168EFD057A3 3a3 e932feffff jmp 00000168EFD055DA <+0x1da>
00000168EFD057A8 3a8 48a158f898378d010000 REX.W movq rax,(0000018D3798F858)
00000168EFD057B2 3b2 483be0 REX.W cmpq rsp,rax
00000168EFD057B5 3b5 0f8705000000 ja 00000168EFD057C0 <+0x3c0>
00000168EFD057BB 3bb e83f010000 call 00000168EFD058FF <+0x4ff>
00000168EFD057C0 3c0 486319 REX.W movsxlq rbx,[rcx]
00000168EFD057C3 3c3 4883c104 REX.W addq rcx,0x4
00000168EFD057C7 3c7 4903d8 REX.W addq rbx,r8
00000168EFD057CA 3ca ffe3 jmp rbx
00000168EFD057CC 3cc 33c0 xorl rax,rax
00000168EFD057CE 3ce e9ff000000 jmp 00000168EFD058D2 <+0x4d2>
00000168EFD057D3 3d3 55 push rbp
00000168EFD057D4 3d4 4889e5 REX.W movq rbp,rsp
00000168EFD057D7 3d7 48894d10 REX.W movq [rbp+0x10],rcx
00000168EFD057DB 3db 48895518 REX.W movq [rbp+0x18],rdx
00000168EFD057DF 3df 4c894520 REX.W movq [rbp+0x20],r8
00000168EFD057E3 3e3 4c894d28 REX.W movq [rbp+0x28],r9
00000168EFD057E7 3e7 56 push rsi
00000168EFD057E8 3e8 57 push rdi
00000168EFD057E9 3e9 53 push rbx
00000168EFD057EA 3ea 6a00 push 0x0
00000168EFD057EC 3ec 6a00 push 0x0
00000168EFD057EE 3ee 4889e1 REX.W movq rcx,rsp
00000168EFD057F1 3f1 49ba58f898378d010000 REX.W movq r10,0000018D3798F858
00000168EFD057FB 3fb 492b0a REX.W subq rcx,[r10]
00000168EFD057FE 3fe 0f8616000000 jna 00000168EFD0581A <+0x41a>
00000168EFD05804 404 4883f910 REX.W cmpq rcx,0x10
00000168EFD05808 408 0f834b000000 jnc 00000168EFD05859 <+0x459>
00000168EFD0580E 40e 48c7c0ffffffff REX.W movq rax,0xffffffff
00000168EFD05815 415 e9b8000000 jmp 00000168EFD058D2 <+0x4d2>
00000168EFD0581A 41a 49b8a153d0ef68010000 REX.W movq r8,00000168EFD053A1 ;; object: 00000168EFD053A1 <Code REGEXP>
00000168EFD05824 424 4989e2 REX.W movq r10,rsp
00000168EFD05827 427 4883ec28 REX.W subq rsp,0x28
00000168EFD0582B 42b 4883e4f0 REX.W andq rsp,0xf0
00000168EFD0582F 42f 4c89542420 REX.W movq [rsp+0x20],r10
00000168EFD05834 434 498bd0 REX.W movq rdx,r8
00000168EFD05837 437 4c8bc5 REX.W movq r8,rbp
00000168EFD0583A 43a 488d4c24f8 REX.W leaq rcx,[rsp-0x8]
00000168EFD0583F 43f 48b8503f9533f67f0000 REX.W movq rax,00007FF633953F50
00000168EFD05849 449 ffd0 call rax
00000168EFD0584B 44b 488b642420 REX.W movq rsp,[rsp+0x20]
00000168EFD05850 450 4885c0 REX.W testq rax,rax
00000168EFD05853 453 0f8579000000 jnz 00000168EFD058D2 <+0x4d2>
00000168EFD05859 459 4883ec10 REX.W subq rsp,0x10
00000168EFD0585D 45d 488b7528 REX.W movq rsi,[rbp+0x28]
00000168EFD05861 461 488b7d20 REX.W movq rdi,[rbp+0x20]
00000168EFD05865 465 482bfe REX.W subq rdi,rsi
00000168EFD05868 468 488b5d18 REX.W movq rbx,[rbp+0x18]
00000168EFD0586C 46c 48f7db REX.W negq rbx
00000168EFD0586F 46f 488d441fff REX.W leaq rax,[rdi+rbx*1-0x1]
00000168EFD05874 474 488945d8 REX.W movq [rbp-0x28],rax
00000168EFD05878 478 49b8a153d0ef68010000 REX.W movq r8,00000168EFD053A1 ;; object: 00000168EFD053A1 <Code REGEXP>
00000168EFD05882 482 837d1800 cmpl [rbp+0x18],0x0
00000168EFD05886 486 7507 jnz 00000168EFD0588F <+0x48f>
00000168EFD05888 488 ba0a000000 movl rdx,000000000000000A
00000168EFD0588D 48d eb05 jmp 00000168EFD05894 <+0x494>
00000168EFD0588F 48f 0fb6543eff movzxbl rdx,[rsi+rdi*1-0x1]
00000168EFD05894 494 488945d0 REX.W movq [rbp-0x30],rax
00000168EFD05898 498 488945c8 REX.W movq [rbp-0x38],rax
00000168EFD0589C 49c 488b4d40 REX.W movq rcx,[rbp+0x40]
00000168EFD058A0 4a0 e960fbffff jmp 00000168EFD05405 <+0x5>
00000168EFD058A5 4a5 488b5518 REX.W movq rdx,[rbp+0x18]
00000168EFD058A9 4a9 488b5d30 REX.W movq rbx,[rbp+0x30]
00000168EFD058AD 4ad 488b4d28 REX.W movq rcx,[rbp+0x28]
00000168EFD058B1 4b1 482b4d20 REX.W subq rcx,[rbp+0x20]
00000168EFD058B5 4b5 4803ca REX.W addq rcx,rdx
00000168EFD058B8 4b8 488b45d0 REX.W movq rax,[rbp-0x30]
00000168EFD058BC 4bc 4803c1 REX.W addq rax,rcx
00000168EFD058BF 4bf 8903 movl [rbx],rax
00000168EFD058C1 4c1 488b45c8 REX.W movq rax,[rbp-0x38]
00000168EFD058C5 4c5 4803c1 REX.W addq rax,rcx
00000168EFD058C8 4c8 894304 movl [rbx+0x4],rax
00000168EFD058CB 4cb 48c7c001000000 REX.W movq rax,0x1
00000168EFD058D2 4d2 488d65e8 REX.W leaq rsp,[rbp-0x18]
00000168EFD058D6 4d6 5b pop rbx
00000168EFD058D7 4d7 5f pop rdi
00000168EFD058D8 4d8 5e pop rsi
00000168EFD058D9 4d9 5d pop rbp
00000168EFD058DA 4da c3 retl
00000168EFD058DB 4db 48a158f898378d010000 REX.W movq rax,(0000018D3798F858)
00000168EFD058E5 4e5 483be0 REX.W cmpq rsp,rax
00000168EFD058E8 4e8 0f8705000000 ja 00000168EFD058F3 <+0x4f3>
00000168EFD058EE 4ee e80c000000 call 00000168EFD058FF <+0x4ff>
00000168EFD058F3 4f3 486319 REX.W movsxlq rbx,[rcx]
00000168EFD058F6 4f6 4883c104 REX.W addq rcx,0x4
00000168EFD058FA 4fa 4903d8 REX.W addq rbx,r8
00000168EFD058FD 4fd ffe3 jmp rbx
00000168EFD058FF 4ff 4c290424 REX.W subq [rsp],r8
00000168EFD05903 503 51 push rcx
00000168EFD05904 504 57 push rdi
00000168EFD05905 505 4989e2 REX.W movq r10,rsp
00000168EFD05908 508 4883ec28 REX.W subq rsp,0x28
00000168EFD0590C 50c 4883e4f0 REX.W andq rsp,0xf0
00000168EFD05910 510 4c89542420 REX.W movq [rsp+0x20],r10
00000168EFD05915 515 498bd0 REX.W movq rdx,r8
00000168EFD05918 518 4c8bc5 REX.W movq r8,rbp
00000168EFD0591B 51b 488d4c24f8 REX.W leaq rcx,[rsp-0x8]
00000168EFD05920 520 48b8503f9533f67f0000 REX.W movq rax,00007FF633953F50
00000168EFD0592A 52a ffd0 call rax
00000168EFD0592C 52c 488b642420 REX.W movq rsp,[rsp+0x20]
00000168EFD05931 531 4885c0 REX.W testq rax,rax
00000168EFD05934 534 759c jnz 00000168EFD058D2 <+0x4d2>
00000168EFD05936 536 49b8a153d0ef68010000 REX.W movq r8,00000168EFD053A1 ;; object: 00000168EFD053A1 <Code REGEXP>
00000168EFD05940 540 5f pop rdi
00000168EFD05941 541 59 pop rcx
00000168EFD05942 542 488b7528 REX.W movq rsi,[rbp+0x28]
00000168EFD05946 546 4c010424 REX.W addq [rsp],r8
00000168EFD0594A 54a c3 retl
00000168EFD0594B 54b 4c290424 REX.W subq [rsp],r8
00000168EFD0594F 54f 4989e2 REX.W movq r10,rsp
00000168EFD05952 552 4883ec28 REX.W subq rsp,0x28
00000168EFD05956 556 4883e4f0 REX.W andq rsp,0xf0
00000168EFD0595A 55a 4c89542420 REX.W movq [rsp+0x20],r10
00000168EFD0595F 55f 488d5540 REX.W leaq rdx,[rbp+0x40]
00000168EFD05963 563 49b890df98378d010000 REX.W movq r8,0000018D3798DF90
00000168EFD0596D 56d 48b830dca733f67f0000 REX.W movq rax,00007FF633A7DC30
00000168EFD05977 577 ffd0 call rax
00000168EFD05979 579 488b642420 REX.W movq rsp,[rsp+0x20]
00000168EFD0597E 57e 4885c0 REX.W testq rax,rax
00000168EFD05981 581 0f8412000000 jz 00000168EFD05999 <+0x599>
00000168EFD05987 587 488bc8 REX.W movq rcx,rax
00000168EFD0598A 58a 49b8a153d0ef68010000 REX.W movq r8,00000168EFD053A1 ;; object: 00000168EFD053A1 <Code REGEXP>
00000168EFD05994 594 4c010424 REX.W addq [rsp],r8
00000168EFD05998 598 c3 retl
00000168EFD05999 599 48c7c0ffffffff REX.W movq rax,0xffffffff
00000168EFD059A0 5a0 e92dffffff jmp 00000168EFD058D2 <+0x4d2>
RelocInfo (size = 12)
00000168EFD0581C embedded object (00000168EFD053A1 <Code REGEXP>)
00000168EFD0587A embedded object (00000168EFD053A1 <Code REGEXP>)
00000168EFD05938 embedded object (00000168EFD053A1 <Code REGEXP>)
00000168EFD0598C embedded object (00000168EFD053A1 <Code REGEXP>)
--- Raw source ---
(exports, require, module, __filename, __dirname) { var x;
for(var i = 0; i < 0x13322; i++){
x+=i;
}
void 0;
})
--- Optimized code ---
optimization_id = 0
source_position = 10
kind = OPTIMIZED_FUNCTION
stack_slots = 12
compiler = turbofan
Instructions (size = 388)
00000168EFD05BC0 0 55 push rbp
00000168EFD05BC1 1 4889e5 REX.W movq rbp,rsp
00000168EFD05BC4 4 56 push rsi
00000168EFD05BC5 5 57 push rdi
00000168EFD05BC6 6 48ba0000000076000000 REX.W movq rdx,0000007600000000
00000168EFD05BD0 10 e8cb58ecff call 00000168EFBCB4A0 (Abort) ;; code: BUILTIN
00000168EFD05BD5 15 cc int3l
00000168EFD05BD6 16 4883ec18 REX.W subq rsp,0x18
00000168EFD05BDA 1a 488975b8 REX.W movq [rbp-0x48],rsi
00000168EFD05BDE 1e 488b45d0 REX.W movq rax,[rbp-0x30]
00000168EFD05BE2 22 a801 test al,0x1
00000168EFD05BE4 24 0f8513010000 jnz 00000168EFD05CFD <+0x13d>
00000168EFD05BEA 2a 48bb0000000022330100 REX.W movq rbx,0001332200000000
00000168EFD05BF4 34 483bc3 REX.W cmpq rax,rbx
00000168EFD05BF7 37 0f8dad000000 jge 00000168EFD05CAA <+0xea>
00000168EFD05BFD 3d 493ba5e00c0000 REX.W cmpq rsp,[r13+0xce0]
00000168EFD05C04 44 0f86ab000000 jna 00000168EFD05CB5 <+0xf5>
00000168EFD05C0A 4a 488b5dd8 REX.W movq rbx,[rbp-0x28]
00000168EFD05C0E 4e f6c301 testb rbx,0x1
00000168EFD05C11 51 0f8422000000 jz 00000168EFD05C39 <+0x79>
00000168EFD05C17 57 488b53ff REX.W movq rdx,[rbx-0x1]
00000168EFD05C1B 5b 49395550 REX.W cmpq [r13+0x50],rdx
00000168EFD05C1F 5f 0f840a000000 jz 00000168EFD05C2F <+0x6f>
00000168EFD05C25 65 807a0b82 cmpb [rdx+0xb],0x82
00000168EFD05C29 69 0f85d3000000 jnz 00000168EFD05D02 <+0x142>
00000168EFD05C2F 6f c5fb104307 vmovsd xmm0,[rbx+0x7]
00000168EFD05C34 74 e90f000000 jmp 00000168EFD05C48 <+0x88>
00000168EFD05C39 79 488bd3 REX.W movq rdx,rbx
00000168EFD05C3C 7c 48c1ea20 REX.W shrq rdx, 32
00000168EFD05C40 80 c5f957c0 vxorpd xmm0,xmm0,xmm0
00000168EFD05C44 84 c5fb2ac2 vcvtlsi2sd xmm0,xmm0,rdx
00000168EFD05C48 88 488bd0 REX.W movq rdx,rax
00000168EFD05C4B 8b 48c1ea20 REX.W shrq rdx, 32
00000168EFD05C4F 8f c5f157c9 vxorpd xmm1,xmm1,xmm1
00000168EFD05C53 93 c5f32aca vcvtlsi2sd xmm1,xmm1,rdx
00000168EFD05C57 97 c5fb58c1 vaddsd xmm0,xmm0,xmm1
00000168EFD05C5B 9b 83eaff subl rdx,0xff
00000168EFD05C5E 9e 0f80a3000000 jo 00000168EFD05D07 <+0x147>
00000168EFD05C64 a4 6666660f1f840000000000 nop
00000168EFD05C6F af 90 nop
00000168EFD05C70 b0 81fa22330100 cmpl rdx,0x13322
00000168EFD05C76 b6 0f8d2e000000 jge 00000168EFD05CAA <+0xea>
00000168EFD05C7C bc 493ba5e00c0000 REX.W cmpq rsp,[r13+0xce0]
00000168EFD05C83 c3 0f864a000000 jna 00000168EFD05CD3 <+0x113>
00000168EFD05C89 c9 c5f157c9 vxorpd xmm1,xmm1,xmm1
00000168EFD05C8D cd c5f32aca vcvtlsi2sd xmm1,xmm1,rdx
00000168EFD05C91 d1 c5fb58c9 vaddsd xmm1,xmm0,xmm1
00000168EFD05C95 d5 488bc2 REX.W movq rax,rdx
00000168EFD05C98 d8 83e8ff subl rax,0xff
00000168EFD05C9B db 0f806b000000 jo 00000168EFD05D0C <+0x14c>
00000168EFD05CA1 e1 c5f928c1 vmovapd xmm0,xmm1
00000168EFD05CA5 e5 488bd0 REX.W movq rdx,rax
00000168EFD05CA8 e8 ebc6 jmp 00000168EFD05C70 <+0xb0>
00000168EFD05CAA ea 498b45a0 REX.W movq rax,[r13-0x60]
00000168EFD05CAE ee 488be5 REX.W movq rsp,rbp
00000168EFD05CB1 f1 5d pop rbp
00000168EFD05CB2 f2 c23000 ret 0x30
00000168EFD05CB5 f5 48bb50c77133f67f0000 REX.W movq rbx,00007FF63371C750
00000168EFD05CBF ff 33c0 xorl rax,rax
00000168EFD05CC1 101 488b75b8 REX.W movq rsi,[rbp-0x48]
00000168EFD05CC5 105 e896e6e7ff call 00000168EFB84360 ;; code: STUB, CEntryStub, minor: 8
00000168EFD05CCA 10a 488b45d0 REX.W movq rax,[rbp-0x30]
00000168EFD05CCE 10e e937ffffff jmp 00000168EFD05C0A <+0x4a>
00000168EFD05CD3 113 488955c0 REX.W movq [rbp-0x40],rdx
00000168EFD05CD7 117 c5fb1145b0 vmovsd [rbp-0x50],xmm0
00000168EFD05CDC 11c 48bb50c77133f67f0000 REX.W movq rbx,00007FF63371C750
00000168EFD05CE6 126 33c0 xorl rax,rax
00000168EFD05CE8 128 488b75b8 REX.W movq rsi,[rbp-0x48]
00000168EFD05CEC 12c e86fe6e7ff call 00000168EFB84360 ;; code: STUB, CEntryStub, minor: 8
00000168EFD05CF1 131 c5fb1045b0 vmovsd xmm0,[rbp-0x50]
00000168EFD05CF6 136 488b55c0 REX.W movq rdx,[rbp-0x40]
00000168EFD05CFA 13a eb8d jmp 00000168EFD05C89 <+0xc9>
00000168EFD05CFC 13c 90 nop
00000168EFD05CFD 13d e8fee2cfff call 00000168EFA04000 ;; deoptimization bailout 0
00000168EFD05D02 142 e803e3cfff call 00000168EFA0400A ;; deoptimization bailout 1
00000168EFD05D07 147 e808e3cfff call 00000168EFA04014 ;; deoptimization bailout 2
00000168EFD05D0C 14c e80de3cfff call 00000168EFA0401E ;; deoptimization bailout 3
00000168EFD05D11 151 e812e3d7ff call 00000168EFA84028 ;; lazy deoptimization bailout 4
00000168EFD05D16 156 e817e3d7ff call 00000168EFA84032 ;; lazy deoptimization bailout 5
00000168EFD05D1B 15b 90 nop
Source positions:
pc offset position
113 70
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 6)
index bytecode-offset pc
0 10 NA
1 10 NA
2 10 NA
3 10 NA
4 15 10a
5 15 131
Safepoints (size = 40)
00000168EFD05CCA 10a 151 010011000000 (sp -> fp) 4
00000168EFD05CF1 131 156 010000000000 (sp -> fp) 5
RelocInfo (size = 17)
00000168EFD05BD1 code target (BUILTIN) (00000168EFBCB4A0)
00000168EFD05CC6 code target (STUB) (00000168EFB84360)
00000168EFD05CED code target (STUB) (00000168EFB84360)
00000168EFD05CFE runtime entry (deoptimization bailout 0)
00000168EFD05D03 runtime entry (deoptimization bailout 1)
00000168EFD05D08 runtime entry (deoptimization bailout 2)
00000168EFD05D0D runtime entry (deoptimization bailout 3)
00000168EFD05D12 runtime entry
00000168EFD05D17 runtime entry
--- End code ---
......@@ -13,12 +13,12 @@ Reactivity.prototype = {
fn: null,
emit: function() {
TaskManager.add(()=>{
this.scope.setKey(this.key, this.fn.apply(this.scope, this.args));
this.scope._setKey(this.key, 0, this.fn.apply(this.scope, this.args), this.scope.state, this.scope.setters);
});
}
};
let jobSwap = [];
export const TaskManager = {
jobs: [],
active: false,
......@@ -31,7 +31,9 @@ export const TaskManager = {
},
work: function() {
const jobs = TaskManager.jobs;
TaskManager.jobs = [];
TaskManager.jobs = jobSwap;
jobSwap.length = 0;
jobSwap = jobs;
TaskManager.active = false;
for (let i = 0, _i = jobs.length; i < _i; i++) {
......@@ -116,19 +118,48 @@ Reactive.prototype = {
return obj;
},
set: function (obj) {
for (let key in obj)
this.setKey(key, obj[key]);
set: function (obj, statePtr, settersPtr) {
let state, setters, key;
if(statePtr === void 0){
state = this.state;
setters = this.setters;
}else{
state = statePtr;
setters = settersPtr;
}
for (key in obj)
this._setKey(key.split('.'), 0, obj[key], state, setters);
},
afterSetKey: function (key, val, lastVal) {
},
beforeSetKey: function (key, val, lastVal) {
return val;
},
setKey: function (key, val) {
const lastVal = this.state[key];
if (lastVal === val)
_setKey: function (key, keyCursor, val, state, setters) {
let valueKey;
const theKey = key[keyCursor];
let lastVal = state[theKey];
if(key.length>keyCursor+1){
// Deeper
if(typeof state[theKey] !== 'object'){
state[theKey] = lastVal = {};
}
return this._setKey(key, keyCursor + 1, val, lastVal, setters[theKey] || {});
}
const isObjectVal = typeof val === 'object';
if (lastVal === val && !isObjectVal){
return null;
}
if (val instanceof Reactivity) {
val.scope = this;
val.key = key;
......@@ -136,20 +167,32 @@ Reactive.prototype = {
return true;
}
val = this.beforeSetKey(key, val, lastVal);
this.state[key] = val;
if (key in this.setters) {
if(typeof this.setters[key] === 'function'){
this.setters[ key ].call( this, this, val, lastVal );
}else{
val = this.beforeSetKey(theKey, val, lastVal);
state[theKey] = val;
if (theKey in setters) {
if(typeof setters[theKey] === 'function'){
setters[ theKey ].call( this, this, val, lastVal );
}else{
if(isObjectVal){
if(typeof lastVal !== 'object'){
state[theKey] = lastVal = {};
}
// TODO if lastVal is not reactive => make it
for (valueKey in val){
this._setKey(key.concat(valueKey), keyCursor + 1, val[valueKey], lastVal, setters[theKey] || {})
}
return true;
}
}
} else {
this.afterSetKey(key, val, lastVal);
this.afterSetKey(theKey, val, lastVal);
}
this.fire(key, val, lastVal);
this.fire(theKey, val, lastVal);
return true;
}
};
......@@ -181,7 +224,13 @@ Object.assign(Component.prototype, {
tree: null,
setters: {
dangerouslySetInnerHTML: (_, htmlText) => _.el.innerHTML = htmlText,
text: (_, val) => _.el.innerText = val
text: (_, val) => _.el.innerText = val,
style: (_, val)=>{
var style = _.el.style;
for(var i in val){
style[i] = val[i];
}
}
},
render: function () {
......
......@@ -43,16 +43,14 @@ class UIComponent extends Component {
}
};
setters = {
hidden: (_, val) => _.el.style.display = val ? 'block' : 'none'
}
}
hidden: (_, val) => _.el.style.display = val ? 'block' : 'none',
style: (_, val)=>{
class Input extends UIComponent {
def = {
value: null
}
}
}
class Check extends UIComponent {
setters = {
value: (_, val)=>{
......@@ -67,20 +65,30 @@ class Check extends UIComponent {
};
render(){
this.check = <input type="checkbox"/>;
this.set({value: R(this.check.on('checked'))})
this.check.on('click', ()=>{console.log('lalka')} );
this.label = <span>456</span>;
return <div>{this.check}{this.label}</div>
return <label>{this.check}{this.label}</label>
}
}
class Slider extends UIComponent {
render(){
return <div class="slider" style={{background: 'red'}}>
</div>;
}
}
//R(()=>i.on('text'))
//
let chhh = <Check value={false} label={{text: R(()=>i.on('text'))}}/>;
console.log(chhh);
<div className='wrapper'>
<Check value={true} label={{text: 'Ti pidor'}}/>
<Check value={false}/>
<Check value={true} label={{text: 'Ti pidor'}} hidden={R(()=>chhh.on('value'))}/>
{chhh}
<Check value={R(()=>chhh.on('value'))}/>
{item = <Item/>}
{btn = <Button onClick={function(e,b,c){
item.checkbox.set({checked: !item.checkbox.state.checked})
......@@ -88,6 +96,7 @@ class Check extends UIComponent {
<Item/>
<Item />
{but}
<Slider/>
</div>.renderTo(document.body);
let counter = 0;
......@@ -102,7 +111,7 @@ setTimeout(()=>{
//debugger;
but.set({
text: R(but.on('text'), (v1)=>{
return (v1-0)+1
return (v1-0)+148
})
});
}, 100);
......
var x;
for(var i = 0; i < 0x13322; i++){
x+=i;
}
void 0;
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment