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

Side by Side Diff: src/crankshaft/ppc/lithium-ppc.cc

Issue 2640793004: Revert remove dead hole check logic (Closed)
Patch Set: Revert "[crankshaft] Fix mips/mips64 build: remove unused variable" and "[crankshaft] Remove dead Variable hole-checking code" Created 3 years, 11 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/crankshaft/ppc/lithium-codegen-ppc.cc ('k') | src/crankshaft/s390/lithium-codegen-s390.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/crankshaft/ppc/lithium-ppc.h" 5 #include "src/crankshaft/ppc/lithium-ppc.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "src/crankshaft/hydrogen-osr.h" 9 #include "src/crankshaft/hydrogen-osr.h"
10 #include "src/crankshaft/lithium-inl.h" 10 #include "src/crankshaft/lithium-inl.h"
(...skipping 1932 matching lines...) Expand 10 before | Expand all | Expand 10 after
1943 return DefineAsRegister(new (zone()) LConstantT); 1943 return DefineAsRegister(new (zone()) LConstantT);
1944 } else { 1944 } else {
1945 UNREACHABLE(); 1945 UNREACHABLE();
1946 return NULL; 1946 return NULL;
1947 } 1947 }
1948 } 1948 }
1949 1949
1950 1950
1951 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { 1951 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) {
1952 LOperand* context = UseRegisterAtStart(instr->value()); 1952 LOperand* context = UseRegisterAtStart(instr->value());
1953 return DefineAsRegister(new (zone()) LLoadContextSlot(context)); 1953 LInstruction* result =
1954 DefineAsRegister(new (zone()) LLoadContextSlot(context));
1955 if (instr->RequiresHoleCheck() && instr->DeoptimizesOnHole()) {
1956 result = AssignEnvironment(result);
1957 }
1958 return result;
1954 } 1959 }
1955 1960
1956 1961
1957 LInstruction* LChunkBuilder::DoStoreContextSlot(HStoreContextSlot* instr) { 1962 LInstruction* LChunkBuilder::DoStoreContextSlot(HStoreContextSlot* instr) {
1958 LOperand* context; 1963 LOperand* context;
1959 LOperand* value; 1964 LOperand* value;
1960 if (instr->NeedsWriteBarrier()) { 1965 if (instr->NeedsWriteBarrier()) {
1961 context = UseTempRegister(instr->context()); 1966 context = UseTempRegister(instr->context());
1962 value = UseTempRegister(instr->value()); 1967 value = UseTempRegister(instr->value());
1963 } else { 1968 } else {
1964 context = UseRegister(instr->context()); 1969 context = UseRegister(instr->context());
1965 value = UseRegister(instr->value()); 1970 value = UseRegister(instr->value());
1966 } 1971 }
1967 return new (zone()) LStoreContextSlot(context, value); 1972 LInstruction* result = new (zone()) LStoreContextSlot(context, value);
1973 if (instr->RequiresHoleCheck() && instr->DeoptimizesOnHole()) {
1974 result = AssignEnvironment(result);
1975 }
1976 return result;
1968 } 1977 }
1969 1978
1970 1979
1971 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) { 1980 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) {
1972 LOperand* obj = UseRegisterAtStart(instr->object()); 1981 LOperand* obj = UseRegisterAtStart(instr->object());
1973 return DefineAsRegister(new (zone()) LLoadNamedField(obj)); 1982 return DefineAsRegister(new (zone()) LLoadNamedField(obj));
1974 } 1983 }
1975 1984
1976 1985
1977 LInstruction* LChunkBuilder::DoLoadFunctionPrototype( 1986 LInstruction* LChunkBuilder::DoLoadFunctionPrototype(
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
2352 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { 2361 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) {
2353 LOperand* object = UseRegister(instr->object()); 2362 LOperand* object = UseRegister(instr->object());
2354 LOperand* index = UseTempRegister(instr->index()); 2363 LOperand* index = UseTempRegister(instr->index());
2355 LLoadFieldByIndex* load = new (zone()) LLoadFieldByIndex(object, index); 2364 LLoadFieldByIndex* load = new (zone()) LLoadFieldByIndex(object, index);
2356 LInstruction* result = DefineSameAsFirst(load); 2365 LInstruction* result = DefineSameAsFirst(load);
2357 return AssignPointerMap(result); 2366 return AssignPointerMap(result);
2358 } 2367 }
2359 2368
2360 } // namespace internal 2369 } // namespace internal
2361 } // namespace v8 2370 } // namespace v8
OLDNEW
« no previous file with comments | « src/crankshaft/ppc/lithium-codegen-ppc.cc ('k') | src/crankshaft/s390/lithium-codegen-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698