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

Side by Side Diff: src/full-codegen/full-codegen.cc

Issue 1894953004: Add HasProperty code stub that tries simple lookups or jumps to runtime otherwise. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebasing Created 4 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
« no previous file with comments | « src/full-codegen/full-codegen.h ('k') | src/full-codegen/ia32/full-codegen-ia32.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 // 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/full-codegen/full-codegen.h" 5 #include "src/full-codegen/full-codegen.h"
6 6
7 #include "src/ast/ast-numbering.h" 7 #include "src/ast/ast-numbering.h"
8 #include "src/ast/ast.h" 8 #include "src/ast/ast.h"
9 #include "src/ast/prettyprinter.h" 9 #include "src/ast/prettyprinter.h"
10 #include "src/ast/scopeinfo.h" 10 #include "src/ast/scopeinfo.h"
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 602
603 void FullCodeGenerator::EmitToObject(CallRuntime* expr) { 603 void FullCodeGenerator::EmitToObject(CallRuntime* expr) {
604 EmitIntrinsicAsStubCall(expr, CodeFactory::ToObject(isolate())); 604 EmitIntrinsicAsStubCall(expr, CodeFactory::ToObject(isolate()));
605 } 605 }
606 606
607 607
608 void FullCodeGenerator::EmitRegExpConstructResult(CallRuntime* expr) { 608 void FullCodeGenerator::EmitRegExpConstructResult(CallRuntime* expr) {
609 EmitIntrinsicAsStubCall(expr, CodeFactory::RegExpConstructResult(isolate())); 609 EmitIntrinsicAsStubCall(expr, CodeFactory::RegExpConstructResult(isolate()));
610 } 610 }
611 611
612 void FullCodeGenerator::EmitHasProperty() {
613 Callable callable = CodeFactory::HasProperty(isolate());
614 PopOperand(callable.descriptor().GetRegisterParameter(1));
615 PopOperand(callable.descriptor().GetRegisterParameter(0));
616 __ Call(callable.code(), RelocInfo::CODE_TARGET);
617 RestoreContext();
618 }
612 619
613 bool RecordStatementPosition(MacroAssembler* masm, int pos) { 620 bool RecordStatementPosition(MacroAssembler* masm, int pos) {
614 if (pos == RelocInfo::kNoPosition) return false; 621 if (pos == RelocInfo::kNoPosition) return false;
615 masm->positions_recorder()->RecordStatementPosition(pos); 622 masm->positions_recorder()->RecordStatementPosition(pos);
616 masm->positions_recorder()->RecordPosition(pos); 623 masm->positions_recorder()->RecordPosition(pos);
617 return masm->positions_recorder()->WriteRecordedPositions(); 624 return masm->positions_recorder()->WriteRecordedPositions();
618 } 625 }
619 626
620 627
621 bool RecordPosition(MacroAssembler* masm, int pos) { 628 bool RecordPosition(MacroAssembler* masm, int pos) {
(...skipping 1314 matching lines...) Expand 10 before | Expand all | Expand 10 after
1936 return var->scope()->is_nonlinear() || 1943 return var->scope()->is_nonlinear() ||
1937 var->initializer_position() >= proxy->position(); 1944 var->initializer_position() >= proxy->position();
1938 } 1945 }
1939 1946
1940 1947
1941 #undef __ 1948 #undef __
1942 1949
1943 1950
1944 } // namespace internal 1951 } // namespace internal
1945 } // namespace v8 1952 } // namespace v8
OLDNEW
« no previous file with comments | « src/full-codegen/full-codegen.h ('k') | src/full-codegen/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698