chunyang.dai
f7e92b037b
X87: split api call stubs into accessor and function call stubs
...
port 6950ead0b0
original commit message:
split api call stubs into accessor and function call stubs
BUG=
Review URL: https://codereview.chromium.org/860593002
Cr-Commit-Position: refs/heads/master@{#26122}
2015-01-19 05:06:38 +00:00
cdai2
1b3490adab
X87: ES6 computed property names
...
port 74e38e34b3
.
original commit message:
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and classes.
This is a revert of the revert, 7d48fd9dc2
.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/825593004
Cr-Commit-Position: refs/heads/master@{#26090}
2015-01-16 05:25:18 +00:00
jarin
ac04d777d6
[turbofan] Allow deoptimization for JSToNumber operator.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/841443004
Cr-Commit-Position: refs/heads/master@{#26053}
2015-01-14 13:09:32 +00:00
jochen
0959123e57
Remove "extra checks"
...
Instead, just use DCHECKs. The builders that want them in release mode
should already be useding dcheck_always_on anyways
BUG=none
R=machenbach@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/841083002
Cr-Commit-Position: refs/heads/master@{#26001}
2015-01-08 16:29:39 +00:00
ulan
eff42215f0
Use weak cell in monomorphic KeyedStore IC.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/817873003
Cr-Commit-Position: refs/heads/master@{#25923}
2014-12-22 13:38:17 +00:00
chunyang.dai
b4302150b1
X87: fix one test case failure under debug mode.
...
This issue is exposed by CL https://codereview.chromium.org/807273003 .
The DeoptimizeIf(...) function will generate more Assembler code and the
distance between the link point and the bind point is larger then near
link distance (127) for labels.
BUG=
Review URL: https://codereview.chromium.org/820963002
Cr-Commit-Position: refs/heads/master@{#25914}
2014-12-22 07:04:47 +00:00
chunyang.dai
ab7622a094
X87: [turbofan] Remove the no-context hack for JSToNumber.
...
port d211608a3e
original commit message:
[turbofan] Remove the no-context hack for JSToNumber.
The ToNumberStub is now able to handle all plain primitives (Numbers,
Booleans, Null, Undefined and Strings) without context access.
BUG=
Review URL: https://codereview.chromium.org/810683002
Cr-Commit-Position: refs/heads/master@{#25833}
2014-12-16 07:14:00 +00:00
Michael Stanton
22302b5179
Hydrogen code stubs for vector-based ICs.
...
This patch finally allows running and passing tests with vector-based
Load and KeyedLoad ICs.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/767743002
Cr-Commit-Position: refs/heads/master@{#25800}
2014-12-12 13:56:35 +00:00
svenpanne
71bb00e261
Consistently use only one of virtual/OVERRIDE/FINAL.
...
FINAL implies OVERRIDE, which in turn implies virtual, so there's no need to use
more than one of these. The Google C++ style guide even requires this, see
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance .
While we're here, port r24662 to x87.
The net result is that v8 compiles again with a current clang.
BUG=v8:3753
LOG=y
Review URL: https://codereview.chromium.org/797943002
Cr-Commit-Position: refs/heads/master@{#25792}
2014-12-12 10:44:25 +00:00
ulan
35ff259b63
Refactor Map::ConstructionCount.
...
This combines Map::DoneInobjectSlackTracking and Map::ConstructionCount into one more generic 4-bit counter.
Counter values from 15 down to 8 are used for in-object slack tracking, values from 7 down to 0 are free to be used for a new counter when in-object slack tracking is inactive.
Review URL: https://codereview.chromium.org/767253002
Cr-Commit-Position: refs/heads/master@{#25689}
2014-12-05 15:28:22 +00:00
mstarzinger
aae8fe7550
Cleanup deoptimizer relocation slot preparation.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/782703002
Cr-Commit-Position: refs/heads/master@{#25680}
2014-12-05 13:02:13 +00:00
cdai2
ed95aaaba4
X87: Use weak cells to embed maps in store handler.
...
port 3fc9c9b665
original commit message:
Use weak cells to embed maps in store handler.
BUG=v8:3629
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/779843002
Cr-Commit-Position: refs/heads/master@{#25649}
2014-12-04 04:32:07 +00:00
ulan
2ac522ab15
Reland parts of 'Use weak cells in map checks in polymorphic ICs'
...
This relands macroassembler instructions and weak cell caching and
does not include parts that caused "Linux ASan LSan" test failures.
BUG=v8:3663
LOG=N
Review URL: https://codereview.chromium.org/764003003
Cr-Commit-Position: refs/heads/master@{#25615}
2014-12-02 14:25:26 +00:00
machenbach
d9c83f6bd0
Revert of Use weak cells in map checks in polymorphic ICs. (patchset #8 id:140001 of https://codereview.chromium.org/753993003/ )
...
Reason for revert:
[Sheriff] Speculative revert for breaking chromium asan (roll blocker):
http://build.chromium.org/p/client.v8/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/1683
Original issue's description:
> Use weak cells in map checks in polymorphic ICs.
>
> BUG=v8:3663
> LOG=N
TBR=mvstanton@chromium.org ,akos.palfi@imgtec.com,weiliang.lin@intel.com,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3663
Review URL: https://codereview.chromium.org/771033003
Cr-Commit-Position: refs/heads/master@{#25597}
2014-12-02 08:17:05 +00:00
ulan
45a36948e1
Use weak cells in map checks in polymorphic ICs.
...
BUG=v8:3663
LOG=N
Review URL: https://codereview.chromium.org/753993003
Cr-Commit-Position: refs/heads/master@{#25581}
2014-12-01 10:41:14 +00:00
Chunyang Dai
f89acb647f
X87: harmony-scoping: make assignment to 'const' a late error.
...
port 6ac4de87a8
original commit message:
harmony-scoping: make assignment to 'const' a late error.
Per TC39 Nov 2014 decision. This patch also changes behavior for "legacy const":
assignments to sloppy const in strict mode is now also a type error. This fixes
v8:2243 and also brings us in compliance with other engines re assignment to function
names (see updated webkit test), but might have bigger implications. That change can
easily be reverted by changing Variable::IsSignallingAssignmentToConst.
BUG=
R=dslomov@chromium.org , weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/763033002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25532}
2014-11-27 07:10:51 +00:00
mstarzinger
7aad1d2e42
Revert "Remove deprecated ShouldSelfOptimize machinery."
...
This reverts commit 9da92c1a33
because of performance regressions.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/752613002
Cr-Commit-Position: refs/heads/master@{#25467}
2014-11-21 17:28:38 +00:00
mstarzinger
9da92c1a33
Remove deprecated ShouldSelfOptimize machinery.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/582683002
Cr-Commit-Position: refs/heads/master@{#25459}
2014-11-21 11:23:52 +00:00
Michael Stanton
cfa1f94781
Revert "Re-land r25392 Use a stub in crankshaft for grow store arrays."
...
Due to performance issue.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/735323002
Cr-Commit-Position: refs/heads/master@{#25421}
2014-11-19 14:08:43 +00:00
ishell
f3d1888fdb
PropertyDetails cleanup: NORMAL property type merged with FIELD.
...
First step towards replacing PropertyType with two enums: {DATA,ACCESSOR} x {CONST,WRITABLE}.
Review URL: https://codereview.chromium.org/733253004
Cr-Commit-Position: refs/heads/master@{#25417}
2014-11-19 11:45:34 +00:00
chunyang.dai
b3176392b9
X87: Re-land r25392 Use a stub in crankshaft for grow store arrays.
...
port 47f55baeaf
(r25397)
original commit message:
Re-land r25392 Use a stub in crankshaft for grow store arrays.
Code was vulnerable to different evaluation order in Clang.
BUG=
Review URL: https://codereview.chromium.org/739823002
Cr-Commit-Position: refs/heads/master@{#25414}
2014-11-19 09:28:17 +00:00
Chunyang Dai
c10ab10105
X87: Leaving a generator via an exception causes it to close
...
port 24a7ee877e1fe2ba0a52d69061946aeda7c26c10 (r25297)
original commit message:
Leaving a generator via an exception causes it to close
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/724643002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25316}
2014-11-13 09:00:15 +00:00
dslomov@chromium.org
eacdfa0b7a
Various clean-ups after top-level lexical declarations are done.
...
1. Global{Context,Scope}=>Script{Context,Scope}
2. Enable fixed tests
3. Update comments
R=rossberg@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/716833002
Cr-Commit-Position: refs/heads/master@{#25291}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 11:35:18 +00:00
weiliang.lin@intel.com
5e8399cbca
X87: ES6: Add support for super in object literals
...
port 721ff07f5901a9bf9ccacf0356a2c10dc452f32d (r25271).
original commit message:
ES6: Add support for super in object literals
This only available under --harmony-classes
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/716973004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25280}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 08:33:09 +00:00
yangguo@chromium.org
4fd9ba9042
Reland "Fix stepping in for-loops."
...
BUG=v8:3634
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/688243005
Cr-Commit-Position: refs/heads/master@{#25279}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 08:26:42 +00:00
jkummerow@chromium.org
d3b68cf370
Fix has_constant_parameter_count() confusion in LReturn
...
BUG=chromium:431602
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/714663002
Cr-Commit-Position: refs/heads/master@{#25249}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 15:25:50 +00:00
yangguo@chromium.org
4a6d092fdf
Revert "Fix stepping in for-loops."
...
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/713813002
Cr-Commit-Position: refs/heads/master@{#25233}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 09:36:16 +00:00
yangguo@chromium.org
3bed0a171a
Fix stepping in for-loops.
...
R=ulan@chromium.org
BUG=v8:3634
LOG=N
Review URL: https://codereview.chromium.org/682413004
Cr-Commit-Position: refs/heads/master@{#25231}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 09:08:11 +00:00
weiliang.lin@intel.com
50a829b3cf
X87: Try avoiding MISS for callic monomorphic case.
...
port 6412c8ba70f2331aae0f21b968dd051b2320b947 (r25207)
original commit message:
Try avoiding MISS for callic monomorphic case.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/713743003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25230}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 05:51:14 +00:00
weiliang.lin@intel.com
406fa443e7
X87: Turn ToNumberStub into a PlatformCodeStub again.
...
port b6737c56eaf51d63ab83b6529f657c15f834623c (r25187)
original commit message:
Turn ToNumberStub into a PlatformCodeStub again.
The HydrogenCodeStub is too expensive and there's no easy way to reduce
this cost, so turning it into a PlatformCodeStub solves that problem until
we can use TurboFan for code stubs.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/714573003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25227}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 04:53:43 +00:00
weiliang.lin@intel.com
28d6001c05
X87: fix one GC issue.
...
The incorrect parameter number is set when recording safepoint.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/716463003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25226}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 04:47:42 +00:00
weiliang.lin@intel.com
813b071b30
Set the FPU precision control to double-precision.
...
The default double precision control of FPU is extended double-precision.
While the number definition for JavaScript is double-precision. We use
the FPU control word to set the doulbe precision and replace the original
solution which store the data to memory and load it again.
This patch also fixes the error that Sunspider 1.0.2 can not run with V8 if
sse2 support is disabled.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/700053003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25125}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 06:21:50 +00:00
weiliang.lin@intel.com
c12a127fae
X87: [turbofan] Add AllocateHeapNumberStub to avoid runtime call.
...
port ee95552f291d3c1fff78bc4f8d8621e84976e5c9 (r25107)
original commit message:
[turbofan] Add AllocateHeapNumberStub to avoid runtime call.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/701033002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25124}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 06:10:37 +00:00
weiliang.lin@intel.com
120d9d521a
X87: EmitCreateIteratorResult loads map from function's context
...
port r24987
original commit message:
EmitCreateIteratorResult loads map from function's context
Caching or serialization can cause full-codegen output to be shared
between contexts. CreateIteratorResult, however, was doing the wrong
thing by creating results with the map that was current when the code
was generated. Instead, we should chase pointers to load the right map
from the function's context.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/674073004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25000}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 03:46:19 +00:00
weiliang.lin@intel.com
b4981c69f1
X87: Classes: Add super support in methods and accessors
...
port r24976.
original commit message:
Classes: Add super support in methods and accessors
This is done by installing the [[HomeObject]] on the method and the
accessor functions.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/687273005
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#24999}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 02:01:45 +00:00
yangguo@chromium.org
a51f05b6df
Reland "X87: Classes: Add basic support for properties."
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/687163003
Cr-Commit-Position: refs/heads/master@{#24967}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 09:24:42 +00:00
yangguo@chromium.org
439b24777c
Revert "X87: Classes: Add basic support for properties."
...
This reverts r24964.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/689593002
Cr-Commit-Position: refs/heads/master@{#24965}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 09:02:42 +00:00
weiliang.lin@intel.com
7bda975e6a
X87: Classes: Add basic support for properties.
...
commit r24934.
original commit message:
This adds the properties to the prototype and the constructor.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/682123004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#24963}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 08:01:40 +00:00
weiliang.lin@intel.com
73ef8581ff
X87: Use shared function info for eval cache key.
...
port r24927.
original commit message:
Use shared function info for eval cache key.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/689543002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#24961}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 07:20:13 +00:00
jarin@chromium.org
23df66ee24
Add more missing deopts
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/639883002
Cr-Commit-Position: refs/heads/master@{#24886}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-26 10:25:48 +00:00
weiliang.lin@intel.com
70a11f5697
X87: Classes: implement 'new super'.
...
port r24825.
original commit message:
Classes: implement 'new super'.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/663233003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 07:34:20 +00:00
adamk@chromium.org
98e0eac76f
Speed up creation of Objects whose prototype has dictionary elements
...
This speeds up both the case from the bug (using Object.create) but also
takes care ofthe "{ __proto__: obj }" syntax, which was previously (and
erroneously) being treated the same as setting the prototype dynamically
from script using the __proto__ setter or Object.setPrototypeOf.
BUG=chromium:422754
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/667253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 18:16:35 +00:00
dslomov@chromium.org
af97f09b94
Spread the knowledge!
...
R=arv@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/670623005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 08:06:43 +00:00
weiliang.lin@intel.com
1306839894
X87: vector-based ICs did not update type feedback counts correctly.
...
port r24732.
original commit message:
vector-based ICs did not update type feedback counts correctly.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/669823002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 08:28:00 +00:00
weiliang.lin@intel.com
d367c25c85
X87: ReceiverCheckMode needs to be utilized further.
...
port r24704.
original commit message:
ReceiverCheckMode needs to be utilized further.
The parameter wasn't being passed appropriately, and there was an extra
opportunity to use mode RECEIVER_IS_STRING in SubStringStub.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/664973002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 04:12:53 +00:00
weiliang.lin@intel.com
66febc0aa0
X87: Tick processor: Print C++ entry points.
...
port r24700.
original commit message:
Tick processor: Print C++ entry points
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/662323002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 04:06:06 +00:00
weiliang.lin@intel.com
48a7db0609
X87: Implement the new semantics for 'super(...)'
...
original commit message:
Implement the new semantics for 'super(...)'
Per the latest ES6 draft, super(...) translates into a call
to function's prototype.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/642603006
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 02:00:50 +00:00
weiliang.lin@intel.com
4b7c0c05c5
X87: Make disassembler string tables read-only.
...
port r24672.
original commit message:
Move them from .data to .rodata.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/654263006
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 01:58:46 +00:00
weiliang.lin@intel.com
d8ae78539f
X87: Eliminate special keyed load string stub in favor of uniform handlers
...
port r24661.
original commit message:
Eliminate special keyed load string stub in favor of uniform handlers.
KeyedLoadIC installs a special case if the receiver is a string.
Although there are several maps for strings, in practice we seem to
be able to treat them individually because a given KeyedLoad site
only sees 1-2 string types
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/643783005
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 05:23:14 +00:00
weiliang.lin@intel.com
ef6ffa2a01
X87: Implement inline %_IsJSProxy() for full codegen and Hydrogen.
...
port r24636.
original commit message:
Implement inline %_IsJSProxy() for full codegen and Hydrogen
Saving a runtime call for many builtin functions.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/657273002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 06:24:47 +00:00
weiliang.lin@intel.com
c704369eab
X87: Support for super assignments in for..in.
...
port r24560.
original commit message:
Support for super assignments in for..in.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/653823002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 02:55:29 +00:00
rmcilroy@chromium.org
08941c0140
Refactor FrameAndConstantPoolScope and ConstantPoolUnavailableScope to be architecture independent
...
Move the FrameAndConstantPoolScope and ConstantPoolUnavailableScope out of the arm architecture directory to enable them to be used on all architectures.
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/609843002
Patch from André Baixo <baixo@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 14:41:33 +00:00
weiliang.lin@intel.com
52e156a866
X87: Introduce FeedbackVectorSlot type - better than int.
...
port r24528.
original commit message:
Introduce FeedbackVectorSlot type - better than int.
It's good to have typing around this value.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/645323002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 01:54:44 +00:00
weiliang.lin@intel.com
ed5f2f814c
X87: Teach TurboFan to call vector-based ICs.
...
port r24519.
original commit message:
Teach TurboFan to call vector-based ICs.
Additional static information needs to be passed to Load and KeyedLoad calls if
--vector-ics is turned on
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/645273002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-11 06:00:44 +00:00
weiliang.lin@intel.com
c493ac26be
X87: Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::Generate.
...
port r24498.
original commit message:
Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::Generate.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/643793002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 06:04:31 +00:00
weiliang.lin@intel.com
35ab21900c
X87: Keyed stores to super where key is a name.
...
port r24490.
original commit message:
Keyed stores to super where key is a name.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/649533002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 05:44:13 +00:00
weiliang.lin@intel.com
c09abc87ab
X87: Updates to maintain flag --vector-ics
...
port r24548.
original commit message:
Updates to maintain flag --vector-ics
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/642603004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 07:05:20 +00:00
weiliang.lin@intel.com
956591293c
X87: Support for super keyed loads where key is a name.
...
port r24403.
original commit message:
Support for super keyed loads where key is a name.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/637203002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 06:21:42 +00:00
weiliang.lin@intel.com
5c0bd0cb00
X87: [turbofan] support all shift operands on ia32
...
port r24387.
original commit message:
[turbofan] support all shift operands on ia32
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/637193002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 06:13:22 +00:00
weiliang.lin@intel.com
8fdae69d9f
X87: Replace OStream with std::ostream.
...
port r24319.
original commit message:
Replace OStream with std::ostream.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/635203002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 06:11:22 +00:00
weiliang.lin@intel.com
84bd2a5f72
X87: [turbofan] IA: Uint32ToFloat64 supports mem operand.
...
port r24318.
original commit message:
[turbofan] IA: Uint32ToFloat64 supports mem operand.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/640523002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 06:08:25 +00:00
jkummerow@chromium.org
b6f82c734c
Remove FLAG_opt_safe_uint32_operations.
...
It has been turned on by default for a long time, and hydrogenized BinaryOpStubs actually depend on it being turned on.
BUG=v8:3487
LOG=n
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/630023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 13:15:23 +00:00
ishell@chromium.org
85d7140de0
Hydrogenize (and share) part of StoreTransition handler as a StoreTransitionStub and StoreField handler simplification.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/609463003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 14:54:14 +00:00
bmeurer@chromium.org
3eebdc3264
Replace OStream with std::ostream.
...
Review URL: https://codereview.chromium.org/618643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:29:32 +00:00
weiliang.lin@intel.com
7ead464238
X87: Support count operations on super named properties.
...
port r24290.
original commit message:
Support count operations on super named properties.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/612873003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 07:22:29 +00:00
jarin@chromium.org
5b742b356d
Adding more missing deoptimization points in Turbofan.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/595863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:37:58 +00:00
ishell@chromium.org
171e62e589
ExtendStorageStub added, it is aimed for extending objects backing store when it runs out of space.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/587203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:11:27 +00:00
weiliang.lin@intel.com
baae3f8e1e
X87: Stores and compound assignments for named super properties.
...
port r24268.
original commit message:
Stores and compound assignments for named super properties.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/614693003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:08:06 +00:00
weiliang.lin@intel.com
6a7cc6cc61
X87: fix the Sqrt issue.
...
The test mjsunit/regress/regress-sqrt compares the result of Math.sqrt function
when using full-compiler and crankshaft compiler seperately. But according to
glibc bug fixing(https://sourceware.org/bugzilla/show_bug.cgi?id=14032 ). The
glibc implementation of std::sqrt() (It is invoked in the generated code when
full-compiler is used.) will change since glibc 2.19.
In order to keep consistence of Math.sqrt translation in crankshaft compiler
and the pass of mjsunit/regress/regress-sqrt. we translate the Math.sqrt func
by calling the runtime function.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/606403002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:39:05 +00:00
weiliang.lin@intel.com
31c39284ef
X87: convert disassembler to use OStream.
...
port r24214.
original commit message:
convert disassembler to use OStream.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/607723003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 01:12:13 +00:00
weiliang.lin@intel.com
944c70efb1
X87: fix the bug which is introduced by R24169.
...
Two more DeoptimizeIf(...) are added so the branch distance changed.
we need to use Label::kFar.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/598353002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 12:57:14 +00:00
yangguo@chromium.org
2a67e48f0e
Move i18n-related runtime functions into a separate file.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/597943003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:16:15 +00:00
weiliang.lin@intel.com
5a49981ef8
X87: add part of backend support for X87.
...
port r24179. we add the corresponding function implementation to pass
the compilation.
original commit message:
[turbofan] Add backend support for float32.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/602003002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 02:55:39 +00:00
weiliang.lin@intel.com
9b06bf6047
X87: Refactor bailout reasons and disable optimization in more cases.
...
port r24161.
original commit message:
Refactor bailout reasons and disable optimization in more cases.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/597913002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 15:29:00 +00:00
weiliang.lin@intel.com
8e6e09c169
X87: fixed branch distances.
...
port r24151.
original commit message:
Forgot a few kNear occurences, only happens with --deopt-every-n-times.
Death to manual jump distance calculation! :-P
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/595263002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 15:17:20 +00:00
weiliang.lin@intel.com
ab04540061
X87: Made the detailed reason for deopts mandatory on x87. Unified and improved things.
...
port r24146.
original commit message:
Made the detailed reason for deopts mandatory on ia32. Unified and improved things.
The number of different detail strings has been reduced a bit without
any loss of information. Furthermore, DoubleToI is a bit more
informative now. Tiny reason fixes.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/597003003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 08:33:39 +00:00
weiliang.lin@intel.com
efe4852d5d
X87: Removed superfluous deopt for ROR on ia32.
...
port r24133. On X87 this check should be unnecessary too.
original commit message:
Removed superfluous deopt for ROR on ia32.
We only synthesize a ROR when we have an expression with a toplevel
'|', which returns a signed value by definition, so deopting on
negative values is not needed. ia32 was the only platform where this
was done, all other didn't have the check.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/589383003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 02:37:53 +00:00
jkummerow@chromium.org
9583236d84
Fix method dispatch in Keyed/StoreIC, and JumpIfNotUniqueName usage
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/592113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 09:20:36 +00:00
weiliang.lin@intel.com
803761a9f9
X87: Further improve deopt reason output
...
port r24123. R24123 does not cover all required code change in X87.
original commit message:
Further improve deopt reason output.
* Make the detailed deopt reason mandatory on x64, other platforms will
follow in separate CLs.
* Extracted and improved jump table entry sharing logic: When --trace-deopt
is on, we get separate entries for different deopt reasons. This enables
us to distinguish the several reasons single instructions can have.
* Don't emit superfluous jump table comments: The bailout ID is still visible,
and the jump table entry number is not interesting (but easy to determine
if really needed).
* Unify the internal name of the jump table member across platforms.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/589313002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 03:55:35 +00:00
svenpanne@chromium.org
7384467552
Further improve deopt reason output.
...
* Make the detailed deopt reason mandatory on x64, other platforms
will follow in separate CLs.
* Extracted and improved jump table entry sharing logic: When
--trace-deopt is on, we get separate entries for different deopt
reasons. This enables us to distinguish the several reasons single
instructions can have.
* Don't emit superfluous jump table comments: The bailout ID is still
visible, and the jump table entry number is not interesting (but
easy to determine if really needed).
* Unify the internal name of the jump table member across platforms.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/595513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 14:16:38 +00:00
svenpanne@chromium.org
bc609aff70
Merge RecordComment invocations into DeoptimizeIf calls.
...
This way the deoptimization reasons are actually threaded through to
the jump table. Tiny cleanup of related MIPS/MIPS64 code on the way.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/585423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 09:50:12 +00:00
svenpanne@chromium.org
cebe41bd23
Emit source positions in deopt comments, too.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/587223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 09:05:22 +00:00
svenpanne@chromium.org
e76254071e
Introduce a class to carry around a deoptimization reason.
...
As discussed in https://codereview.chromium.org/582743002/ , here a
mechanical refactoring...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/587623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 06:36:57 +00:00
weiliang.lin@intel.com
45a7148678
X87: enable the crankshaft compiler for X87 port.
...
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/579713002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-20 05:08:58 +00:00
weiliang.lin@intel.com
b2f5677499
X87: Implement loads and calls from 'super'.
...
port r24078.
orginal commit message:
Implement loads and calls from 'super'
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/581273007
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 13:44:24 +00:00
svenpanne@chromium.org
33ddb37ba3
Removed confusing defensive programming in GenerateJumpTable.
...
For a given address/type pair we should always find a deoptimization
bailout ID, otherwise something is wrong. This was already asserted on
ARM, but we now do this consistently on all platforms.
Removed some usesless naming creativity on the way.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/587473003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:06:59 +00:00
weiliang.lin@intel.com
ae6a25ae4d
X87: When serializer is enalbed, we disable the X87 stack check to reduce the code size.
...
The reason is that the big code size will leads to test-serialize test cases fail
when debug mode and snapshot=off.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/582373002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:27:45 +00:00
weiliang.lin@intel.com
4120dd8de2
X87: Convert KeyedLoad indexed interceptor case to a Handler.
...
port r24042.
original commit message:
Convert KeyedLoad indexed interceptor case to a Handler.
Currently, KeyedLoads on objects with indexed interceptors are handled with a
special stub. Instead, key on the map and handler mechanism for more uniform
treatment.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/581273005
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 06:33:37 +00:00
weiliang.lin@intel.com
bf18738539
X87: Move state sentinels into TypeFeedbackVector.
...
port r24037.
original commit message:
Move state sentinels into TypeFeedbackVector.
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/585743002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 06:31:33 +00:00
svenpanne@chromium.org
264c7fe3cd
Emit comment with instruction+reason before deopt calls.
...
Note that we still need to migrate from sometimes emitting those
comments by hand to passing a reason explicitly, but this can be done
incrementally in separate CLs.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/582743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 06:27:06 +00:00
svenpanne@chromium.org
80d9d6df30
Thread the Lithium instruction down to DeoptimizeIf and friends.
...
This is a purely mechanical refactoring and a first step towards being
able to report more helpful deoptimization reasons. With this
refactoring, we know at least the mnemonic of the instruction causing
the deopt, although this is not used yet. Future steps will be using
the mnemonic, passing additional explicit deopt reasons and removing
the fragile machinery of searching for code comments.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/559143003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:53:08 +00:00
titzer@chromium.org
f6807d7897
Rename Runtime_CompileUnoptimized to Runtime_CompileLazy, because that is what it does. Split Compiler::GetUnoptimizedCode into two variants, one for lazy compilation (which can return optimized code!) and the other that actually returns unoptimized code.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/547293004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 15:29:42 +00:00
svenpanne@chromium.org
ac1b9b11dc
Fixed deopt reasons in TaggedToI.
...
Every DeoptimizeIf should be preceded by a RecordComment explaining
the reason. In the long run, the reason should be an argument of
DeoptimizeIf, but we're not there yet.
On x87, things are a bit ugly due to some pushing/popping, so if
somebody feels inclined to improve this: Feel free. Probably the right
approach would be reloading instead of the push/pop horror.
Another thing is our inconsistent handling of the "done" continuation
of deferred code on the various platforms, I made tiny changes on the
way, but this should better be unified somehow, with all those
micro-optimizations removed.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/578583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 09:51:17 +00:00
weiliang.lin@intel.com
ac6074707a
X87: Removing ic.h from code-stubs.h
...
port r23977.
original commit message:
Removing ic.h from code-stubs.h
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.
More work could/should be done here, but this is a first step.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/573123003
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 05:21:36 +00:00
verwaest@chromium.org
3a448aac19
The value register in storefield(smi) is not used as a temp
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/551803005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 09:47:45 +00:00
jarin@chromium.org
e401262400
Reland "Change the order of arguments of the (One|Two)ByteSeqStringSetChar intrinsic."
...
This relands commit r23899.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/565093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 10:58:43 +00:00
jarin@chromium.org
bc0674d0a7
Revert "Change the order of arguments of the (One|Two)ByteSeqStringSetChar intrinsic."
...
This reverts commit r23899.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/552253003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 08:49:22 +00:00
weiliang.lin@intel.com
9e9328bd56
X87: Eliminate Turbofan shims with CodeFactory
...
port r23877.
original commit message:
Turbofan needs a code handle and a CallInterfaceDescriptor. At the same time we spread knowledge about how to create the initial IC code object too widely. Consolidate code creation and unify it with a descriptor via CodeFactory.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/567953002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 08:43:27 +00:00
jarin@chromium.org
91e97f8371
Change the order of arguments of the (One|Two)ByteSeqStringSetChar intrinsic.
...
This makes the syntactic order consistent with the evaluation order.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/561133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 08:18:29 +00:00
weiliang.lin@intel.com
0ada8cfe03
X87: Added CallInterfaceDescriptors to all code stubs.
...
port r23854.
original commit message:
Added CallInterfaceDescriptors to all code stubs. A handful
of code stubs are too complex to be described this way, and
they are encoded with the macro
DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR().
Along the way:
* allowed inheritance of CallInterfaceDescriptors.
* Defined static Register methods for some of the new
CallInterfaceDescriptors. We could go a lot further here, but
it doesn't have to be done immediately.
* Added Representation arrays to some CallInterfaceDescriptors,
especially where future hydrogen versions of the stubs could
benefit from this knowledge.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/566843004
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 07:51:39 +00:00
weiliang.lin@intel.com
788c535476
X87: Rename ascii to one-byte where applicable.
...
port r23840.
original commit message:
Rename ascii to one-byte where applicable.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/565853002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 07:02:11 +00:00
weiliang.lin@intel.com
e3ab5b5824
X87: Get CallInterfaceDescriptor directly from CodeStub.
...
port r23778.
original commit message:
Get CallInterfaceDescriptor directly from CodeStub.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/562983003
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 06:41:13 +00:00
weiliang.lin@intel.com
ad05a1db17
X87: Initialize CodeStubInterfaceDescriptor in the constructor.
...
port r23773.
original commit message:
Initialize CodeStubInterfaceDescriptor in the constructor.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/563133002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 02:12:15 +00:00
weiliang.lin@intel.com
77e53fc884
X87: Encapsulate megamorphic load/tail-call in hydrogen
...
port r23772.
original commit message:
To aid vector-based load ic work, we need to be able to handle
the megamorphic load case in hydrogen. A simple approach is to
wrap the probe activity in a hydrogen instruction.
The instruction is novel in that it always tail-calls away.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/564683002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 01:39:25 +00:00
weiliang.lin@intel.com
ca2d970a45
X87: Do not cache CodeStubInterfaceDescriptor on the isolate.
...
port r23744.
original commit message:
Do not cache CodeStubInterfaceDescriptor on the isolate.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/560793002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 05:30:19 +00:00
arv@chromium.org
45d8e74cd6
ES6: Add support for method shorthand in object literals
...
This is governed by the harmony-object-literals flag.
BUG=v8:3516
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/477263002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 16:39:42 +00:00
weiliang.lin@intel.com
d79d1f782f
X87: Unify JSEntryStub and JSConstructEntryStub, and some more code stub cleanups.
...
port r23742.
original commit message:
Unify JSEntryStub and JSConstructEntryStub, and some more code stub cleanups.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/557233002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:17:23 +00:00
weiliang.lin@intel.com
850580317b
X87: Introduce code stub constructors for stub keys.
...
port r23716.
original commit message:
Introduce code stub constructors for stub keys.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/556653004
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 02:44:43 +00:00
bmeurer@chromium.org
dab61bc310
Replace our home-grown BitCast with bit_cast from Chrome/Google3.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/553843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 09:11:11 +00:00
weiliang.lin@intel.com
7d160cd9f2
X87: Fix build
...
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/545133003
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 14:29:21 +00:00
svenpanne@chromium.org
051972d240
Generalized division via multiplication.
...
We can now compute the magic numbers for all combinations of 32bit and
64bit (un)signed multiplications.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/532003004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 11:48:47 +00:00
weiliang.lin@intel.com
547589e280
X87: Remove dead code for inline string hashing.
...
port r23689.
original commit message:
Remove dead code for inline string hashing.
This has become obsolete since hydrogenized StringAdd.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/545093002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 07:29:08 +00:00
weiliang.lin@intel.com
c8f1f20477
X87: CallDescriptors::InitializeForIsolate() is no longer needed.
...
port r23652.
original commit message:
CallDescriptors::InitializeForIsolate() is no longer needed.
CallInterfaceDescriptors initialize themselves lazily. Soon we can also tear
down the CodeStubInterfaceDescriptor explicit initialization step.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/541353002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 07:25:00 +00:00
weiliang.lin@intel.com
7cecf80c43
X87: Clean up code stubs and ensure distinct major keys.
...
port r23655.
original commit message:
Clean up code stubs and ensure distinct major keys.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/543013002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 07:07:07 +00:00
weiliang.lin@intel.com
48c61115ec
X87: Minor-key-ify remaining code stubs
...
port r23643.
original commit message:
Minor-key-ify remaining code stubs
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/542043002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 06:41:24 +00:00
weiliang.lin@intel.com
276c2a0dec
X87: enable snapshot
...
Tweak LConstantD and LStoreKeyed to avoid fp register spilling
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/545673003
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 05:22:41 +00:00
weiliang.lin@intel.com
7a690932aa
X87: Make concrete classes for individual call descriptors
...
port r23639
original commit message:
Make concrete classes for individual call descriptors. The
ic-convention classes that hold register specifications are
merged into these new call descriptor classes, which should
represent a final home for that information.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/544943002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 02:11:31 +00:00
weiliang.lin@intel.com
65ef6c05e1
X87: Unify some PlatformCodeStubs
...
port r23631.
original commit message:
Unify some PlatformCodeStubs
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/540763002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 05:37:17 +00:00
weiliang.lin@intel.com
327d2389cc
X87: First step to cleanup the power-of-2 mess
...
port r23617.
original commit message:
First step to cleanup the power-of-2 mess
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/532133002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 07:48:57 +00:00
weiliang.lin@intel.com
61805bd570
X87: Minor-key-ify four stubs.
...
port r23605.
orginal commit message:
- Minor-key-ify four stubs.
- ICCompareStub
- BinaryOpICStub
- CompareNilICStub - VectorLoadStub
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/534883002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 04:18:06 +00:00
weiliang.lin@intel.com
25eb303c05
X87: Use Chrome compatible naming for compiler specifics.
...
port r23579.
This CL includes the part of changes for X87 port which is missed in r23579.
(https://codereview.chromium.org/526223002 ).
original commit message:
Use Chrome compatible naming for compiler specifics.
Less useless creativity is best creativity!
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/531723002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 09:40:42 +00:00
bmeurer@chromium.org
30f18f0f7d
Use Chrome compatible naming for compiler specifics.
...
Less useless creativity is best creativity!
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/526223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 07:07:52 +00:00
weiliang.lin@intel.com
3d763dfdc9
X87: InterfaceDescriptor becomes CallInterfaceDescriptor.
...
port r23560.
original commit message:
InterfaceDescriptor becomes CallInterfaceDescriptor.
There was no difference between these two classes in a hierarchical relationship.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/530903002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 03:43:04 +00:00
weiliang.lin@intel.com
b96d68c039
X87: Multiple stubs can point to the same calling convention
...
port r23546.
original commit message:
Multiple stubs can point to the same calling convention
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/521223004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 02:42:36 +00:00
weiliang.lin@intel.com
5c782b9d8c
X87: Refactoring InterfaceDescriptors away from code-stubs.h
...
port r23515.
original commit message:
Refactoring InterfaceDescriptors away from code-stubs.h
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and deoptimization
for the implementation of a particular code stub.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/527653002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 14:00:25 +00:00
jarin@chromium.org
a668cd6fc8
Context deoptimization and removal of the deoptimization block in Turbofan
...
This adds context deoptimization to Turbofan and Crankshaft (also submitted separately as https://codereview.chromium.org/515723004/ ).
The second patchset removes the deoptimization/continuation block from calls.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/522873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:31:14 +00:00
weiliang.lin@intel.com
425568d616
X87: Minor-key-ify BinaryOpICWithAllocationSiteStub.
...
port r23444.
original commit message:
Minor-key-ify BinaryOpICWithAllocationSiteStub.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/514073003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 03:24:49 +00:00
weiliang.lin@intel.com
18235ae336
X87: Minor-key-ify new LoadICTrampolineStub.
...
port r23409.
original commit message:
Minor-key-ify new LoadICTrampolineStub.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/513613003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 08:15:14 +00:00
weiliang.lin@intel.com
eab8bdde23
X87: Added vector-based loadic hydrogen stubs. Not yet callable.
...
port r23405.
original commit message:
Added vector-based loadic hydrogen stubs. Not yet callable.
The next step is to integrate the use of vector[slot] into the IC
infrastructure so it can do the right thing for a vector-based ic.
Then these stubs can be installed. For now, they immediately bail
out to the miss handler.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/507993002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 07:58:51 +00:00
weiliang.lin@intel.com
24b5e5063b
X87: Minor-key-ify CallICStub and CallIC_ArrayStub.
...
port r23403.
original commit message:
Minor-key-ify CallICStub and CallIC_ArrayStub.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/508883002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 07:33:29 +00:00
weiliang.lin@intel.com
246b01efdc
X87: Change more PlatformCodeStubs to encode properties in the minor key.
...
port r23394.
original commit message:
Change more PlatformCodeStubs to encode properties in the minor key.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/507973002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 06:33:40 +00:00
weiliang.lin@intel.com
ef21aa93b7
X87: Move register conventions out of the IC classes.
...
port r23391.
original commit message:
Move register conventions out of the IC classes.
A change to a convention shouldn't require recompilation of ic.h/.cc.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/513533003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 04:49:41 +00:00
bmeurer@chromium.org
90c8932596
Replace our homegrown ARRAY_SIZE() with Chrome's arraysize().
...
Our own ARRAY_SIZE() was pretty bad at error checking. If you use
arrasize() in a wrong way, the compiler will issue an error instead of
silently doing the wrong thing. The previous ARRAY_SIZE() macro is still
available as ARRAYSIZE_UNSAFE() similar to Chrome.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/501323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:19:24 +00:00
weiliang.lin@intel.com
beec274d40
X87: Eliminate code duplication in lithium calls to vector-based LoadICs
...
port r23359.
original commit message:
Eliminate code duplication in lithium calls to vector-based LoadICs
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/505103002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 06:16:14 +00:00
weiliang.lin@intel.com
8681a11022
X87: Move handler compilers to handler-compiler
...
port r23346.
original commit message:
Move handler compilers to handler-compiler
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/504043002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 03:56:24 +00:00
yangguo@chromium.org
899fe964ad
Encode CEntryStub properties in the minor key.
...
Eventually, all stubs should encode its properties in the minor key
so that stubs can be restored directly from the stub key.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/502713003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 13:09:02 +00:00
weiliang.lin@intel.com
d171b9d535
x87: Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
...
port r23306.
original commit message:
Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler.
BUG=
R=verwaest@chromium.org , weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/500923002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:00:04 +00:00
jarin@chromium.org
d8295050d2
Fix deoptimization address patching in Turbofan to use safepoints.
...
Since the deopt patch address needs to be available during GC to
resolve safepoints, we need to move it to the code object (instead of
the deoptimization input data) - accessing a separate fixed array
is not safe during GC. This CL adds a deoptimization_pc field to
each safepoint. The fields points to the deoptimization block.
The CL also fixes wrong register allocator constraints for
frame states on calls. These should always live on the stack
because registers are not preserved during a call.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/504493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 07:02:19 +00:00
verwaest@chromium.org
3baab5e688
Rewrite StoreIC handling using the LookupIterator. Continued from patch 494153002
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/478043006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:38:21 +00:00
weiliang.lin@intel.com
3170fbb305
X87: Use LookupIterator for CompileLoadInterceptor and delete Object::Lookup
...
port r23168.
original commit message:
Use LookupIterator for CompileLoadInterceptor and delete Object::Lookup
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/481323002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 04:56:54 +00:00
yangguo@chromium.org
84edfa3d0c
Purge unused internalized string accessors.
...
R=marja@chromium.org
Review URL: https://codereview.chromium.org/471923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 07:54:19 +00:00
mstarzinger@chromium.org
44247036a7
Fix newly discovered presubmit errors.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/462033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:33:35 +00:00
weiliang.lin@intel.com
7a86e30c34
X87: fix one patch porting error in R22957.
...
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/457603002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 12:38:20 +00:00
weiliang.lin@intel.com
284d23dbb5
X87: We should never allocate a 0-sized buffer, so never grow from 0.
...
port r22947
original commit message:
We should never allocate a 0-sized buffer, so never grow from 0.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/444403002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:20:00 +00:00
weiliang.lin@intel.com
b40af26eec
X87: Always use the StoreFieldStub to do the actual storing.
...
port r22931.
original commit message:
Always use the StoreFieldStub to do the actual storing.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/445343002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:11:11 +00:00
weiliang.lin@intel.com
5fef5b2cc3
X87: Hydrogenize (and share) StoreField except heapobject (for now)
...
port r22909.
original commit message:
Hydrogenize (and share) StoreField except heapobject (for now)
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/445313002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 07:12:27 +00:00
weiliang.lin@intel.com
ed97194cfb
X87: Check that external references are registered in the serializer.
...
port r22896
original commit message:
Check that external references are registered in the serializer.
Inspired by a patch by Slava Chigrin <vchigrin@yandex-team.ru>;
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/446003004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 07:06:52 +00:00
verwaest@chromium.org
a6384ade6b
Get rid of the "spare buffer" cache.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/446923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 16:56:52 +00:00
yangguo@chromium.org
46bda34130
Abstract out fetching of break_address in debug mode
...
If the platform has a variable length call sequence
more than simple offset math is required. This can
be true with out of line constant pools on PowerPC.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/427863003
Patch from Andrew Low <andrew_low@ca.ibm.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:56:58 +00:00
jkummerow@chromium.org
10603eff29
Fix disassembly of sar(_, imm8)
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/442003002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 08:19:36 +00:00
verwaest@chromium.org
5aaf1487da
Load constants from the DescriptorArray
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/442763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 08:02:21 +00:00
jkummerow@chromium.org
e051112fc6
Restore performance of accesses to JSGlobalProxy after r22802
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/446523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 10:44:17 +00:00
verwaest@chromium.org
5a2de1fced
Remove special frontend for callbacks with slow-mode holders.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/436273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 10:27:10 +00:00
jochen@chromium.org
c608c2f0be
Move a bunch of GC related files to heap/ subdirectory
...
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/437993003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:18:22 +00:00
weiliang.lin@intel.com
6306a52e0b
X87: Cleanup in stub-cache.cc; remove unused ArrayLength store ICs.
...
port r22805
original commit message:
Cleanup in stub-cache.cc; remove unused ArrayLength store ICs.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/438163003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 03:24:18 +00:00
weiliang.lin@intel.com
20fcfc98f6
X87: Avoid one repeated property lookup when computing load ICs.
...
r22802 touches X87 port but it is not changed completely.
port r22802.
original commit message:
Avoid one repeated property lookup when computing load ICs.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/441873002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 03:20:18 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430503007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
verwaest@chromium.org
838c0ab285
Reuse the nonexistent handler frontend for transition handlers
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/437953003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 10:47:10 +00:00
mstarzinger@chromium.org
ab1cb70c8d
Ensure LModByPowerOf2I only gets environment when it deopts.
...
R=svenpanne@chromium.org
TEST=mozilla (with new --always-opt)
Review URL: https://codereview.chromium.org/423093009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 08:47:15 +00:00
jkummerow@chromium.org
84525e2b2f
Avoid one repeated property lookup when computing load ICs.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/429053005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 08:34:56 +00:00
weiliang.lin@intel.com
956cd1c76c
X87: Unify InstanceofStub interface descriptors
...
port r22755.
original commit message:
Unify InstanceofStub interface descriptors
BUG=
R=mstarzinger@chromium.org , weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/435603007
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 08:03:28 +00:00
weiliang.lin@intel.com
f806dc5262
X87: Land the Fan (disabled)
...
port r22709.
This patch only covers the code change of orginal X87 port.
For the changes under ./src/compiler/ and ./tools/gyp/v8.gyp file,
I will submit it in another seperate patch.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/430423002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 07:42:06 +00:00
weiliang.lin@intel.com
cd2a39e3ab
X87: Remove keyed_store_calling convention and friends
...
port r22706.
original commit message:
Remove keyed_store_calling convention and friends
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/431263003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 01:58:56 +00:00
weiliang.lin@intel.com
633403d151
X87: Encapsulate the holder in the PropertyHolderCompilers
...
port r22704.
original commit message:
Encapsulate the holder in the PropertyHolderCompilers
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/435543002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:39:35 +00:00
weiliang.lin@intel.com
cb857ec1bf
X87: Encapsulate type in the PropertyHandlerCompiler
...
port r22700.
original commit message:
Encapsulate type in the PropertyHandlerCompiler
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/425493005
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:01:32 +00:00
danno@chromium.org
a1383e2250
Land the Fan (disabled)
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/426233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
weiliang.lin@intel.com
29f2cf231b
X87: Only generate a single normal IC per kind per slow-mode map.
...
port r22680
original commit message:
only generate a single normal IC per kind per slow-mode map.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/423393003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 09:28:43 +00:00
weiliang.lin@intel.com
5372a2a769
X87: Clean up name distinction between Keyed ICs and Element Handlers
...
port r22679.
original commit message:
Clean up name distinction between Keyed ICs and Element Handlers
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/426083006
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 09:04:42 +00:00
weiliang.lin@intel.com
39f82ac371
X87: Remove all compilation related interface from the StubCache
...
port r22678.
original commit message:
Remove all compilation related interface from the StubCache
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/429803003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 08:25:26 +00:00
weiliang.lin@intel.com
339efcbbe4
X87: CallIC customization stubs must accept that a vector slot is cleared.
...
port r22668.
original commit message:
CallIC customization stubs must accept that a vector slot is cleared.
The CallIC Array custom IC stub read from the type vector, expecting
to get an AllocationSite. But there are paths in the system where a type
vector can be re-created with default values, even though we currently
grant an exception to clearing of vector slots with AllocationSites in
them at gc time.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/426203002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 08:21:42 +00:00
ishell@chromium.org
e7e87c686b
Formatting rules violation fixed
...
TBR=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/428103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 07:41:09 +00:00
weiliang.lin@intel.com
49e83ec903
X87: Inline Math.fround in optimized code.
...
port r22665.
original commit message:
Inline Math.fround in optimized code.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/429143003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 06:46:25 +00:00
mstarzinger@chromium.org
c0f6b34199
Support for dynamic write-barrier counters everywhere.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/421923003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 14:38:39 +00:00
weiliang.lin@intel.com
ea31635e66
X87: Restructure the IC / Handler compilers
...
port r22622.
original commit message:
Restructure the IC / Handler compilers.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/427463002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 07:54:38 +00:00
yangguo@chromium.org
029b8a2379
For-of on null or undefined is an error
...
The latest ES6 draft changed the behavior of for-of on null / undefined,
which for once is a simplification.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/416033002
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 13:40:08 +00:00
verwaest@chromium.org
f6c6f15e6a
X87: Always use the LoadStubCompiler for Load handlers, also for keyedload handlers
...
port r22551.
original commit message:
Always use the LoadStubCompiler for Load handlers, also for keyedload handlers
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/412903003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 09:13:04 +00:00
verwaest@chromium.org
24c2a018f6
X87: Only to the relevant checks in LoadFunctionPrototype
...
port r22550.
original commit message:
Only to the relevant checks in LoadFunctionPrototype
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/410223002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 09:12:34 +00:00
verwaest@chromium.org
f135cfa263
X87: Move function prototype handling into a special handler rather than IC
...
port r22526.
original commit message:
Move function prototype handling into a special handler rather than IC
Adjust hydrogen handling of function.prototype to be based on map feedback.
Handle non-instance prototype loading using an IC rather than in the hydrogen
instruction. In the future, remove the special instruction and replace by multiple
hydrogen instructions.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/410203002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 09:11:59 +00:00
yangguo@chromium.org
fc5b5f2dc5
Propagate serialization flag to inner functions.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/407383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 09:35:06 +00:00
mvstanton@chromium.org
37ebdc7da5
X87: Introduce FLAG_vector_ics.
...
port r22500.
original commit message:
Introduce FLAG_vector_ics.
When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs
will allocate a type vector slot to store feedback information. Full codegen
will emit a load of the slot into a register if the flag is on.
Support is incomplete, right now the IC doesn't know how to use the feedback
slot.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/405343002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 07:48:19 +00:00
rossberg@chromium.org
2dc3d0bdc6
Remove harmony-typeof
...
This was an early experiment in the Harmony era that turned out to
not be compatible with the web.
BUG=None
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/408463003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:20:54 +00:00
weiliang.lin@intel.com
02247b18c0
X87: Cache IC handlers on the prototype's map if possible
...
port r22483
original commit message:
Cache IC handlers on the prototype's map if possible
instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/391423003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 02:57:42 +00:00
Jacob.Bramley@arm.com
38cb7830aa
Unravel kHeapObjectTagSize from the stub cache.
...
The stub cache used kHeapObjectTagSize to scale indices, but there
doesn't appear to be a direct need for this. Instead, the stub cache has
its own kCacheIndexShift quantity.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/401613003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 09:57:39 +00:00
weiliang.lin@intel.com
2bb3f96570
X87: StubCallInterfaceDescriptor takes a context register.
...
port r22448
original commit message:
StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.
Handling of the context register had to be massaged to effect the unification. This will make it easier
to call hydrogen code stubs directly from crankshaft.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/399313005
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 03:15:48 +00:00
mstarzinger@chromium.org
5963ae48a8
Rename [Load/Delete]ContextSlot for consistency after r22379.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/397973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:03:33 +00:00
weiliang.lin@intel.com
3150bf3870
X87: Drop unnecessary receiver validity checks from {Load,Store}IC_Normal
...
port r22391
original commit message:
Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.
Since these builtins are used as handlers after a map check/dispatch, they don't need to check the receiver again.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/396833004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 03:12:29 +00:00
mstarzinger@chromium.org
5874bd08c0
Allow embedding of ConsString objects into code.
...
R=yangguo@chromium.org
BUG=v8:2803
LOG=N
Review URL: https://codereview.chromium.org/395713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:51:12 +00:00
weiliang.lin@intel.com
1ca4454aeb
X87: Use the same registers for StoreIC and KeyedStoreIC.
...
port r22387
original commit message:
Use the same registers for StoreIC and KeyedStoreIC.
Based on https://codereview.chromium.org/389283002 ("Use register parameters in ElementsTransitionGenerator") which must land first.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/391933002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:41:23 +00:00
weiliang.lin@intel.com
2aad6f0024
X87: Use register parameters in ElementsTransitionGenerator
...
port r22384
original commit message:
Use register parameters in ElementsTransitionGenerator
x
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/395633010
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 09:46:10 +00:00
weiliang.lin@intel.com
23887bf978
X87: Clean up and update const / var
...
port r22379
original commit message:
This CL simplifies var / const by ensuring the behavior is consistent in itself,
and with regular JS semantics; between regular var/const and eval-ed var/const.
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot,
and the initializer reconfigures it (when possible) to non-configurable non-writable. This
avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects.
Undefined is used instead.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/397573002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:37:37 +00:00
weiliang.lin@intel.com
9d047839b5
X87: Use a register spec for StoreIC and KeyedStoreIC.
...
port r22328
original commit message:
Use a register spec for StoreIC and KeyedStoreIC.
This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035 ).
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/382123003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 07:47:58 +00:00
weiliang.lin@intel.com
d837dd7eb4
X87: Fix computed properties on object literals with a double as propertyname.
...
port r22255.
original commit message:
Fix computed properties on object literals with a double as propertyname.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/379513002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 05:48:37 +00:00
weiliang.lin@intel.com
393ccfb5a8
X87: Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
...
port r22245.
orginal commit message:
Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/372123004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 05:40:59 +00:00
weiliang.lin@intel.com
31134fafef
X87: More OStreamsUse OStreams more often
...
port r22232
original commit message:
This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/379493002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 05:24:52 +00:00
weiliang.lin@intel.com
7fe8e6ec90
X87: Error in CallFunctionNoFeedback ia32 made less efficient code
...
port r22191.
original commit message:
Error in CallFunctionNoFeedback ia32 made less efficient code
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/371543003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-04 07:30:45 +00:00
weiliang.lin@intel.com
598e2f9fc0
X87: Start using OStreams.
...
port r22179
original commit message:
Note that until everything is OStream-based, there are a few places
where we have to do some impedance matching. A few accessors had to be
const-corrected on the way.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/370673002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-04 07:00:01 +00:00
weiliang.lin@intel.com
537b7fa325
X87: Clean up the global object naming madness.
...
port r22117
original message:
Clean up the global object naming madness.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/362943002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:07:22 +00:00
ishell@chromium.org
2c94151e6e
Reland r22082 "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/334323003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 15:02:31 +00:00
weiliang.lin@intel.com
d8fb9b9f12
X87: KeyedLoadIC should have same register spec as LoadIC.
...
port r22103.
original commit message:
On arm, arm64 and x64 there is a different register specification between LoadIC and KeyedLoadIC.
It would be nicer if these are the same, allowing some key optimizations.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/366583002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:34:18 +00:00
jochen@chromium.org
584f13ab03
Add missing cpu.h includes to mips/x87
...
BUG=none
TBR=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/358073005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 15:37:07 +00:00