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

Side by Side Diff: src/code-stubs-hydrogen.cc

Issue 316023002: --debug-code: sanity-checking instrumentation for Lithium object accesses (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 6 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 | « no previous file | src/hydrogen.h » ('j') | src/hydrogen.cc » ('J')
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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/code-stubs.h" 7 #include "src/code-stubs.h"
8 #include "src/hydrogen.h" 8 #include "src/hydrogen.h"
9 #include "src/lithium.h" 9 #include "src/lithium.h"
10 10
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 return DoGenerateCode(this); 551 return DoGenerateCode(this);
552 } 552 }
553 553
554 554
555 HLoadNamedField* CodeStubGraphBuilderBase::BuildLoadNamedField( 555 HLoadNamedField* CodeStubGraphBuilderBase::BuildLoadNamedField(
556 HValue* object, 556 HValue* object,
557 Representation representation, 557 Representation representation,
558 int offset, 558 int offset,
559 bool is_inobject) { 559 bool is_inobject) {
560 HObjectAccess access = is_inobject 560 HObjectAccess access = is_inobject
561 ? HObjectAccess::ForObservableJSObjectOffset(offset, representation) 561 ? HObjectAccess::ForObservableJSObjectOffset(offset,
562 HObjectAccess::FOR_FIELD,
563 representation)
562 : HObjectAccess::ForBackingStoreOffset(offset, representation); 564 : HObjectAccess::ForBackingStoreOffset(offset, representation);
563 if (representation.IsDouble()) { 565 if (representation.IsDouble()) {
564 // Load the heap number. 566 // Load the heap number.
565 object = Add<HLoadNamedField>( 567 object = Add<HLoadNamedField>(
566 object, static_cast<HValue*>(NULL), 568 object, static_cast<HValue*>(NULL),
567 access.WithRepresentation(Representation::Tagged())); 569 access.WithRepresentation(Representation::Tagged()));
568 // Load the double value from it. 570 // Load the double value from it.
569 access = HObjectAccess::ForHeapNumberValue(); 571 access = HObjectAccess::ForHeapNumberValue();
570 } 572 }
571 return Add<HLoadNamedField>(object, static_cast<HValue*>(NULL), access); 573 return Add<HLoadNamedField>(object, static_cast<HValue*>(NULL), access);
(...skipping 842 matching lines...) Expand 10 before | Expand all | Expand 10 after
1414 return BuildRegExpConstructResult(length, index, input); 1416 return BuildRegExpConstructResult(length, index, input);
1415 } 1417 }
1416 1418
1417 1419
1418 Handle<Code> RegExpConstructResultStub::GenerateCode() { 1420 Handle<Code> RegExpConstructResultStub::GenerateCode() {
1419 return DoGenerateCode(this); 1421 return DoGenerateCode(this);
1420 } 1422 }
1421 1423
1422 1424
1423 } } // namespace v8::internal 1425 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/hydrogen.h » ('j') | src/hydrogen.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698