ulan@chromium.org
bc4ad49b25
Do not add values to HGraph in Lithium.
...
Lithium uses indexes after the maximium value ID in the HGraph as indexes
of virtual registers and assumes that the maximum value ID does not change.
The IsStandardConstant and GetConstantXX functions could add constants to
HGraph, which aliased virtual registers with real values. This could confuse
the register allocator to think that a value in a virtual register is tagged
and to incorrectly set it in the pointer map.
BUG=298269
TEST=mjsunit/regress/regress-298269.js
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/66693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 14:16:34 +00:00
verwaest@chromium.org
af66a0b300
Revert "Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft"
...
Revert "Fix ARM build"
Revert "Fix ARM build (again)"
TBR=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/66553004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 13:54:34 +00:00
yangguo@chromium.org
9f104a1a3e
Revert "Implement Math.sin, cos and tan using table lookup and spline interpolation."
...
This reverts commit r17594.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/59153007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 13:44:27 +00:00
yangguo@chromium.org
063b7c4ebb
Implement Math.sin, cos and tan using table lookup and spline interpolation.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/50563003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 13:10:39 +00:00
danno@chromium.org
412af94bbb
Fix ARM build (again)
...
R=yangguo@chromium.org
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/66673002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 12:41:02 +00:00
danno@chromium.org
7fbd65a7f7
Fix ARM build
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/62203010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 12:23:48 +00:00
danno@chromium.org
1222255b9c
Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/61623004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 11:50:23 +00:00
yangguo@chromium.org
94eb5904a6
Fix error message wording when instanceof throws.
...
R=bmeurer@chromium.org
BUG=82797, v8:1593
Review URL: https://codereview.chromium.org/66463002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 11:45:56 +00:00
svenpanne@chromium.org
e0388823c5
Fixed build.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/66523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 11:20:18 +00:00
yangguo@chromium.org
fc1dadce9b
Use register allocator for context on x64.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/50863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 10:58:51 +00:00
svenpanne@chromium.org
ba24c3a79f
Removed dead function V8::FillHeapNumberWithRandom.
...
Removed a useless test case along the way.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/65143007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 10:55:01 +00:00
jkummerow@chromium.org
a556b7c99b
Use nearlabel AFAP in lithium codegen
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/47533002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 10:52:07 +00:00
machenbach@chromium.org
ed0d2c5cd2
Prepare push to trunk. Now working on version 3.23.2.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/59933005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 09:10:19 +00:00
bmeurer@chromium.org
3f1fc2385a
Remove unused ValueInfo struct
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/46673004
Patch from Adrian Perez de Castro <aperez@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 07:45:15 +00:00
palfia@homejinni.com
dc8eb9a0c8
MIPS: Proper support for deopt_every_n_times option on the x64 and ARM architectures.
...
Port r17564 (b928ddeb)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/65903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 00:47:34 +00:00
palfia@homejinni.com
56ca009108
MIPS: Add new HSeqStringGetChar instruction.
...
Port r17565 (dce7927c)
Original commit message:
This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/65483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 21:59:45 +00:00
plind44@gmail.com
eec6ed57fb
MIPS: Turn Load/StoreGlobal into a handler.
...
Port r17550 (3e0015e)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/60733010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 20:11:18 +00:00
plind44@gmail.com
bd146ae499
MIPS: Refine CountOperation of FullCodeGen.
...
Port r17547 (a4b59e4)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/64893002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 19:28:58 +00:00
vegorov@chromium.org
adae3f77ec
Allow redirecting disassembly and deoptimization traces into a file.
...
This is controlled by two flags:
--redirect_code_traces
--redirect_code_traces_to=<filename>
When redirection is enabled but --redirect_code_traces_to is not specified traces are written to a file code-<pid>-<isolate>.asm. This mangling scheme matches hydrogen.cfg and allows easy discovery of compilation artifacts in a multi-V8 environment (e.g. when compilation is traced from inside Chromium).
D8 defines --redirect_code_traces_to=code.asm similar to hydrogen.cfg redirection.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/43273004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 16:35:27 +00:00
yangguo@chromium.org
d538ff90b5
Disable concurrent osr when concurrent recompilation is disabled.
...
Also introduce a flag for a quick check that concurrency is on.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/64543004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 16:25:20 +00:00
mstarzinger@chromium.org
59536de77d
Make HCapturedObjects non-deletable for DCE.
...
R=jkummerow@chromium.org
BUG=v8:2987
TEST=mjsunit/regress/regress-2987
Review URL: https://codereview.chromium.org/64433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 16:07:19 +00:00
dslomov@chromium.org
f3acd446ad
Speed up typed array constructors.
...
- Avoid calls into ToPositiveInteger for valid cases of 'undefined' arguments.
(Otherwise it calls into runtime).
- Reduce the checks performed in case offset for TypedArrayFromArrayBuffer
constructor is called with no offset argument.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/59763010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 14:56:40 +00:00
yangguo@chromium.org
233b8b4f96
Fix clang debug build.
...
BUG=
R=rafaelw@chromium.org
Review URL: https://codereview.chromium.org/64243003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 14:45:17 +00:00
bmeurer@chromium.org
0990f44f00
Add new HSeqStringGetChar instruction.
...
This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.
BUG=v8:2990
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/63863005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 13:43:03 +00:00
jarin@chromium.org
363659d7e6
Proper support for deopt_every_n_times option on the x64 and ARM architectures.
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/62293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 13:09:48 +00:00
bmeurer@chromium.org
cc5c9e9ae8
Revert "Add new HSeqStringGetChar instruction."
...
This reverts commit r17562 for invalid usage of movw to load string
characters. Will reland with fix.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/64333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 13:03:03 +00:00
bmeurer@chromium.org
e2c8e45402
Add new HSeqStringGetChar instruction.
...
This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.
BUG=v8:2990
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/63863005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:59:35 +00:00
rafaelw@chromium.org
ef0c647c49
Handlify Runtime::SetObjectProperty
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/62333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:35:57 +00:00
verwaest@chromium.org
dccc06e132
Disable stress-gc for memento-related test.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/64003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:20:45 +00:00
mstarzinger@chromium.org
acac89008d
Defer allocation of constant literal properties.
...
This moves building of constant properties and elements arrays for all
materialized literals into the compiler. The parser no longer allocates
while parsing ObjectLiteral and ArrayLiteral expressions.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/61873003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:08:37 +00:00
svenpanne@chromium.org
ad3478bb2f
Use a fixed random seed per default.
...
To get back the old behavior, use "make randomseed=0 ...".
BUG=v8:1880,v8:2885
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/64093003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:01:26 +00:00
verwaest@chromium.org
1813231c97
Cleanup stub-cache's obsolete ComputeLoad/Store interface.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/64023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 10:52:41 +00:00
verwaest@chromium.org
ff60216196
Remove DisallowHeapAllocation requirement now that the target() is cached on the IC.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/61773004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 10:18:56 +00:00
verwaest@chromium.org
442e77d536
Turn Load/StoreGlobal into a handler.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/26968004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 10:17:13 +00:00
haitao.feng@intel.com
e7ef18110d
Refine CountOperation of FullCodeGen
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/42973002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 09:34:52 +00:00
yangguo@chromium.org
eb550c6da4
Fix y-umlaut to uppercase.
...
R=dcarney@chromium.org
BUG=v8:2984
Review URL: https://codereview.chromium.org/59853006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 09:08:34 +00:00
svenpanne@chromium.org
c44a4d383c
Removed useless getter/setter.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/64013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 08:23:09 +00:00
haitao.feng@intel.com
6e0ccacc7a
Refactor loading a pointer and loading an integer64 into a register instructions for X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/39543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 08:14:27 +00:00
svenpanne@chromium.org
4ac37914ec
Refactored ObjectSerializer::VisitFoo functions.
...
Tiny superficial cleanup to make the similarities more visible.
Removed a few useless assertions on the way.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/60363006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 07:37:28 +00:00
svenpanne@chromium.org
4efb05dfe4
Fix WIN64 build
...
Review URL: https://codereview.chromium.org/63703002
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 07:17:57 +00:00
haitao.feng@intel.com
d3c6c4ce0c
Move movq(Register, ExternalReference) into X64 MacroAssembler
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/43333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 02:08:53 +00:00
plind44@gmail.com
64250b8117
MIPS: Improve implementation of HSeqStringSetChar.
...
Port r17521 (c51c75e)
Original commit message:
This improves the generated code for HSeqStringSetChar across
all platforms, taking advantage of constant operands whenever
possible. It also drops the unused DefineSameAsFirst constraint
for the register allocator on x64 and ia32, where it caused
unnecessary spills when the string operand was live across the
HSeqStringSetChar instruction.
A new GVN flag StringChars is introduced to express dependencies
between HSeqStringSetChar, HStringCharCodeAt and the upcoming
HSeqStringGetChar (the GVNFlags type is now 64bit in size).
Also improves the test case.
TEST=mjsunit/string-natives
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/61893003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 23:52:37 +00:00
plind44@gmail.com
60067c9a33
MIPS: Correct handling of arrays with callbacks in the prototype chain.
...
Port r17525 (55b95f3)
Original commit message:
Our generic KeyedStoreIC doesn't handle the case when a callback is
set on array elements in the prototype chain of the object, nor do
we recognize that we need to avoid the monomorphic case if these
callbacks exist.
This CL addresses the issue by looking for dictionary elements in
the prototype chain on IC misses and crankshaft element store
instructions. When found, the generic IC is used. The generic IC is
changed to go to the runtime in this case too.
In general, keyed loads are immune from this problem because they
won't return the hole: discovery of the hole goes to the runtime where
the callback will be found in the prototype chain. Double array loads
in crankshaft can return the hole but only if the prototype chain is
unaltered (we will catch such alterations).
Includes the following patch as well (already reviewed by bmeurer):
Performance regression found in test regress-2185-2.js. The problem was
that the bailout method for TransitionAndStoreStub was not performing
the appropriate transition.
(Review URL for the ElementsTransitionAndStoreIC_Miss change:
https://codereview.chromium.org/26911007 )
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/63083002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 21:22:41 +00:00
verwaest@chromium.org
c809433941
Revert "Landing https://codereview.chromium.org/40133004 for mnita@google.com." due to test failures.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/62563002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 18:19:26 +00:00
cira@chromium.org
ef05eef033
Landing https://codereview.chromium.org/40133004 for mnita@google.com.
...
Implements ES6 String.prototype.normalize method.
BUG=v8:2943
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/60013010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 17:27:31 +00:00
mstarzinger@chromium.org
3e9786ef24
Add three string constants from parser to the root-set.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/62143002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 17:05:50 +00:00
mvstanton@chromium.org
1d835561ac
Change test expectations for webkit/fast/js/object-slow-put and friends.
...
R=verwaest@chromium.org
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/62213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 16:38:40 +00:00
rafaelw@chromium.org
1a74e27994
Handlify ForceSetObjectProperty
...
Note that I've left the layering as is to make the diffs clear. Is it worth moving ForceSetObjectProperty to objects.cc? This code is clearly implementing part of the DefineOrRedefine steps from the spec, but it's still odd that it lives in Runtime. Note that handles.cc exposes a ForceSetProperty which just performs a CALL_HEAP_FUNCTION on the Runtime::ForceSetObjectProperty -- which is exposed to the api as v8::Object::ForceSet
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/61883002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 16:32:47 +00:00
dslomov@chromium.org
9ae4f9c2ca
Ensure that typed array constructors are crankshaftable.
...
Also, do not allocate sub-closures for every call to typed array constructor.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/59913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 16:28:38 +00:00
yangguo@chromium.org
b8a77348b2
Age ICs on context dispose notification.
...
R=ulan@chromium.org
BUG=309723
Review URL: https://codereview.chromium.org/59383012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 15:47:05 +00:00