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

Side by Side Diff: src/lithium.cc

Issue 12225099: Remove prototype checks for leaf maps in optimized code. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rename "dependent codes" and add comment. Created 7 years, 10 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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 454 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 } 465 }
466 } 466 }
467 } 467 }
468 #ifdef VERIFY_HEAP 468 #ifdef VERIFY_HEAP
469 // This disables verification of weak embedded maps after full GC. 469 // This disables verification of weak embedded maps after full GC.
470 // AddDependentCode can cause a GC, which would observe the state where 470 // AddDependentCode can cause a GC, which would observe the state where
471 // this code is not yet in the depended code lists of the embedded maps. 471 // this code is not yet in the depended code lists of the embedded maps.
472 NoWeakEmbeddedMapsVerificationScope disable_verification_of_embedded_maps; 472 NoWeakEmbeddedMapsVerificationScope disable_verification_of_embedded_maps;
473 #endif 473 #endif
474 for (int i = 0; i < maps.length(); i++) { 474 for (int i = 0; i < maps.length(); i++) {
475 maps.at(i)->AddDependentCode(DependentCodes::kWeaklyEmbeddedGroup, code); 475 maps.at(i)->AddDependentCode(DependentCode::kWeaklyEmbeddedGroup, code);
476 } 476 }
477 } 477 }
478 478
479 479
480 void LChunk::set_allocated_double_registers(BitVector* allocated_registers) { 480 void LChunk::set_allocated_double_registers(BitVector* allocated_registers) {
481 allocated_double_registers_ = allocated_registers; 481 allocated_double_registers_ = allocated_registers;
482 BitVector* doubles = allocated_double_registers(); 482 BitVector* doubles = allocated_double_registers();
483 BitVector::Iterator iterator(doubles); 483 BitVector::Iterator iterator(doubles);
484 while (!iterator.Done()) { 484 while (!iterator.Done()) {
485 if (info()->saves_caller_doubles()) { 485 if (info()->saves_caller_doubles()) {
486 if (kDoubleSize == kPointerSize * 2) { 486 if (kDoubleSize == kPointerSize * 2) {
487 spill_slot_count_ += 2; 487 spill_slot_count_ += 2;
488 } else { 488 } else {
489 spill_slot_count_++; 489 spill_slot_count_++;
490 } 490 }
491 } 491 }
492 iterator.Advance(); 492 iterator.Advance();
493 } 493 }
494 } 494 }
495 495
496 496
497 } } // namespace v8::internal 497 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698