Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: test/cctest/interpreter/bytecode_expectations/LookupSlot.golden

Issue 2347143002: [interpreter] Add fast path for dynamic global lookups (Closed)
Patch Set: Fix bytecode operand documentation Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # 1 #
2 # Autogenerated by generate-bytecode-expectations. 2 # Autogenerated by generate-bytecode-expectations.
3 # 3 #
4 4
5 --- 5 ---
6 execute: yes 6 execute: yes
7 wrap: yes 7 wrap: yes
8 test function name: f 8 test function name: f
9 9
10 --- 10 ---
11 snippet: " 11 snippet: "
12 eval('var x = 10;'); return x; 12 eval('var x = 10;'); return x;
13 " 13 "
14 frame size: 10 14 frame size: 10
15 parameter count: 1 15 parameter count: 1
16 bytecode array length: 71 16 bytecode array length: 73
17 bytecodes: [ 17 bytecodes: [
18 B(CreateFunctionContext), U8(3), 18 B(CreateFunctionContext), U8(3),
19 B(PushContext), R(0), 19 B(PushContext), R(0),
20 B(Ldar), R(this), 20 B(Ldar), R(this),
21 B(StaContextSlot), R(context), U8(4), U8(0), 21 B(StaContextSlot), R(context), U8(4), U8(0),
22 B(CreateMappedArguments), 22 B(CreateMappedArguments),
23 B(StaContextSlot), R(context), U8(6), U8(0), 23 B(StaContextSlot), R(context), U8(6), U8(0),
24 B(Ldar), R(new_target), 24 B(Ldar), R(new_target),
25 B(StaContextSlot), R(context), U8(5), U8(0), 25 B(StaContextSlot), R(context), U8(5), U8(0),
26 /* 10 E> */ B(StackCheck), 26 /* 10 E> */ B(StackCheck),
27 /* 14 S> */ B(LdaConstant), U8(0), 27 /* 14 S> */ B(LdaConstant), U8(0),
28 B(Star), R(3), 28 B(Star), R(3),
29 B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3 ), U8(1), R(1), 29 B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3 ), U8(1), R(1),
30 B(LdaConstant), U8(1), 30 B(LdaConstant), U8(1),
31 B(Star), R(3), 31 B(Star), R(3),
32 B(LdaZero), 32 B(LdaZero),
33 B(Star), R(7), 33 B(Star), R(7),
34 B(LdaSmi), U8(10), 34 B(LdaSmi), U8(10),
35 B(Star), R(8), 35 B(Star), R(8),
36 B(LdaSmi), U8(14), 36 B(LdaSmi), U8(14),
37 B(Star), R(9), 37 B(Star), R(9),
38 B(Mov), R(1), R(4), 38 B(Mov), R(1), R(4),
39 B(Mov), R(3), R(5), 39 B(Mov), R(3), R(5),
40 B(Mov), R(closure), R(6), 40 B(Mov), R(closure), R(6),
41 B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6), 41 B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
42 B(Star), R(1), 42 B(Star), R(1),
43 /* 14 E> */ B(Call), R(1), R(2), U8(2), U8(0), 43 /* 14 E> */ B(Call), R(1), R(2), U8(2), U8(0),
44 /* 35 S> */ B(LdaLookupSlot), U8(2), 44 /* 35 S> */ B(LdaLookupGlobalSlot), U8(2), U8(4), U8(1),
45 /* 45 S> */ B(Return), 45 /* 45 S> */ B(Return),
46 ] 46 ]
47 constant pool: [ 47 constant pool: [
48 ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"], 48 ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
49 ONE_BYTE_INTERNALIZED_STRING_TYPE ["var x = 10;"], 49 ONE_BYTE_INTERNALIZED_STRING_TYPE ["var x = 10;"],
50 ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], 50 ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
51 ] 51 ]
52 handlers: [ 52 handlers: [
53 ] 53 ]
54 54
55 --- 55 ---
56 snippet: " 56 snippet: "
57 eval('var x = 10;'); return typeof x; 57 eval('var x = 10;'); return typeof x;
58 " 58 "
59 frame size: 10 59 frame size: 10
60 parameter count: 1 60 parameter count: 1
61 bytecode array length: 72 61 bytecode array length: 74
62 bytecodes: [ 62 bytecodes: [
63 B(CreateFunctionContext), U8(3), 63 B(CreateFunctionContext), U8(3),
64 B(PushContext), R(0), 64 B(PushContext), R(0),
65 B(Ldar), R(this), 65 B(Ldar), R(this),
66 B(StaContextSlot), R(context), U8(4), U8(0), 66 B(StaContextSlot), R(context), U8(4), U8(0),
67 B(CreateMappedArguments), 67 B(CreateMappedArguments),
68 B(StaContextSlot), R(context), U8(6), U8(0), 68 B(StaContextSlot), R(context), U8(6), U8(0),
69 B(Ldar), R(new_target), 69 B(Ldar), R(new_target),
70 B(StaContextSlot), R(context), U8(5), U8(0), 70 B(StaContextSlot), R(context), U8(5), U8(0),
71 /* 10 E> */ B(StackCheck), 71 /* 10 E> */ B(StackCheck),
72 /* 14 S> */ B(LdaConstant), U8(0), 72 /* 14 S> */ B(LdaConstant), U8(0),
73 B(Star), R(3), 73 B(Star), R(3),
74 B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3 ), U8(1), R(1), 74 B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3 ), U8(1), R(1),
75 B(LdaConstant), U8(1), 75 B(LdaConstant), U8(1),
76 B(Star), R(3), 76 B(Star), R(3),
77 B(LdaZero), 77 B(LdaZero),
78 B(Star), R(7), 78 B(Star), R(7),
79 B(LdaSmi), U8(10), 79 B(LdaSmi), U8(10),
80 B(Star), R(8), 80 B(Star), R(8),
81 B(LdaSmi), U8(14), 81 B(LdaSmi), U8(14),
82 B(Star), R(9), 82 B(Star), R(9),
83 B(Mov), R(1), R(4), 83 B(Mov), R(1), R(4),
84 B(Mov), R(3), R(5), 84 B(Mov), R(3), R(5),
85 B(Mov), R(closure), R(6), 85 B(Mov), R(closure), R(6),
86 B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6), 86 B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
87 B(Star), R(1), 87 B(Star), R(1),
88 /* 14 E> */ B(Call), R(1), R(2), U8(2), U8(0), 88 /* 14 E> */ B(Call), R(1), R(2), U8(2), U8(0),
89 /* 35 S> */ B(LdaLookupSlotInsideTypeof), U8(2), 89 /* 35 S> */ B(LdaLookupGlobalSlotInsideTypeof), U8(2), U8(4), U8(1),
90 B(TypeOf), 90 B(TypeOf),
91 /* 52 S> */ B(Return), 91 /* 52 S> */ B(Return),
92 ] 92 ]
93 constant pool: [ 93 constant pool: [
94 ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"], 94 ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
95 ONE_BYTE_INTERNALIZED_STRING_TYPE ["var x = 10;"], 95 ONE_BYTE_INTERNALIZED_STRING_TYPE ["var x = 10;"],
96 ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], 96 ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
97 ] 97 ]
98 handlers: [ 98 handlers: [
99 ] 99 ]
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 /* 76 S> */ B(Return), 187 /* 76 S> */ B(Return),
188 ] 188 ]
189 constant pool: [ 189 constant pool: [
190 ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"], 190 ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
191 ONE_BYTE_INTERNALIZED_STRING_TYPE ["var x = 10"], 191 ONE_BYTE_INTERNALIZED_STRING_TYPE ["var x = 10"],
192 ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], 192 ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
193 ] 193 ]
194 handlers: [ 194 handlers: [
195 ] 195 ]
196 196
197 ---
198 snippet: "
199 x = 20;
200 f = function(){
201 eval('var x = 10');
202 return x;
203 }
204 f();
205 "
206 frame size: 10
207 parameter count: 1
208 bytecode array length: 73
209 bytecodes: [
210 B(CreateFunctionContext), U8(3),
211 B(PushContext), R(0),
212 B(Ldar), R(this),
213 B(StaContextSlot), R(context), U8(4), U8(0),
214 B(CreateMappedArguments),
215 B(StaContextSlot), R(context), U8(6), U8(0),
216 B(Ldar), R(new_target),
217 B(StaContextSlot), R(context), U8(5), U8(0),
218 /* 34 E> */ B(StackCheck),
219 /* 40 S> */ B(LdaConstant), U8(0),
220 B(Star), R(3),
221 B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3 ), U8(1), R(1),
222 B(LdaConstant), U8(1),
223 B(Star), R(3),
224 B(LdaZero),
225 B(Star), R(7),
226 B(LdaSmi), U8(34),
227 B(Star), R(8),
228 B(LdaSmi), U8(40),
229 B(Star), R(9),
230 B(Mov), R(1), R(4),
231 B(Mov), R(3), R(5),
232 B(Mov), R(closure), R(6),
233 B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
234 B(Star), R(1),
235 /* 40 E> */ B(Call), R(1), R(2), U8(2), U8(0),
236 /* 62 S> */ B(LdaLookupGlobalSlot), U8(2), U8(4), U8(1),
237 /* 72 S> */ B(Return),
238 ]
239 constant pool: [
240 ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
241 ONE_BYTE_INTERNALIZED_STRING_TYPE ["var x = 10"],
242 ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
243 ]
244 handlers: [
245 ]
246
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698