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

Side by Side Diff: src/hydrogen-instructions.h

Issue 236193014: Handlify AddDependentCode(), AddDependentCompilationInfo() and AddDependentIC(). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address nit Created 6 years, 8 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/hydrogen.cc ('k') | src/hydrogen-instructions.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 6583 matching lines...) Expand 10 before | Expand all | Expand 10 after
6594 HConstant::cast(transition())->handle(Isolate::Current())); 6594 HConstant::cast(transition())->handle(Isolate::Current()));
6595 } else { 6595 } else {
6596 return Handle<Map>(); 6596 return Handle<Map>();
6597 } 6597 }
6598 } 6598 }
6599 6599
6600 void SetTransition(HConstant* map_constant, CompilationInfo* info) { 6600 void SetTransition(HConstant* map_constant, CompilationInfo* info) {
6601 ASSERT(!has_transition()); // Only set once. 6601 ASSERT(!has_transition()); // Only set once.
6602 Handle<Map> map = Handle<Map>::cast(map_constant->handle(info->isolate())); 6602 Handle<Map> map = Handle<Map>::cast(map_constant->handle(info->isolate()));
6603 if (map->CanBeDeprecated()) { 6603 if (map->CanBeDeprecated()) {
6604 map->AddDependentCompilationInfo(DependentCode::kTransitionGroup, info); 6604 Map::AddDependentCompilationInfo(
6605 map, DependentCode::kTransitionGroup, info);
6605 } 6606 }
6606 SetOperandAt(2, map_constant); 6607 SetOperandAt(2, map_constant);
6607 has_transition_ = true; 6608 has_transition_ = true;
6608 } 6609 }
6609 6610
6610 bool NeedsWriteBarrier() { 6611 bool NeedsWriteBarrier() {
6611 ASSERT(!field_representation().IsDouble() || !has_transition()); 6612 ASSERT(!field_representation().IsDouble() || !has_transition());
6612 if (IsSkipWriteBarrier()) return false; 6613 if (IsSkipWriteBarrier()) return false;
6613 if (field_representation().IsDouble()) return false; 6614 if (field_representation().IsDouble()) return false;
6614 if (field_representation().IsSmi()) return false; 6615 if (field_representation().IsSmi()) return false;
(...skipping 931 matching lines...) Expand 10 before | Expand all | Expand 10 after
7546 virtual bool IsDeletable() const V8_OVERRIDE { return true; } 7547 virtual bool IsDeletable() const V8_OVERRIDE { return true; }
7547 }; 7548 };
7548 7549
7549 7550
7550 #undef DECLARE_INSTRUCTION 7551 #undef DECLARE_INSTRUCTION
7551 #undef DECLARE_CONCRETE_INSTRUCTION 7552 #undef DECLARE_CONCRETE_INSTRUCTION
7552 7553
7553 } } // namespace v8::internal 7554 } } // namespace v8::internal
7554 7555
7555 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 7556 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW
« no previous file with comments | « src/hydrogen.cc ('k') | src/hydrogen-instructions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698