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

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

Issue 155763: X64: Enable more of LoadIC, disable individual stub types. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 5 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
« no previous file with comments | « src/x64/ic-x64.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 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 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 304
305 // Return the generated code. 305 // Return the generated code.
306 return GetCode(NORMAL, name); 306 return GetCode(NORMAL, name);
307 } 307 }
308 308
309 309
310 Object* LoadStubCompiler::CompileLoadCallback(JSObject* a, 310 Object* LoadStubCompiler::CompileLoadCallback(JSObject* a,
311 JSObject* b, 311 JSObject* b,
312 AccessorInfo* c, 312 AccessorInfo* c,
313 String* d) { 313 String* d) {
314 UNIMPLEMENTED(); 314 // TODO(X64): Implement a real stub.
315 return NULL; 315 return Failure::InternalError();
316 } 316 }
317 317
318 318
319 Object* LoadStubCompiler::CompileLoadConstant(JSObject* a, 319 Object* LoadStubCompiler::CompileLoadConstant(JSObject* a,
320 JSObject* b, 320 JSObject* b,
321 Object* c, 321 Object* c,
322 String* d) { 322 String* d) {
323 UNIMPLEMENTED(); 323 // TODO(X64): Implement a real stub.
324 return NULL; 324 return Failure::InternalError();
325 } 325 }
326 326
327 327
328 Object* LoadStubCompiler::CompileLoadField(JSObject* a, 328 Object* LoadStubCompiler::CompileLoadField(JSObject* a,
329 JSObject* b, 329 JSObject* b,
330 int c, 330 int c,
331 String* d) { 331 String* d) {
332 UNIMPLEMENTED(); 332 // TODO(X64): Implement a real stub.
333 return NULL; 333 return Failure::InternalError();
334 } 334 }
335 335
336 336
337 Object* LoadStubCompiler::CompileLoadInterceptor(JSObject* a, 337 Object* LoadStubCompiler::CompileLoadInterceptor(JSObject* a,
338 JSObject* b, 338 JSObject* b,
339 String* c) { 339 String* c) {
340 UNIMPLEMENTED(); 340 // TODO(X64): Implement a real stub.
341 return NULL; 341 return Failure::InternalError();
342 } 342 }
343 343
344 344
345 Object* LoadStubCompiler::CompileLoadGlobal(JSObject* object, 345 Object* LoadStubCompiler::CompileLoadGlobal(JSObject* object,
346 GlobalObject* holder, 346 GlobalObject* holder,
347 JSGlobalPropertyCell* cell, 347 JSGlobalPropertyCell* cell,
348 String* name, 348 String* name,
349 bool is_dont_delete) { 349 bool is_dont_delete) {
350 UNIMPLEMENTED(); 350 // TODO(X64): Implement a real stub.
351 return NULL; 351 return Failure::InternalError();
352 } 352 }
353 353
354 354
355 Object* StoreStubCompiler::CompileStoreCallback(JSObject* a, 355 Object* StoreStubCompiler::CompileStoreCallback(JSObject* a,
356 AccessorInfo* b, 356 AccessorInfo* b,
357 String* c) { 357 String* c) {
358 UNIMPLEMENTED(); 358 UNIMPLEMENTED();
359 return NULL; 359 return NULL;
360 } 360 }
361 361
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 int offset = holder->map()->instance_size() + (index * kPointerSize); 481 int offset = holder->map()->instance_size() + (index * kPointerSize);
482 __ movq(dst, FieldOperand(src, offset)); 482 __ movq(dst, FieldOperand(src, offset));
483 } else { 483 } else {
484 // Calculate the offset into the properties array. 484 // Calculate the offset into the properties array.
485 int offset = index * kPointerSize + FixedArray::kHeaderSize; 485 int offset = index * kPointerSize + FixedArray::kHeaderSize;
486 __ movq(dst, FieldOperand(src, JSObject::kPropertiesOffset)); 486 __ movq(dst, FieldOperand(src, JSObject::kPropertiesOffset));
487 __ movq(dst, FieldOperand(dst, offset)); 487 __ movq(dst, FieldOperand(dst, offset));
488 } 488 }
489 } 489 }
490 490
491
492 void StubCache::GenerateProbe(MacroAssembler* masm,
493 Code::Flags flags,
494 Register receiver,
495 Register name,
496 Register scratch,
497 Register extra) {
498 Label miss;
499 // TODO(X64): Probe the primary and secondary StubCache tables.
500
501 // Cache miss: Fall-through and let caller handle the miss by
502 // entering the runtime system.
503 __ bind(&miss);
504 }
505
506
491 #undef __ 507 #undef __
492 508
493 509
494 } } // namespace v8::internal 510 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/x64/ic-x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698