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
jochen@chromium.org
a4506cd3f2
Move platform abstraction to base library
...
Also split v8-core independent methods from checks.h to base/logging.h and
merge v8checks with the rest of checks.
The CPU::FlushICache method is moved to CpuFeatures::FlushICache
RoundUp and related methods are moved to base/macros.h
Remove all layering violations from src/libplatform
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/358363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:25:46 +00:00
ishell@chromium.org
d1190c503d
Revert "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
...
This reverts commit r22082 for breaking arm64 build.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/360023003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 10:19:31 +00:00
ishell@chromium.org
cea1824f58
Replace HeapNumber as doublebox with an explicit MutableHeapNumber.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/355793003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 09:44:43 +00:00
verwaest@chromium.org
a80b14ab93
Port the ic part
...
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/354173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 14:01:42 +00:00
verwaest@chromium.org
63431b23d1
Split SetProperty(...attributes, strictmode) into DefineProperty(...attributes) and SetProperty(...strictmode)
...
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/351853005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 13:48:37 +00:00
weiliang.lin@intel.com
092389bb33
X87: Use IC register definitions in platform files.
...
port r22035
original commit message:
Use IC register definitions in platform files.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/356133005
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 03:23:31 +00:00
yangguo@chromium.org
310c37bd43
Fix regexp=interpreted build.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/350633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 13:48:22 +00:00
weiliang.lin@intel.com
2c45989333
X87: Cleanup CallInterfaceDescriptor
...
port r22014
original commit message:
Make CallInterfaceDescriptor work like CodeStubInterfaceDescriptor, owning it's
register and representation arrays. This also eliminates a host of TSAN warnings
xfor static arrays
This CL depends on https://codereview.chromium.org/352583002 landing first
(a conceptual dependency at least).
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/343563006
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 07:32:17 +00:00
weiliang.lin@intel.com
8ff53a8d62
X87: The IC exposes a register definition.
...
port r22011
original commit message:
Centralize a register definition in an IC that provides:
1) symbolic names for the register (like, edx == receiver)
2) defines ordering when passed on the stack
Code that implements or uses the IC should use this definition instead of "knowing" what the registers are. Or at least have the definition to validate it's assumptions.
As a side effect of avoiding runtime static initializers (enforced by tools/check-static-initializers.sh, neat), I gave ownership of the registers array to CodeStubInterfaceDescriptor. This prompted a cleanup of that struct
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/358773002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 05:43:16 +00:00
danno@chromium.org
eaca750b29
Remove distinction between hidden and normal runtime functions
...
R=jkummerow@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/346413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 15:26:10 +00:00
mvstanton@chromium.org
41e2dc7063
Revert "Create a RegisterSpec class inside of the IC that provides:"
...
This reverts commit r21939 due to a static initializer issue.
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/339663008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 14:28:38 +00:00
mvstanton@chromium.org
b3f8487726
Create a RegisterSpec class inside of the IC that provides:
...
1) symbolic names for the register (like, edx == receiver)
2) can return an array of registers
3) defines ordering when passed on the stack
Code that implements or uses the IC should use this RegisterSpec instead of "knowing" what the registers are. Or at least have the RegisterSpec to validate it's assumptions.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/340363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:42:12 +00:00
weiliang.lin@intel.com
16d5587c6d
X87: Introduce intrinsic to expose debug state to generated code.
...
port r21908.
original commit message:
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/349183002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 09:17:04 +00:00
mstarzinger@chromium.org
fec6e62dfb
Check alpha-sorting of includes during presubmit.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/333013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 08:40:11 +00:00
jarin@chromium.org
1a138034bd
Fix LStoreCodeEntry to treat the code_object parameter as input.
...
The bug seems to trigger only with array_index_dehoisting off in
the snapshot, so it is hard to test for (ideas?).
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/347523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 11:17:52 +00:00
weiliang.lin@intel.com
aebf66371e
X87: Interrupts must not mask stack overflow.
...
port r21874
original commit message:
Interrupts must not mask stack overflow.
BUG=385002
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/336413009
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 03:31:30 +00:00
mstarzinger@chromium.org
46d36e81b4
Rename arguments object support functions to new scheme.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/338883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-17 14:10:16 +00:00
jochen@chromium.org
712b0a2066
Fix x87 compile
...
TBR=marja@chormium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/337713003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 16:56:50 +00:00
jochen@chromium.org
9c2019b25c
Remove dependency on Vector from platform files
...
Add wrappers to utils.h instead.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/328343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 16:43:27 +00:00
weiliang.lin@intel.com
fd1ace4d94
X87: Fixed flooring division by a power of 2, once again...
...
port r21769
original message:
Avoid right shifts by zero bits: On ARM it actually means shifting by
32 bits (correctness issue) and on other platforms they are useless
(performance issue). This is fix for the fix in r20544.
BUG=v8:3259
LOG=y
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/330133004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 07:03:11 +00:00
wingo@igalia.com
dfb1c7dc9e
For-of calls [Symbol.iterator]() on RHS to get iterator
...
R=rossberg@chromium.org
BUG=http://code.google.com/p/v8/issues/detail?id=2735
LOG=N
Review URL: https://codereview.chromium.org/332663004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 17:31:54 +00:00
jkummerow@chromium.org
918efd7e20
Add non-miss slow path to LoadIC_Normal.
...
This avoids endless IC patching cycles between "normal" and "nonexistent" handlers when objects having and not having the property are seen alternatingly
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/328353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 16:38:37 +00:00
weiliang.lin@intel.com
6a8d820f7c
X87: Reland 21774: Generate KeyedLoadGeneric with Hydrogen
...
Port r21781 (4869c528)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/336543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 15:05:01 +00:00
weiliang.lin@intel.com
3c4a6d1b76
X87: add OWNERS file
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/323413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 23:24:27 +00:00
jochen@chromium.org
4e3364304b
Drop globals.h include from platform.h
...
Also delete dead cpu-features-implied-by-platform code.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/326333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 18:12:03 +00:00
weiliang.lin@intel.com
38d1b5c71e
X87: Simplify string copy in SubStringStub.
...
port r21756.
original commit message:
The optimizations are unnecessary since the maximum
string length they operate on is currently 12.
R=yangguo@chromium.org , bmeurer@chromium.org
BUG=352155
LOG=N
Review URL: https://codereview.chromium.org/326353002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 14:09:05 +00:00
verwaest@chromium.org
bb2b08b194
Implement LookupIterator designed to replace LookupResult
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/314953006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:59:14 +00:00
svenpanne@chromium.org
2931f09144
Fix unsigned comparisons.
...
Instead of marking the comparison instruction itself as Uint32, we
look at its arguments. This is more consistent what HChange does.
BUG=v8:3380
TEST=mjsunit/regress/regress-3380
LOG=y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/325133004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:09:15 +00:00
weiliang.lin@intel.com
8ea8055bd6
X87: Preliminary support for block contexts in hydrogen.
...
Port r21684.
Origin message:
Preliminary support for block contexts in hydrogen.
Patch from Steven Keuchel <keuchel@chromium.org>;
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-let-crankshaft.js
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/315233002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 08:09:56 +00:00
weiliang.lin@intel.com
bee1293cf7
X87: Introduce FieldIndex to unify and abstract property/field offset
...
port r21720.
Original commit message:
Introduce FieldIndex to unify and abstract property/field offset.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/326563002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 03:43:48 +00:00
titzer@chromium.org
812edcdedc
Documentation: fix comments for CommuteCondition.
...
R=jkummerow@google.com , jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/313283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:33:42 +00:00
titzer@chromium.org
3c501d3a4b
Rename ReverseCondition to CommuteCondition, a more standard term.
...
R=dcarney@chromium.org , dcarney
BUG=
Review URL: https://codereview.chromium.org/313083006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 14:57:51 +00:00
weiliang.lin@intel.com
eac091277f
X87: Improve write barriers in optimized code.
...
Port r21630 (a21ff10)
Original commit message:
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/314983002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 09:27:16 +00:00
ishell@chromium.org
55443af648
Fixed lint errors caused by "runtime/references" rule (Is this a non-const reference?) and the rule itself is restored.
...
BUG=v8:3326
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/314723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:45:38 +00:00
jochen@chromium.org
56a486c322
Use full include paths everywhere
...
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps
BUG=none
R=jkummerow@chromium.org , danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304153016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
marja@chromium.org
048ee40e3d
Minor cleanups & trivial refactoring related to Ast.
...
1) Literal::IsNull, IsTrue and IsFalse were dead code, and not needed.
2) No need to use the node type constants outside the Ast; there is IsSomeNodeType().
3) AsSomeNodeType() != NULL -> IsSomeNodeType().
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298143004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:40:43 +00:00
weiliang.lin@intel.com
1d57c2d65f
X87: Don't push eax/rax before calling Runtime_Abort
...
Additionally delete the unused Throw(BailoutReason)
Port r21582 (41dd40b)
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/305013012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 13:53:21 +00:00
weiliang.lin@intel.com
5cb7e512ec
X87: Simplify known successor block lowering.
...
Port r21589 (a9f3228)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/309043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 13:50:59 +00:00
weiliang.lin@intel.com
9a1fe563b9
X87: Remove check for SAHF support in ia32
...
port r21422 (38edcd2)
Original commit message:
On ia32, SAHF is guaranteed. It's only necessary to probe for it on x64.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/301083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:37:50 +00:00
weiliang.lin@intel.com
14e244a9b4
X87: Refactor CallICStub to use a different stub for each customization.
...
port r21564 (a39968c)
Original commit message:
This gives us much more room to customize on different functions, by
using MajorKey to differentiate them.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/307823003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:34:45 +00:00
weiliang.lin@intel.com
eab27d69b6
X87: Move LiveEdit-related code.
...
port r21559 (dfd0cf8)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/303053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:31:32 +00:00
bmeurer@chromium.org
7d14f34a1b
Inline Array.shift() fast path instead of using a code stub.
...
TEST=mjsunit/array-shift,mjsunit/array-shift2,mjsunit/array-shift3
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/308793010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 07:02:24 +00:00
weiliang.lin@intel.com
232ddd9756
X87: Refactor HType to get rid of various hacks.
...
port r21578 (dcf13aa)
Original commit message:
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
BUG=
Review URL: https://codereview.chromium.org/307903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 13:11:55 +00:00
ishell@chromium.org
fdef9ac252
FastCloneShallowArrayStub should not be used it the length of the array is too big as it could eventually exceed the allowed size limit for manually folded allocations.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 16:00:52 +00:00
weiliang.lin@intel.com
f10204b56a
X87: Fix a typo in below CL
...
r21515 (6d0ec9a)
Convert ElementsKind into a BitField
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/301563008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:21:43 +00:00
weiliang.lin@intel.com
f6ac5ae69c
X87: Small changes in preparation for Hydrogen-generated KeyedLoadGeneric
...
Port r21535(8bb4c2b)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/302453011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:19:43 +00:00
weiliang.lin@intel.com
0f2f60bd37
X87: Convert String array index/length hash to BitField.
...
Port r21533 (736c779)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/298293007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:18:39 +00:00
weiliang.lin@intel.com
d5c4ad309e
X87: Merge Debugger and Debug.
...
port r21524 (af88824)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/298193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:17:21 +00:00
weiliang.lin@intel.com
2312c8abdf
X87: Avoid HeapObject check in HStoreNamedField.
...
port r21509 (78a54b0
)
Original commit message:
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/306483013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:16:11 +00:00
weiliang.lin@intel.com
716be75bd0
X87: Skip write barriers in the fast case when setting up local context.
...
Port r21481 (5973b48)
Original commit message:
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/307433004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 04:56:28 +00:00
jochen@chromium.org
276adeda1a
Replace STATIC_CHECK with STATIC_ASSERT.
...
It's just an alias, and STATIC_ASSERT is used way more often
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:43:29 +00:00
danno@chromium.org
621c7eb673
Convert ElementsKind into a BitField
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/306513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 09:38:01 +00:00
jochen@chromium.org
84e078e561
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:57:22 +00:00
jochen@chromium.org
eabd5a19b9
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:56:27 +00:00
jochen@chromium.org
a5a21a0da4
Move OS::MemCopy and OS::MemMove out of platform to utils
...
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:33:15 +00:00
hpayer@chromium.org
6ed0102b1d
Remove high promotion mode.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/296413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 12:58:55 +00:00
jochen@chromium.org
0d1dc27eda
Reland 21482 - "Merge v8globals.h and globals.h"
...
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/293363006
BUG=none
TBR=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/295373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:28:08 +00:00
verwaest@chromium.org
53bbe2aec9
Revert "Merge v8globals.h and globals.h"
...
Because of tree redness.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/306443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:39:04 +00:00
jochen@chromium.org
cd818d697d
Merge v8globals.h and globals.h
...
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/293363006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:15:13 +00:00
danno@chromium.org
9c485e182b
Introduce x87 port
...
Support x87-only platform (ia32 without SSE)
R=danno@chromium.org
Review URL: https://codereview.chromium.org/293743005
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 16:37:27 +00:00