rossberg@chromium.org [Wed, 13 Nov 2013 10:34:06 +0000 (10:34 +0000)]
Provide private symbols through internal APIs
Adds a notion of private symbols, mainly intended for internal use, especially, self-hosting of built-in types that would otherwise require new C++ classes.
On the JS side (i.e., in built-ins), private properties can be created and accessed through a set of macros:
NEW_PRIVATE(print_name)
HAS_PRIVATE(obj, sym)
GET_PRIVATE(obj, sym)
SET_PRIVATE(obj, sym, val)
DELETE_PRIVATE(obj, sym)
In the V8 API, they are accessible via a new class Private, and respective HasPrivate/Get/Private/SetPrivate/DeletePrivate methods on calss Object.
These APIs are designed and restricted such that their implementation can later be replaced by whatever ES7+ will officially provide.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
48923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17683
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 13 Nov 2013 10:07:04 +0000 (10:07 +0000)]
Simplify behavior of code stubs that accept a variable number of stack
arguments in addition to their parameters. Before, we'd add a special
variable to the environment with the value of a register with the
number of arguments. Now, that register just appears as a parameter to
the code stub.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
70203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17680
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 13 Nov 2013 02:56:30 +0000 (02:56 +0000)]
MIPS: Fix usage of EmitBranch in compare-minus-zero-and-branch.
Port r17669 (132efad)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
71003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17675
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 12 Nov 2013 19:40:56 +0000 (19:40 +0000)]
MIPS: Fix build after r17654.
FullCodeGenerator::EmitMathFloor(CallRuntime* expr) function is not used anywhere and breaks the build.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
69293010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17674
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 12 Nov 2013 19:05:38 +0000 (19:05 +0000)]
MIPS: Introduce %_IsMinusZero.
Port r17639 (45b8a52)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
61203006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17671
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Nov 2013 17:18:05 +0000 (17:18 +0000)]
Fix usage of EmitBranch in compare-minus-zero-and-branch.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
68933009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17669
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 12 Nov 2013 17:10:30 +0000 (17:10 +0000)]
Revert "linux: use CLOCK_{REALTIME,MONOTONIC}_COARSE"
This reverts r17642 (and follow-up fix r17644) for crashing the Chrome sandbox.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
69933005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17668
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 12 Nov 2013 16:36:14 +0000 (16:36 +0000)]
Remove dead FixedSpace class from the spaces hierarchy.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
66003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17667
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 12 Nov 2013 16:24:13 +0000 (16:24 +0000)]
MIPS: Add initial hydrogenized NewStringAddStub.
Port r17635 (14180b1)
Original commit message:
The new stub is enabled via the --new-string-add flag, which is
disabled by default. For now, it's only a stripped down version
of the native StringAddStub, it's still work-in-progress.
BUG=v8:2990
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
69953005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17664
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Nov 2013 15:11:06 +0000 (15:11 +0000)]
Fix implementation of compare-minus-zero-and-branch on ia32 and x64.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
63573004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17657
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Nov 2013 14:43:18 +0000 (14:43 +0000)]
Reland "Implement Math.sin, cos and tan using table lookup and spline interpolation."
This relands r17594 with necessary fixes.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
70003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17654
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Nov 2013 14:20:53 +0000 (14:20 +0000)]
Use %_IsMinusZero where applicable to replace hackery.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
68453005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17649
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 12 Nov 2013 14:15:29 +0000 (14:15 +0000)]
Remove dead Space::ReserveSpace implementations.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
67813009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17648
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 12 Nov 2013 13:11:15 +0000 (13:11 +0000)]
Add more test coverage to push-to-trunk script.
Ensure that fetching commits works with huge change logs. The verbosity option will help debugging when dcommit hangs.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
70143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17645
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 12 Nov 2013 12:30:59 +0000 (12:30 +0000)]
CLOCK_REALTIME is 0 on Linux, use -1 for invalid clock id.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
70133003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17644
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 12 Nov 2013 12:28:48 +0000 (12:28 +0000)]
[Sheriff] Mark flaky test on windows.
BUG=v8:2999
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
68773007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17643
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 12 Nov 2013 12:18:35 +0000 (12:18 +0000)]
linux: use CLOCK_{REALTIME,MONOTONIC}_COARSE
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
68203004
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17642
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 12 Nov 2013 12:09:38 +0000 (12:09 +0000)]
Fix compilation with GCC 4.8
BUG=v8:2767,v8:2149
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
69413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17641
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Nov 2013 11:53:13 +0000 (11:53 +0000)]
Introduce %_IsMinusZero.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
63423004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17639
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 12 Nov 2013 11:44:58 +0000 (11:44 +0000)]
Add explicit Isolate parameter to External::New
We can't deprecate the non-Isolate version yet but soon will.
R=svenpanne@chromium.org, svenpanne@google.com
BUG=266838
Review URL: https://codereview.chromium.org/
70163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17638
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 12 Nov 2013 11:36:20 +0000 (11:36 +0000)]
[Sheriff] Skip failing test on nacl.
TBR=danno@chromium.org
BUG=v8:2998
Review URL: https://codereview.chromium.org/
68163012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17637
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 12 Nov 2013 10:21:08 +0000 (10:21 +0000)]
Add initial hydrogenized NewStringAddStub.
The new stub is enabled via the --new-string-add flag, which is
disabled by default. For now, it's only a stripped down version
of the native StringAddStub, it's still work-in-progress.
BUG=v8:2990
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
61893009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17635
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Nov 2013 09:08:51 +0000 (09:08 +0000)]
Refine CopyBytes macro instruction in IA32/X64
Use DWORD/QWORD copy for more short cases
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
66073003
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17632
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 12 Nov 2013 09:03:08 +0000 (09:03 +0000)]
Prepare push to trunk. Now working on version 3.23.3.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
68413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17629
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Nov 2013 07:03:59 +0000 (07:03 +0000)]
Have mercy and don't kill the Context::Scope immediately after birth.
BUG=v8::2994
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
68693003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17627
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 11 Nov 2013 18:00:52 +0000 (18:00 +0000)]
Simplify current inline allocation tracking mechanism.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
65043006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17626
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 11 Nov 2013 17:46:08 +0000 (17:46 +0000)]
Move old-space allocation tracking into Heap::AllocateRaw.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
68663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17625
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 11 Nov 2013 16:27:36 +0000 (16:27 +0000)]
Fix invalid reuse of weak global handle in GetScriptWrapper.
This fixes a direct usage of a weak global handle in GetScriptWrapper
that just casted it to a strong local handle, while a subsequent GC
might clear it. Handlepocalypse anyone?
R=machenbach@chromium.org
BUG=v8:2988
TEST=mjsunit/regress/regress-2988
Review URL: https://codereview.chromium.org/
67273004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17622
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 11 Nov 2013 15:28:47 +0000 (15:28 +0000)]
Fix potential assertion failure.
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
68913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17621
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 11 Nov 2013 14:51:56 +0000 (14:51 +0000)]
Fix potential assertion failure in ConvertCase.
IsOneByteRepresentationUnderneath requires the string to be flat, which is not
guaranteed in this case. Using IsOneByteRepresentation is sufficient here.
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
62493007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17620
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 11 Nov 2013 10:22:46 +0000 (10:22 +0000)]
Tame mjsunit/fast-literal after fixing allocations.
Not that allocations go through Heap::AllocateRaw and actually respect
the allocation timeout, the runtime of this test spiked. This adjusts
the limit to sane values now that the values are actually respected.
R=mvstanton@chromium.org
TEST=mjsunit/fast-literal
Review URL: https://codereview.chromium.org/
63603009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17615
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 11 Nov 2013 08:46:45 +0000 (08:46 +0000)]
Revert "Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available."
This reverts commit r17611 for breaking the host toolchain build
for Android (missing clock_gettime() and clock_getres() functions).
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
68513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17614
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 11 Nov 2013 08:07:37 +0000 (08:07 +0000)]
Remove unused ParserMessage class.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
52093007
Patch from Adrian Perez de Castro <aperez@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17613
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 11 Nov 2013 07:49:18 +0000 (07:49 +0000)]
Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
51333007
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17611
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Sat, 9 Nov 2013 00:14:21 +0000 (00:14 +0000)]
Set at least PTHREAD_STACK_MIN stack size when creating threads.
This patch makes sure, that the stack size of the new threads are never
less than PTHREAD_STACK_MIN, otherwise the pthread_attr_setstacksize()
function sets the default stack size (8MB), which leads to failure
in the BootUpMemoryUse test.
TEST=cctest/test-mark-compact/BootUpMemoryUse
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
63183003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17610
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 8 Nov 2013 19:35:37 +0000 (19:35 +0000)]
MIPS: Reland 17588: Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft.
Port r17606 (bc5ef55)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
66163007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17609
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 8 Nov 2013 19:33:05 +0000 (19:33 +0000)]
Revert "Reland [Object.observe] Don't force normalization of elements for observed objects"
TBR=danno
BUG=
Review URL: https://codereview.chromium.org/
67233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17608
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 8 Nov 2013 19:12:43 +0000 (19:12 +0000)]
Reland [Object.observe] Don't force normalization of elements for observed objects
Original Issue: https://codereview.chromium.org/
29353003/
TBR=danno
BUG=v8:2946
Review URL: https://codereview.chromium.org/
66933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17607
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 8 Nov 2013 17:35:58 +0000 (17:35 +0000)]
Reland 17588: Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
66193004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17606
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 8 Nov 2013 17:23:25 +0000 (17:23 +0000)]
Move new-space allocation tracking into Heap::AllocateRaw.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
66683004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17605
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 8 Nov 2013 17:14:54 +0000 (17:14 +0000)]
[Sheriff] Mark flaky webkit tests.
BUG=v8:2989
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
66163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17604
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 8 Nov 2013 17:09:14 +0000 (17:09 +0000)]
Make runtime new-space allocations go through Heap::AllocateRaw.
R=ulan@chromium.org, ishell@chromium.org
Review URL: https://codereview.chromium.org/
66723003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17603
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 8 Nov 2013 15:36:22 +0000 (15:36 +0000)]
Revert "[Object.observe] Don't force normalization of elements for observed objects"
Broke ARM build
TBR=danno
BUG=
Review URL: https://codereview.chromium.org/
66603004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17602
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 8 Nov 2013 14:55:13 +0000 (14:55 +0000)]
[Object.observe] Don't force normalization of elements for observed objects
BUG=v8:2946
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
29353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17601
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 8 Nov 2013 14:27:16 +0000 (14:27 +0000)]
Add push-to-trunk python port.
Preliminary version.
TODO: Add wrapper script in tools dir.
TODO: Some refactoring.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
49653002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17600
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 8 Nov 2013 14:16:34 +0000 (14:16 +0000)]
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
verwaest@chromium.org [Fri, 8 Nov 2013 13:54:34 +0000 (13:54 +0000)]
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
yangguo@chromium.org [Fri, 8 Nov 2013 13:44:27 +0000 (13:44 +0000)]
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
yangguo@chromium.org [Fri, 8 Nov 2013 13:10:39 +0000 (13:10 +0000)]
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
danno@chromium.org [Fri, 8 Nov 2013 12:41:02 +0000 (12:41 +0000)]
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
danno@chromium.org [Fri, 8 Nov 2013 12:23:48 +0000 (12:23 +0000)]
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
danno@chromium.org [Fri, 8 Nov 2013 11:50:23 +0000 (11:50 +0000)]
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
yangguo@chromium.org [Fri, 8 Nov 2013 11:45:56 +0000 (11:45 +0000)]
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
svenpanne@chromium.org [Fri, 8 Nov 2013 11:20:18 +0000 (11:20 +0000)]
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
yangguo@chromium.org [Fri, 8 Nov 2013 10:58:51 +0000 (10:58 +0000)]
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
svenpanne@chromium.org [Fri, 8 Nov 2013 10:55:01 +0000 (10:55 +0000)]
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
jkummerow@chromium.org [Fri, 8 Nov 2013 10:52:07 +0000 (10:52 +0000)]
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
machenbach@chromium.org [Fri, 8 Nov 2013 09:10:19 +0000 (09:10 +0000)]
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
bmeurer@chromium.org [Fri, 8 Nov 2013 07:45:15 +0000 (07:45 +0000)]
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
palfia@homejinni.com [Fri, 8 Nov 2013 00:47:34 +0000 (00:47 +0000)]
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
palfia@homejinni.com [Thu, 7 Nov 2013 21:59:45 +0000 (21:59 +0000)]
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
plind44@gmail.com [Thu, 7 Nov 2013 20:11:18 +0000 (20:11 +0000)]
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
plind44@gmail.com [Thu, 7 Nov 2013 19:28:58 +0000 (19:28 +0000)]
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
vegorov@chromium.org [Thu, 7 Nov 2013 16:35:27 +0000 (16:35 +0000)]
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
yangguo@chromium.org [Thu, 7 Nov 2013 16:25:20 +0000 (16:25 +0000)]
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
mstarzinger@chromium.org [Thu, 7 Nov 2013 16:07:19 +0000 (16:07 +0000)]
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
dslomov@chromium.org [Thu, 7 Nov 2013 14:56:40 +0000 (14:56 +0000)]
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
yangguo@chromium.org [Thu, 7 Nov 2013 14:45:17 +0000 (14:45 +0000)]
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
bmeurer@chromium.org [Thu, 7 Nov 2013 13:43:03 +0000 (13:43 +0000)]
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
jarin@chromium.org [Thu, 7 Nov 2013 13:09:48 +0000 (13:09 +0000)]
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
bmeurer@chromium.org [Thu, 7 Nov 2013 13:03:03 +0000 (13:03 +0000)]
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
bmeurer@chromium.org [Thu, 7 Nov 2013 12:59:35 +0000 (12:59 +0000)]
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
rafaelw@chromium.org [Thu, 7 Nov 2013 12:35:57 +0000 (12:35 +0000)]
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
verwaest@chromium.org [Thu, 7 Nov 2013 12:20:45 +0000 (12:20 +0000)]
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
mstarzinger@chromium.org [Thu, 7 Nov 2013 12:08:37 +0000 (12:08 +0000)]
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
svenpanne@chromium.org [Thu, 7 Nov 2013 12:01:26 +0000 (12:01 +0000)]
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
verwaest@chromium.org [Thu, 7 Nov 2013 10:52:41 +0000 (10:52 +0000)]
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
verwaest@chromium.org [Thu, 7 Nov 2013 10:18:56 +0000 (10:18 +0000)]
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
verwaest@chromium.org [Thu, 7 Nov 2013 10:17:13 +0000 (10:17 +0000)]
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
haitao.feng@intel.com [Thu, 7 Nov 2013 09:34:52 +0000 (09:34 +0000)]
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
yangguo@chromium.org [Thu, 7 Nov 2013 09:08:34 +0000 (09:08 +0000)]
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
svenpanne@chromium.org [Thu, 7 Nov 2013 08:23:09 +0000 (08:23 +0000)]
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
haitao.feng@intel.com [Thu, 7 Nov 2013 08:14:27 +0000 (08:14 +0000)]
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
svenpanne@chromium.org [Thu, 7 Nov 2013 07:37:28 +0000 (07:37 +0000)]
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
svenpanne@chromium.org [Thu, 7 Nov 2013 07:17:57 +0000 (07:17 +0000)]
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
haitao.feng@intel.com [Thu, 7 Nov 2013 02:08:53 +0000 (02:08 +0000)]
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
plind44@gmail.com [Wed, 6 Nov 2013 23:52:37 +0000 (23:52 +0000)]
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
plind44@gmail.com [Wed, 6 Nov 2013 21:22:41 +0000 (21:22 +0000)]
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
verwaest@chromium.org [Wed, 6 Nov 2013 18:19:26 +0000 (18:19 +0000)]
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
cira@chromium.org [Wed, 6 Nov 2013 17:27:31 +0000 (17:27 +0000)]
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
mstarzinger@chromium.org [Wed, 6 Nov 2013 17:05:50 +0000 (17:05 +0000)]
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
mvstanton@chromium.org [Wed, 6 Nov 2013 16:38:40 +0000 (16:38 +0000)]
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
rafaelw@chromium.org [Wed, 6 Nov 2013 16:32:47 +0000 (16:32 +0000)]
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
dslomov@chromium.org [Wed, 6 Nov 2013 16:28:38 +0000 (16:28 +0000)]
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
yangguo@chromium.org [Wed, 6 Nov 2013 15:47:05 +0000 (15:47 +0000)]
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
mvstanton@chromium.org [Wed, 6 Nov 2013 15:45:43 +0000 (15:45 +0000)]
Correct handling of arrays with callbacks in the prototype chain.
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)
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
35413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17525
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 6 Nov 2013 13:42:00 +0000 (13:42 +0000)]
Another fix for windows breakage after r17521.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
61953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17523
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 6 Nov 2013 13:20:14 +0000 (13:20 +0000)]
Fix windows build after r17521.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
61943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 6 Nov 2013 13:09:22 +0000 (13:09 +0000)]
Improve implementation of HSeqStringSetChar.
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
R=mstarzinger@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
57383004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Wed, 6 Nov 2013 12:14:24 +0000 (12:14 +0000)]
[Object.observe] rename intrinsic change record types for consitency.
Note the spec now reflects the updated naming:
http://wiki.ecmascript.org/doku.php?id=harmony:observe_spec_changes
R=rossberg@chromium.org, rossberg
BUG=v8:2940
Review URL: https://codereview.chromium.org/
46043020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00