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

Side by Side Diff: src/mips/stub-cache-mips.cc

Issue 1320006: Updates and fixes for MIPS support. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 26 matching lines...) Expand all
37 #define __ ACCESS_MASM(masm) 37 #define __ ACCESS_MASM(masm)
38 38
39 39
40 void StubCache::GenerateProbe(MacroAssembler* masm, 40 void StubCache::GenerateProbe(MacroAssembler* masm,
41 Code::Flags flags, 41 Code::Flags flags,
42 Register receiver, 42 Register receiver,
43 Register name, 43 Register name,
44 Register scratch, 44 Register scratch,
45 Register extra) { 45 Register extra) {
46 UNIMPLEMENTED_MIPS(); 46 UNIMPLEMENTED_MIPS();
47 __ break_(__LINE__);
47 } 48 }
48 49
49 50
50 void StubCompiler::GenerateLoadGlobalFunctionPrototype(MacroAssembler* masm, 51 void StubCompiler::GenerateLoadGlobalFunctionPrototype(MacroAssembler* masm,
51 int index, 52 int index,
52 Register prototype) { 53 Register prototype) {
53 UNIMPLEMENTED_MIPS(); 54 UNIMPLEMENTED_MIPS();
55 __ break_(__LINE__);
54 } 56 }
55 57
56 58
57 // Load a fast property out of a holder object (src). In-object properties 59 // Load a fast property out of a holder object (src). In-object properties
58 // are loaded directly otherwise the property is loaded from the properties 60 // are loaded directly otherwise the property is loaded from the properties
59 // fixed array. 61 // fixed array.
60 void StubCompiler::GenerateFastPropertyLoad(MacroAssembler* masm, 62 void StubCompiler::GenerateFastPropertyLoad(MacroAssembler* masm,
61 Register dst, Register src, 63 Register dst, Register src,
62 JSObject* holder, int index) { 64 JSObject* holder, int index) {
63 UNIMPLEMENTED_MIPS(); 65 UNIMPLEMENTED_MIPS();
66 __ break_(__LINE__);
64 } 67 }
65 68
66 69
67 void StubCompiler::GenerateLoadArrayLength(MacroAssembler* masm, 70 void StubCompiler::GenerateLoadArrayLength(MacroAssembler* masm,
68 Register receiver, 71 Register receiver,
69 Register scratch, 72 Register scratch,
70 Label* miss_label) { 73 Label* miss_label) {
71 UNIMPLEMENTED_MIPS(); 74 UNIMPLEMENTED_MIPS();
75 __ break_(__LINE__);
72 } 76 }
73 77
74 78
75 void StubCompiler::GenerateLoadFunctionPrototype(MacroAssembler* masm, 79 void StubCompiler::GenerateLoadFunctionPrototype(MacroAssembler* masm,
76 Register receiver, 80 Register receiver,
77 Register scratch1, 81 Register scratch1,
78 Register scratch2, 82 Register scratch2,
79 Label* miss_label) { 83 Label* miss_label) {
80 UNIMPLEMENTED_MIPS(); 84 UNIMPLEMENTED_MIPS();
85 __ break_(__LINE__);
81 } 86 }
82 87
83 88
84 // Generate StoreField code, value is passed in r0 register. 89 // Generate StoreField code, value is passed in a0 register.
85 // After executing generated code, the receiver_reg and name_reg 90 // After executing generated code, the receiver_reg and name_reg
86 // may be clobbered. 91 // may be clobbered.
87 void StubCompiler::GenerateStoreField(MacroAssembler* masm, 92 void StubCompiler::GenerateStoreField(MacroAssembler* masm,
88 JSObject* object, 93 JSObject* object,
89 int index, 94 int index,
90 Map* transition, 95 Map* transition,
91 Register receiver_reg, 96 Register receiver_reg,
92 Register name_reg, 97 Register name_reg,
93 Register scratch, 98 Register scratch,
94 Label* miss_label) { 99 Label* miss_label) {
(...skipping 12 matching lines...) Expand all
107 112
108 void StubCompiler::GenerateLoadField(JSObject* object, 113 void StubCompiler::GenerateLoadField(JSObject* object,
109 JSObject* holder, 114 JSObject* holder,
110 Register receiver, 115 Register receiver,
111 Register scratch1, 116 Register scratch1,
112 Register scratch2, 117 Register scratch2,
113 int index, 118 int index,
114 String* name, 119 String* name,
115 Label* miss) { 120 Label* miss) {
116 UNIMPLEMENTED_MIPS(); 121 UNIMPLEMENTED_MIPS();
122 __ break_(__LINE__);
117 } 123 }
118 124
119 125
120 void StubCompiler::GenerateLoadConstant(JSObject* object, 126 void StubCompiler::GenerateLoadConstant(JSObject* object,
121 JSObject* holder, 127 JSObject* holder,
122 Register receiver, 128 Register receiver,
123 Register scratch1, 129 Register scratch1,
124 Register scratch2, 130 Register scratch2,
125 Object* value, 131 Object* value,
126 String* name, 132 String* name,
127 Label* miss) { 133 Label* miss) {
128 UNIMPLEMENTED_MIPS(); 134 UNIMPLEMENTED_MIPS();
135 __ break_(__LINE__);
129 } 136 }
130 137
131 138
132 bool StubCompiler::GenerateLoadCallback(JSObject* object, 139 bool StubCompiler::GenerateLoadCallback(JSObject* object,
133 JSObject* holder, 140 JSObject* holder,
134 Register receiver, 141 Register receiver,
135 Register name_reg, 142 Register name_reg,
136 Register scratch1, 143 Register scratch1,
137 Register scratch2, 144 Register scratch2,
138 AccessorInfo* callback, 145 AccessorInfo* callback,
139 String* name, 146 String* name,
140 Label* miss, 147 Label* miss,
141 Failure** failure) { 148 Failure** failure) {
142 UNIMPLEMENTED_MIPS(); 149 UNIMPLEMENTED_MIPS();
143 __ break_(0x470); 150 __ break_(__LINE__);
144 return false; // UNIMPLEMENTED RETURN 151 return false; // UNIMPLEMENTED RETURN
145 } 152 }
146 153
147 154
148 void StubCompiler::GenerateLoadInterceptor(JSObject* object, 155 void StubCompiler::GenerateLoadInterceptor(JSObject* object,
149 JSObject* holder, 156 JSObject* holder,
150 LookupResult* lookup, 157 LookupResult* lookup,
151 Register receiver, 158 Register receiver,
152 Register name_reg, 159 Register name_reg,
153 Register scratch1, 160 Register scratch1,
154 Register scratch2, 161 Register scratch2,
155 String* name, 162 String* name,
156 Label* miss) { 163 Label* miss) {
157 UNIMPLEMENTED_MIPS(); 164 UNIMPLEMENTED_MIPS();
158 __ break_(0x505); 165 __ break_(__LINE__);
159 } 166 }
160 167
161 168
162 Object* StubCompiler::CompileLazyCompile(Code::Flags flags) { 169 Object* StubCompiler::CompileLazyCompile(Code::Flags flags) {
163 // Registers: 170 // Registers:
164 // a1: function 171 // a1: function
165 // ra: return address 172 // ra: return address
166 173
167 // Enter an internal frame. 174 // Enter an internal frame.
168 __ EnterInternalFrame(); 175 __ EnterInternalFrame();
(...skipping 17 matching lines...) Expand all
186 193
187 return GetCodeWithFlags(flags, "LazyCompileStub"); 194 return GetCodeWithFlags(flags, "LazyCompileStub");
188 } 195 }
189 196
190 197
191 Object* CallStubCompiler::CompileCallField(JSObject* object, 198 Object* CallStubCompiler::CompileCallField(JSObject* object,
192 JSObject* holder, 199 JSObject* holder,
193 int index, 200 int index,
194 String* name) { 201 String* name) {
195 UNIMPLEMENTED_MIPS(); 202 UNIMPLEMENTED_MIPS();
203 __ break_(__LINE__);
196 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 204 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
197 } 205 }
198 206
199 207
200 Object* CallStubCompiler::CompileArrayPushCall(Object* object, 208 Object* CallStubCompiler::CompileArrayPushCall(Object* object,
201 JSObject* holder, 209 JSObject* holder,
202 JSFunction* function, 210 JSFunction* function,
203 String* name, 211 String* name,
204 CheckType check) { 212 CheckType check) {
205 UNIMPLEMENTED_MIPS(); 213 UNIMPLEMENTED_MIPS();
214 __ break_(__LINE__);
206 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 215 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
207 } 216 }
208 217
209 218
210 Object* CallStubCompiler::CompileArrayPopCall(Object* object, 219 Object* CallStubCompiler::CompileArrayPopCall(Object* object,
211 JSObject* holder, 220 JSObject* holder,
212 JSFunction* function, 221 JSFunction* function,
213 String* name, 222 String* name,
214 CheckType check) { 223 CheckType check) {
215 UNIMPLEMENTED_MIPS(); 224 UNIMPLEMENTED_MIPS();
225 __ break_(__LINE__);
216 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 226 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
217 } 227 }
218 228
219 229
220 Object* CallStubCompiler::CompileCallConstant(Object* object, 230 Object* CallStubCompiler::CompileCallConstant(Object* object,
221 JSObject* holder, 231 JSObject* holder,
222 JSFunction* function, 232 JSFunction* function,
223 String* name, 233 String* name,
224 CheckType check) { 234 CheckType check) {
225 UNIMPLEMENTED_MIPS(); 235 UNIMPLEMENTED_MIPS();
236 __ break_(__LINE__);
226 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 237 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
227 } 238 }
228 239
229 240
230 Object* CallStubCompiler::CompileCallInterceptor(JSObject* object, 241 Object* CallStubCompiler::CompileCallInterceptor(JSObject* object,
231 JSObject* holder, 242 JSObject* holder,
232 String* name) { 243 String* name) {
233 UNIMPLEMENTED_MIPS(); 244 UNIMPLEMENTED_MIPS();
234 __ break_(0x782); 245 __ break_(__LINE__);
235 return GetCode(INTERCEPTOR, name); 246 return GetCode(INTERCEPTOR, name);
236 } 247 }
237 248
238 249
239 Object* CallStubCompiler::CompileCallGlobal(JSObject* object, 250 Object* CallStubCompiler::CompileCallGlobal(JSObject* object,
240 GlobalObject* holder, 251 GlobalObject* holder,
241 JSGlobalPropertyCell* cell, 252 JSGlobalPropertyCell* cell,
242 JSFunction* function, 253 JSFunction* function,
243 String* name) { 254 String* name) {
244 UNIMPLEMENTED_MIPS(); 255 UNIMPLEMENTED_MIPS();
245 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 256 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
246 } 257 }
247 258
248 259
249 Object* StoreStubCompiler::CompileStoreField(JSObject* object, 260 Object* StoreStubCompiler::CompileStoreField(JSObject* object,
250 int index, 261 int index,
251 Map* transition, 262 Map* transition,
252 String* name) { 263 String* name) {
253 UNIMPLEMENTED_MIPS(); 264 UNIMPLEMENTED_MIPS();
254 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 265 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
255 } 266 }
256 267
257 268
258 Object* StoreStubCompiler::CompileStoreCallback(JSObject* object, 269 Object* StoreStubCompiler::CompileStoreCallback(JSObject* object,
259 AccessorInfo* callback, 270 AccessorInfo* callback,
260 String* name) { 271 String* name) {
261 UNIMPLEMENTED_MIPS(); 272 UNIMPLEMENTED_MIPS();
262 __ break_(0x906); 273 __ break_(__LINE__);
263 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 274 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
264 } 275 }
265 276
266 277
267 Object* StoreStubCompiler::CompileStoreInterceptor(JSObject* receiver, 278 Object* StoreStubCompiler::CompileStoreInterceptor(JSObject* receiver,
268 String* name) { 279 String* name) {
269 UNIMPLEMENTED_MIPS(); 280 UNIMPLEMENTED_MIPS();
281 __ break_(__LINE__);
270 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 282 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
271 } 283 }
272 284
273 285
274 Object* StoreStubCompiler::CompileStoreGlobal(GlobalObject* object, 286 Object* StoreStubCompiler::CompileStoreGlobal(GlobalObject* object,
275 JSGlobalPropertyCell* cell, 287 JSGlobalPropertyCell* cell,
276 String* name) { 288 String* name) {
277 UNIMPLEMENTED_MIPS(); 289 UNIMPLEMENTED_MIPS();
278 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 290 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
279 } 291 }
280 292
281 293
282 Object* LoadStubCompiler::CompileLoadField(JSObject* object, 294 Object* LoadStubCompiler::CompileLoadField(JSObject* object,
283 JSObject* holder, 295 JSObject* holder,
284 int index, 296 int index,
285 String* name) { 297 String* name) {
286 UNIMPLEMENTED_MIPS(); 298 UNIMPLEMENTED_MIPS();
299 __ break_(__LINE__);
287 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 300 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
288 } 301 }
289 302
290 303
291 Object* LoadStubCompiler::CompileLoadCallback(String* name, 304 Object* LoadStubCompiler::CompileLoadCallback(String* name,
292 JSObject* object, 305 JSObject* object,
293 JSObject* holder, 306 JSObject* holder,
294 AccessorInfo* callback) { 307 AccessorInfo* callback) {
295 UNIMPLEMENTED_MIPS(); 308 UNIMPLEMENTED_MIPS();
309 __ break_(__LINE__);
296 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 310 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
297 } 311 }
298 312
299 313
300 Object* LoadStubCompiler::CompileLoadConstant(JSObject* object, 314 Object* LoadStubCompiler::CompileLoadConstant(JSObject* object,
301 JSObject* holder, 315 JSObject* holder,
302 Object* value, 316 Object* value,
303 String* name) { 317 String* name) {
304 UNIMPLEMENTED_MIPS(); 318 UNIMPLEMENTED_MIPS();
319 __ break_(__LINE__);
305 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 320 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
306 } 321 }
307 322
308 323
309 Object* LoadStubCompiler::CompileLoadInterceptor(JSObject* object, 324 Object* LoadStubCompiler::CompileLoadInterceptor(JSObject* object,
310 JSObject* holder, 325 JSObject* holder,
311 String* name) { 326 String* name) {
312 UNIMPLEMENTED_MIPS(); 327 UNIMPLEMENTED_MIPS();
328 __ break_(__LINE__);
313 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 329 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
314 } 330 }
315 331
316 332
317 Object* LoadStubCompiler::CompileLoadGlobal(JSObject* object, 333 Object* LoadStubCompiler::CompileLoadGlobal(JSObject* object,
318 GlobalObject* holder, 334 GlobalObject* holder,
319 JSGlobalPropertyCell* cell, 335 JSGlobalPropertyCell* cell,
320 String* name, 336 String* name,
321 bool is_dont_delete) { 337 bool is_dont_delete) {
322 UNIMPLEMENTED_MIPS(); 338 UNIMPLEMENTED_MIPS();
323 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 339 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
324 } 340 }
325 341
326 342
327 Object* KeyedLoadStubCompiler::CompileLoadField(String* name, 343 Object* KeyedLoadStubCompiler::CompileLoadField(String* name,
328 JSObject* receiver, 344 JSObject* receiver,
329 JSObject* holder, 345 JSObject* holder,
330 int index) { 346 int index) {
331 UNIMPLEMENTED_MIPS(); 347 UNIMPLEMENTED_MIPS();
348 __ break_(__LINE__);
332 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 349 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
333 } 350 }
334 351
335 352
336 Object* KeyedLoadStubCompiler::CompileLoadCallback(String* name, 353 Object* KeyedLoadStubCompiler::CompileLoadCallback(String* name,
337 JSObject* receiver, 354 JSObject* receiver,
338 JSObject* holder, 355 JSObject* holder,
339 AccessorInfo* callback) { 356 AccessorInfo* callback) {
340 UNIMPLEMENTED_MIPS(); 357 UNIMPLEMENTED_MIPS();
358 __ break_(__LINE__);
341 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 359 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
342 } 360 }
343 361
344 362
345 Object* KeyedLoadStubCompiler::CompileLoadConstant(String* name, 363 Object* KeyedLoadStubCompiler::CompileLoadConstant(String* name,
346 JSObject* receiver, 364 JSObject* receiver,
347 JSObject* holder, 365 JSObject* holder,
348 Object* value) { 366 Object* value) {
349 UNIMPLEMENTED_MIPS(); 367 UNIMPLEMENTED_MIPS();
368 __ break_(__LINE__);
350 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 369 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
351 } 370 }
352 371
353 372
354 Object* KeyedLoadStubCompiler::CompileLoadInterceptor(JSObject* receiver, 373 Object* KeyedLoadStubCompiler::CompileLoadInterceptor(JSObject* receiver,
355 JSObject* holder, 374 JSObject* holder,
356 String* name) { 375 String* name) {
357 UNIMPLEMENTED_MIPS(); 376 UNIMPLEMENTED_MIPS();
377 __ break_(__LINE__);
358 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 378 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
359 } 379 }
360 380
361 381
362 Object* KeyedLoadStubCompiler::CompileLoadArrayLength(String* name) { 382 Object* KeyedLoadStubCompiler::CompileLoadArrayLength(String* name) {
363 UNIMPLEMENTED_MIPS(); 383 UNIMPLEMENTED_MIPS();
384 __ break_(__LINE__);
364 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 385 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
365 } 386 }
366 387
367 388
368 Object* KeyedLoadStubCompiler::CompileLoadStringLength(String* name) { 389 Object* KeyedLoadStubCompiler::CompileLoadStringLength(String* name) {
369 UNIMPLEMENTED_MIPS(); 390 UNIMPLEMENTED_MIPS();
391 __ break_(__LINE__);
370 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 392 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
371 } 393 }
372 394
373 395
374 // TODO(1224671): implement the fast case. 396 // TODO(1224671): implement the fast case.
375 Object* KeyedLoadStubCompiler::CompileLoadFunctionPrototype(String* name) { 397 Object* KeyedLoadStubCompiler::CompileLoadFunctionPrototype(String* name) {
376 UNIMPLEMENTED_MIPS(); 398 UNIMPLEMENTED_MIPS();
399 __ break_(__LINE__);
377 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 400 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
378 } 401 }
379 402
380 403
381 Object* KeyedStoreStubCompiler::CompileStoreField(JSObject* object, 404 Object* KeyedStoreStubCompiler::CompileStoreField(JSObject* object,
382 int index, 405 int index,
383 Map* transition, 406 Map* transition,
384 String* name) { 407 String* name) {
385 UNIMPLEMENTED_MIPS(); 408 UNIMPLEMENTED_MIPS();
409 __ break_(__LINE__);
386 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 410 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
387 } 411 }
388 412
389 413
390 Object* ConstructStubCompiler::CompileConstructStub( 414 Object* ConstructStubCompiler::CompileConstructStub(
391 SharedFunctionInfo* shared) { 415 SharedFunctionInfo* shared) {
392 UNIMPLEMENTED_MIPS(); 416 UNIMPLEMENTED_MIPS();
393 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN 417 return reinterpret_cast<Object*>(NULL); // UNIMPLEMENTED RETURN
394 } 418 }
395 419
396 420
397 #undef __ 421 #undef __
398 422
399 } } // namespace v8::internal 423 } } // namespace v8::internal
400 424
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698