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

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

Issue 293743005: Introduce x87 port (Closed) Base URL: git://github.com/v8/v8.git@master
Patch Set: Created 6 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
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 "v8.h" 5 #include "v8.h"
6 6
7 #include "code-stubs.h" 7 #include "code-stubs.h"
8 #include "hydrogen.h" 8 #include "hydrogen.h"
9 #include "lithium.h" 9 #include "lithium.h"
10 10
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 326
327 327
328 template <> 328 template <>
329 HValue* CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub() { 329 HValue* CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub() {
330 Factory* factory = isolate()->factory(); 330 Factory* factory = isolate()->factory();
331 HValue* undefined = graph()->GetConstantUndefined(); 331 HValue* undefined = graph()->GetConstantUndefined();
332 AllocationSiteMode alloc_site_mode = casted_stub()->allocation_site_mode(); 332 AllocationSiteMode alloc_site_mode = casted_stub()->allocation_site_mode();
333 333
334 // This stub is very performance sensitive, the generated code must be tuned 334 // This stub is very performance sensitive, the generated code must be tuned
335 // so that it doesn't build and eager frame. 335 // so that it doesn't build and eager frame.
336 #if !defined(V8_TARGET_ARCH_X87)
Weiliang 2014/05/20 05:44:02 x87 is more easy to spill the double register, so
Sven Panne 2014/05/20 06:21:20 Please don't introduce any platform-specific #ifde
danno 2014/05/20 08:18:55 Yes, this platform-specific define here is a no-go
Weiliang 2014/05/20 08:41:06 Yes, Thanks a lot for both of you comments. To b
danno 2014/05/20 12:23:29 I think it's fine to only support snapshot=off for
336 info()->MarkMustNotHaveEagerFrame(); 337 info()->MarkMustNotHaveEagerFrame();
338 #endif
337 339
338 HInstruction* allocation_site = Add<HLoadKeyed>(GetParameter(0), 340 HInstruction* allocation_site = Add<HLoadKeyed>(GetParameter(0),
339 GetParameter(1), 341 GetParameter(1),
340 static_cast<HValue*>(NULL), 342 static_cast<HValue*>(NULL),
341 FAST_ELEMENTS); 343 FAST_ELEMENTS);
342 IfBuilder checker(this); 344 IfBuilder checker(this);
343 checker.IfNot<HCompareObjectEqAndBranch, HValue*>(allocation_site, 345 checker.IfNot<HCompareObjectEqAndBranch, HValue*>(allocation_site,
344 undefined); 346 undefined);
345 checker.Then(); 347 checker.Then();
346 348
(...skipping 1141 matching lines...) Expand 10 before | Expand all | Expand 10 after
1488 return BuildRegExpConstructResult(length, index, input); 1490 return BuildRegExpConstructResult(length, index, input);
1489 } 1491 }
1490 1492
1491 1493
1492 Handle<Code> RegExpConstructResultStub::GenerateCode() { 1494 Handle<Code> RegExpConstructResultStub::GenerateCode() {
1493 return DoGenerateCode(this); 1495 return DoGenerateCode(this);
1494 } 1496 }
1495 1497
1496 1498
1497 } } // namespace v8::internal 1499 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698