ulan@chromium.org
4485930247
ARM: Try to avoid VMSR instruction and drop redundant VCVT
...
We were doing a redundant VCVT operation in MacroAssembler::EmitECMATruncate.
Also, setting the FPSCR exception flags is expensive on some CPUs, wo we should
try to avoid it if we can.
Thanks to Rodolph Perfetta for the input on this!
Review URL: https://chromiumcodereview.appspot.com/12217014
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 10:32:02 +00:00
danno@chromium.org
9f947d714f
Print generated code for Crankshafted stubs with --print-code-stubs
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/12223007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 18:00:42 +00:00
danno@chromium.org
940b65160a
Add separate flag for --trace-stub-failures
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/12208011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 16:28:36 +00:00
hpayer@chromium.org
492396f2ab
Fixed IsSweepingComplete and EnsureSweeperProgress helper functions.
...
BUG=
Review URL: https://codereview.chromium.org/12177017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 15:48:59 +00:00
verwaest@chromium.org
91218182c6
Fix Win64. It still cares about the actual registers behind scratch1/scratch2
...
Review URL: https://chromiumcodereview.appspot.com/12211011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 10:38:40 +00:00
danno@chromium.org
5ce30a311d
Fix Win64 build
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/12221012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 10:33:21 +00:00
danno@chromium.org
4c052815df
Support pass-through of stub caller arguments
...
Review URL: https://codereview.chromium.org/12093089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 08:09:32 +00:00
adamk@chromium.org
dbf50cf948
Object.observe: change array truncation logic to efficiently handle large sparse arrays
...
Review URL: https://codereview.chromium.org/12041084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 21:03:08 +00:00
adamk@chromium.org
6ab7a23f6c
Object.observe: use JSWeakMaps instead of raw ObjectHashTables in observation state
...
object-observe.js uses weak maps to add "hidden" properties to
objects. Previously, the hash tables it was using weren't actually
weak. This patch changes the existing runtime functions to create
instances of JSWeakMap instead of exposing ObjectHashTable directly.
Review URL: https://codereview.chromium.org/12092079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 20:24:11 +00:00
verwaest@chromium.org
4bf6a992cf
Keep ArrayLength, StringLength and FunctionPrototype MONOMORPHIC.
...
Review URL: https://chromiumcodereview.appspot.com/12181012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 15:40:50 +00:00
danno@chromium.org
bd389e6e2d
Prepare push to trunk. Now working on version 3.16.14.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12190003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 13:32:52 +00:00
verwaest@chromium.org
aca87c2fcd
Tag stubs that rely on instance types as MEGAMORPHIC.
...
BUG=chromium:173974
Review URL: https://chromiumcodereview.appspot.com/12178017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 13:12:03 +00:00
danno@chromium.org
0c3575c874
Generate the TransitionElementsStub using Crankshaft
...
This includes:
* Adding support for saving callee-clobbered double registers in Crankshaft code.
* Adding a new "HTrapAllocationMemento" hydrogen instruction to handle AllocationSiteInfo data in crankshafted stubs.
* Adding a new "HAllocate" hydrogen instruction that can allocate raw memory from the GC in crankshafted code.
* Support for manipulation of the hole in HChange instructions for Crankshafted stubs.
* Utility routines to manually build loops and if statements containing hydrogen code.
Review URL: https://codereview.chromium.org/11659022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 12:01:59 +00:00
ulan@chromium.org
744d61ebe7
Fix clearing of dead dependent codes and verify weak embedded maps on full GC.
...
BUG=172488,172489
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12094036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 10:56:50 +00:00
ulan@chromium.org
23ee3f285a
Make the arm port build cleanly with Clang.
...
This fixes the following two warnings, so that "make all" builds cleanly
with Clang:
src/arm/macro-assembler-arm.h:1410:7: error: private field
'instructions_' is not used
[-Werror,-Wunused-private-field]
int instructions_; // Number of instructions of the expected patch size.
^
src/arm/simulator-arm.cc:402:20: error: variable 'words' is used uninitialized whenever 'if'
condition is false [-Werror,-Wsometimes-uninitialized]
} else if (argc == next_arg + 1) {
^~~~~~~~~~~~~~~~~~~~
../src/arm/simulator-arm.cc:407:21: note: uninitialized use occurs here
end = cur + words;
^~~~~
../src/arm/simulator-arm.cc:402:16: note: remove the 'if' if its condition is always true
} else if (argc == next_arg + 1) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
Review URL: https://chromiumcodereview.appspot.com/12087131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 10:30:54 +00:00
verwaest@chromium.org
7282be179e
MIPS: Merge KeyedLoad and NamedLoad stub compiler code.
...
Port r13579 (e640269)
BUG=
Review URL: https://chromiumcodereview.appspot.com/12186003
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 08:51:37 +00:00
verwaest@chromium.org
0d89d9a019
Merge KeyedLoad and NamedLoad stub compiler code.
...
Review URL: https://chromiumcodereview.appspot.com/12094082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 13:39:36 +00:00
danno@chromium.org
df2a62fb25
ARM: Add comments to clarify conditionally executed code dealing with d16-d31
...
Review URL: https://codereview.chromium.org/12087132
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 11:57:22 +00:00
verwaest@chromium.org
66b9909328
MIPS: Support slow-mode prototypes for load and call ICs.
...
Port r13571 (c37a2f5).
Original commit message:
Support slow-mode prototypes for load and call ICs.
This changes LoadNonExistent to handle negative lookups as well.
BUG=
Review URL: https://chromiumcodereview.appspot.com/12089098
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 10:35:21 +00:00
mmassi@chromium.org
3b8a61dcf3
Base iDef update code.
...
Review URL: https://codereview.chromium.org/12079042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 10:16:16 +00:00
mstarzinger@chromium.org
bc16616911
Prepare push to trunk. Now working on version 3.16.13.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12084091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 08:54:38 +00:00
verwaest@chromium.org
b1e5157e7b
Support slow-mode prototypes for load and call ICs.
...
This changes LoadNonExistent to handle negative lookups as well.
Review URL: https://chromiumcodereview.appspot.com/12092043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 16:18:18 +00:00
jkummerow@chromium.org
1c1fdc7da2
Better fix for MemoryChunk::owner().
...
Pointer arithmetic such as "owner_ - kFailureTag" is undefined behaviour
unless owner_ points to a valid object.
This allowed Clang to assume the subtraction would never be NULL,
causing problems in the caller (see https://codereview.chromium.org/12090072/ ).
To fix this, we should cast owner_ to intptr_t before doing the
arithmetic.
Review URL: https://codereview.chromium.org/12096089
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 15:36:24 +00:00
hpayer@chromium.org
7fe9f3b05c
Added parallel marking threads.
...
BUG=
Review URL: https://codereview.chromium.org/12047044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 14:23:36 +00:00
danno@chromium.org
66dbac2b88
MIPS: Fix gbemu performance regression.
...
Port r13557 (aa3ba8a)
BUG=
Review URL: https://codereview.chromium.org/12091083
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 12:57:05 +00:00
verwaest@chromium.org
672056ac88
Only mark the descriptor that is valid for the map in question. If this map
...
transitioned from a map with a different descriptor array (or has no back
pointer), mark all valid descriptors from the start.
This fixes the following memory leak: Map A shares a descriptor array
with map B. Map B adds constant function c that in its scope holds on to
an instance of B. If the descriptor array of A would keep all the shared
descriptors alive, including c, this keeps alive both A and c
indefinitely.
This CL also fixes a bug in descriptor array trimming. When trimming
descriptor arrays we need to trim off the slack as well (thus the entire
storage); and since we are trimming a descriptor array, we need to trim
* kDescriptorSize.
Review URL: https://chromiumcodereview.appspot.com/12084066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 10:50:42 +00:00
adamk@chromium.org
c001d928df
Object.observe: don't unnecessarily emit oldValue for reconfigurations of data properties
...
When a data property has its attributes changed but its value remains the same,
don't emit an oldValue. This makes the API more consistent by only emitting
oldValue when the value of a property has actually changed (or been removed,
in the case of a reconfiguration as an accessor property or a deletion).
Review URL: https://codereview.chromium.org/11820004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 21:07:28 +00:00
jkummerow@chromium.org
ddc175f244
Work around a bug in Clang that optimizes away a NULL check
...
Review URL: https://codereview.chromium.org/12090072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 17:35:29 +00:00
danno@chromium.org
46bc919b47
MIPS: Fix Mac problem with stubs initialization
...
Port r13542 (d3217e18)
BUG=
TEST=
Review URL: https://codereview.chromium.org/12091042
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 16:12:04 +00:00
danno@chromium.org
c9be48a2b7
MIPS: Add StubFailureTrampolineFrames
...
Port r13533 (2f339757)
Original commit message:
In preparation of supporting stubs that deopt and then need to push their
register-based parameters to an arguments area on the stack that gets properly
collected, add StubFailureTrampolineFrames to hold those parameters.
BUG=
TEST=
Review URL: https://codereview.chromium.org/12087053
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 16:09:31 +00:00
hpayer@chromium.org
ba8a1dca66
Initialize sweeper thread array with NULL.
...
BUG=
Review URL: https://codereview.chromium.org/12079076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 15:50:09 +00:00
verwaest@chromium.org
e7420f65bc
Also allow the empty object map to keep transitions.
...
With the old implementation, due to the map-check being inadequate, such
transitions were already added for cross-context field stores. It is not
necessary anymore to not store transitions, since we properly clear
non-live transitions. Globally enabling this feature will help find more
bugs.
BUG=v8:2518
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12092063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 15:07:58 +00:00
danno@chromium.org
f7bae62cd3
Fix gbemu preformance regression
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12084063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 14:25:34 +00:00
hpayer@chromium.org
0068ee59ce
Fix build bot. Force instantiation of templatized SweepConservatively method.
...
BUG=
Review URL: https://codereview.chromium.org/12079075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 13:13:04 +00:00
hpayer@chromium.org
117cedbbf2
Fixes Windows build bots.
...
BUG=
Review URL: https://codereview.chromium.org/12094057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 12:47:41 +00:00
hpayer@chromium.org
44caabb1cd
Parallel and concurrent sweeping.
...
Sweep old pointer space and old data space concurrently to the main mutator thread and in parallel.
BUG=
Review URL: https://codereview.chromium.org/11782028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 12:19:32 +00:00
hpayer@chromium.org
c027397c9d
Precisely measure duration of mark and sweep phases. Changed print_cumulative_gc_stat flag to only print GC statistics at end of program.
...
BUG=
Review URL: https://codereview.chromium.org/11595006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 10:51:13 +00:00
ulan@chromium.org
3b24f64e3d
ARM Deoptimizer: fix TODO from r13484
...
This lets the Deoptimizer pointer stay in r0, saving a mov and
simplifying the code a little.
BUG=none
TEST=Tested with test/mjsunit/math-floor-of-div.js, this fails reliably if OSR is broken
Review URL: https://chromiumcodereview.appspot.com/12082046
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 10:24:00 +00:00
ulan@chromium.org
3a23c2f7df
Make DwVfpRegister::AllocationIndexToString use VFPRegister::Name
...
This also fixes a bug caused by a missing comma after "d13" in
the 'names' array in AllocationIndexToString.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12082044
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 09:55:49 +00:00
ulan@chromium.org
d16c2d6093
ARM: Rename Simulator::vfp_register to vfp_registers_
...
This matches Simulator::registers_ and is in line with the style guide.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12096036
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 09:50:25 +00:00
mstarzinger@chromium.org
2a5d46dd1e
Prepare push to trunk. Now working on version 3.16.12.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12087081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 09:35:15 +00:00
mmassi@chromium.org
89c4153581
Foundation for the use of informative definitions in Crankshaft.
...
Review URL: https://codereview.chromium.org/12090021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 15:46:34 +00:00
danno@chromium.org
80157b61a8
Fix Mac problem with stubs initialization
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12096040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 15:28:05 +00:00
mstarzinger@chromium.org
9cec21e60c
profiler: log solib addresses unconditionally
...
Make --prof_lazy log the addresses of shared libraries. Without those addresses,
the output of the tick processor is not very useful for node.js applications.
Address logging was disabled for --prof-lazy in r3154 for reasons that no longer
apply: the profiler is started on demand and hence looking up the addresses is
deferred until it's actually necessary.
Review URL: https://codereview.chromium.org/11309007
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 14:39:09 +00:00
svenpanne@chromium.org
3d3c2711eb
Fixed non-snapshot builds.
...
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/12093041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 12:50:42 +00:00
verwaest@chromium.org
19e1539481
Tag previously GENERIC stubs that potentially IC_Miss as MONOMORPHIC.
...
Review URL: https://chromiumcodereview.appspot.com/12079024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 12:00:56 +00:00
svenpanne@chromium.org
a325d3e60d
Unbreak Win64 build.
...
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/12095033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 10:29:37 +00:00
svenpanne@chromium.org
8e51c4c97b
Unbreak non-SSE2 ia32 platforms.
...
Improved register usage a bit on the way.
Review URL: https://codereview.chromium.org/12082043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 10:18:15 +00:00
danno@chromium.org
a6bc16b6f3
Add StubFailureTrampolineFrames
...
In preparation of supporting stubs that deopt and then need to push their
register-based parameters to an arguments area on the stack that gets properly
collected, add StubFailureTrampolineFrames to hold those parameters.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12052053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 09:12:20 +00:00
danno@chromium.org
c31454ac37
Use MemoryChunk-based allocation for deoptimization entry code
...
This is done by first committing the deoptimization entry code with a minimal
area size (OS::CommitPageSize) and later using CommitArea to adjust the size.
Committed: http://code.google.com/p/v8/source/detail?r=13494
Review URL: https://chromiumcodereview.appspot.com/11566011
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 09:09:55 +00:00
svenpanne@chromium.org
905548d2f6
Improved printing of jump tables.
...
Review URL: https://codereview.chromium.org/12093016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 14:50:47 +00:00
verwaest@chromium.org
c643d9c112
Only update POLYMORPHIC stubs using other POLYMORPHIC or GENERIC stubs.
...
Review URL: https://chromiumcodereview.appspot.com/12088021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 14:41:55 +00:00
yangguo@chromium.org
048b86d697
Log event start and event end separately when using --log-timer-events.
...
R=haraken@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12040075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 13:55:40 +00:00
verwaest@chromium.org
6953861e2f
MIPS: Replace store array length builtin with codestub.
...
Port r13506 (0d666576)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12077009
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 13:37:32 +00:00
svenpanne@chromium.org
8a86ce7ef6
Do not duplicate the compilation pipeline for stub compilation.
...
The previous duplication is quite bad from an architectural point of
view. Furthermore, it messes up the output of --hydrogen-stats.
As remarked in a comment, there is still more unification work to do, but at
least this CL is a step in the right direction...
Review URL: https://codereview.chromium.org/12091016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 13:24:41 +00:00
verwaest@chromium.org
c8636a2809
Do not try to collect the map if the monomorphic IC stub has no map.
...
This is necessary for monomorphic stubs that rely on instance types,
such as ArrayLength, StringLength and FunctionPrototype.
BUG=chromium:172345
Review URL: https://chromiumcodereview.appspot.com/12082023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 13:19:53 +00:00
ulan@chromium.org
fe0582c262
Put making embedded maps in optimized code weak behind a flag.
...
Disable the flag by default because of Chrome crashes.
BUG=172488,172489
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12091018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 10:25:38 +00:00
mstarzinger@chromium.org
fe8e97798e
Allow inlining of multiple closures from shared function.
...
This allows Crankshaft to allow inlining of multiple different closures
that were all derived from the same shared function info. This pattern
appears when libraries provide generic closures that are used over and
over again at different call-sites.
R=jkummerow@chromium.org
TEST=mjsunit/compiler/inline-closures
Review URL: https://codereview.chromium.org/12071002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 16:55:00 +00:00
yangguo@chromium.org
5681ef6fee
Actually increment queue length for parallel recompile queue.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12039088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 15:54:19 +00:00
svenpanne@chromium.org
47d2fa5c51
Slightly improved Hydrogen stats output for long-running compilations.
...
Replaced a scary pointer comparison by strcmp on the way.
Review URL: https://codereview.chromium.org/12035101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 13:55:02 +00:00
mvstanton@chromium.org
fa06b21e2b
Prepare push to trunk. Now working on version 3.16.11.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12049086
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 13:24:13 +00:00
verwaest@chromium.org
09d6eccaff
Replace store array length builtin with codestub.
...
Also includes some other minor cleanup to make Keyed related IC code
more uniform.
Review URL: https://chromiumcodereview.appspot.com/11896091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 11:55:29 +00:00
svenpanne@chromium.org
b5cb682be6
Avoid excessive memory usage during redundant phi elimination.
...
Basically, the work list for the fixed point iteration has been removed.
BUG=v8:2510
Review URL: https://codereview.chromium.org/12052075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 11:51:48 +00:00
yangguo@chromium.org
24ec13cbd2
Fix additional spec violations wrt RegExp.lastIndex.
...
R=svenpanne@chromium.org
BUG=v8:2437
Review URL: https://chromiumcodereview.appspot.com/12033099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 10:53:26 +00:00
verwaest@chromium.org
2d566c719a
Merge UpdateStoreCaches into a single function dispatching on ComputeStoreMonorphic and UpdateMegamorphicCache.
...
Review URL: https://chromiumcodereview.appspot.com/12057003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 10:34:17 +00:00
svenpanne@chromium.org
a7e88a3435
Unbreak build (offsetof only works for POD types)
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12040094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 08:54:11 +00:00
svenpanne@chromium.org
52d10a68cb
Add Isolate parameter to Persistent class.
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12033011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 08:31:46 +00:00
mstarzinger@chromium.org
44ffa0dcd3
Allow monomorphic loads when static type is known.
...
This allows Crankshaft to generate monomorphic loads when the receiver
type is statically known even though the load site has polymorphic type
feedback. This applies to inlined constructor calls and literals.
R=jkummerow@chromium.org
TEST=mjsunit/compiler/property-static
Review URL: https://codereview.chromium.org/12051058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 17:54:30 +00:00
yangguo@chromium.org
04c8093fe1
Prepare push to trunk. Now working on version 3.16.10.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12047084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 16:29:54 +00:00
mstarzinger@chromium.org
c8cf5d90aa
Implement VisitHandlesInNewSpaceWithClassIds()
...
BUG=
TEST=test-api.cc::PersistentHandleInNewSpaceVisitor
Review URL: https://codereview.chromium.org/11365131
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 15:53:16 +00:00
danno@chromium.org
63ec79a4a4
Revert r13494: "Use MemoryChunk-based allocation for deoptimization entry code"
...
This patch seems to cause crashes on Windows.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12049069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 15:48:07 +00:00
danno@chromium.org
de17ce7701
Use MemoryChunk-based allocation for deoptimization entry code
...
This is done by first committing the deoptimization entry code with a minimal
area size (OS::CommitPageSize) and later using CommitArea to adjust the size.
Review URL: https://codereview.chromium.org/11566011
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 15:14:33 +00:00
danno@chromium.org
3c52343738
Fix bug in edge case in populating PointerMaps
...
If a live range was split immediately before an instruction that required a
safe-point pointer map, it was possible for the safe-point to incorrectly use the
register/stack slot information of the preceeding live range rather than the one
that actually covers the safe-point.
R=mstarzinger@chromium.org ,vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12040052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 15:05:38 +00:00
verwaest@chromium.org
dd92c41aa1
Merge UpdateLoadCaches into a single function dispatching on
...
ComputeLoadMonorphic and UpdateMegamorphicCache.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 13:02:45 +00:00
mstarzinger@chromium.org
ef4d9d1245
Fix map check removal issue in r13488.
...
The removal of HCheckMaps is invalid when the instruction has a virtual
usage, which can happen e.g. for HLoadElements or HJSArrayLength.
R=jkummerow@chromium.org
TEST=webkit:fast/js/regress/Float32Array-matrix-mult.html
Review URL: https://codereview.chromium.org/12033073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 12:35:56 +00:00
ulan@chromium.org
e6224d275f
Make embedded maps in optimized code weak.
...
Each map has a weak array of dependent codes, where the map tracks all the optimized codes that embed it.
Old space GC either clears the dead dependent codes from the array if the corresponding map is alive or deoptimizes the live dependent codes if the map is dead.
BUG=v8:2073
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11575007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 11:55:05 +00:00
hpayer@chromium.org
c500efe14d
Force inlining of object visiting functions.
...
BUG=
Review URL: https://codereview.chromium.org/12049033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 09:40:57 +00:00
mstarzinger@chromium.org
1d124f0a75
Allow removal of obsolete map checks after transitions.
...
This allows side effect dominator tracking to remove map checks that are
dominated by a single HStoreNamedField that performs a transition on the
same object. A similar trick could be applied to HAllocateObject.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12035026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 09:10:06 +00:00
yangguo@chromium.org
c14b9b3703
Fix --hydrogen-stats.
...
V8 crashes with this flag when trying to compile hydrogen stubs.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12045048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 08:39:35 +00:00
yurys@chromium.org
250023a68d
Implicit references are missing in heap profiles
...
Review URL: https://codereview.chromium.org/11953043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 07:54:40 +00:00
verwaest@chromium.org
56adca9cc9
Ensure a type-error is thrown when trying to assign to a readonly property on the global scope.
...
Review URL: https://chromiumcodereview.appspot.com/11953056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 17:27:25 +00:00
ulan@chromium.org
bed569b548
ARM: Make use of d16-d31 when available.
...
Review URL: https://chromiumcodereview.appspot.com/11428137
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 16:29:48 +00:00
mstarzinger@chromium.org
cd21056819
Fix corner case when JSFunction is evicted from flusher.
...
This fixes a corner case that happens when JSFunctions are enqueued as
code flushing candidates but their respective SharedFunctionInfo isn't.
If the JSFunction gets evicted due to optimization the code slot in the
SharedFunctionInfo will never be recorded in the slots buffer.
R=hpayer@chromium.org
BUG=chromium:168801
TEST=cctest/test-heap/Regress168801
Review URL: https://codereview.chromium.org/11896064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 16:15:15 +00:00
verwaest@chromium.org
c1e44f133d
Always fail when trying to store to an undeclared global variable, even if it was found.
...
Finding a property, but not using an IC, indicates that the variable was
found on the prototype (in DOMWindow). Those properties need to be
ignored while storing global properties via the IC.
Review URL: https://chromiumcodereview.appspot.com/12040039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 16:04:19 +00:00
ulan@chromium.org
d29826544e
Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.
...
After r13289 the divisor can be non-constant, so we should check for zero.
BUG=171641
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12047050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 15:58:49 +00:00
verwaest@chromium.org
e086746ed7
Move polymorphic stub computation and compilation to stub cache
...
Review URL: https://chromiumcodereview.appspot.com/11953025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 15:35:43 +00:00
yangguo@chromium.org
2f36a51872
MIPS: Avoid handle dereference during graph optimization.
...
Port r13475 (0076e1ee)
Original commit message:
With parallel recompilation enabled, objects made accessible by handles may
have changed between graph construction and graph optimization. Therefore
we must not assume that information on those objects remain the same between
those two phases. To police this, we forbid handle dereferencing during
graph optimization.
Exceptions to this rule are:
- Dereferencing the handle to obtain the raw location of the object. This
is safe since parallel recompilation acquires RelocationLock
- Some places that dereference the handle for a type check. These are checked
to be safe on a case-by-case basis.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12049037
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 15:25:28 +00:00
yangguo@chromium.org
3fcbb8f1d0
MIPS: Make HCheckPrototypeMaps compatible with parallel recompilation.
...
Port r13454 (2c0dd0ff)
Original commit message:
HCheckPrototypeMaps currently records the prototype and the holder of the
prototype chain (both ends of the chain) and assumes that the chain elements
and their maps did not change in during the entirety of Crankshaft. The actual
traversal of the prototype chain happens in Lithium at code generation.
With parallel compilation, this assumption is not longer correct.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12036030
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 14:01:11 +00:00
yangguo@chromium.org
3c22524119
Avoid handle dereference during graph optimization.
...
With parallel recompilation enabled, objects made accessible by handles may
have changed between graph construction and graph optimization. Therefore
we must not assume that information on those objects remain the same between
those two phases. To police this, we forbid handle dereferencing during
graph optimization.
Exceptions to this rule are:
- Dereferencing the handle to obtain the raw location of the object. This
is safe since parallel recompilation acquires RelocationLock
- Some places that dereference the handle for a type check. These are checked
to be safe on a case-by-case basis.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12049012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 13:52:00 +00:00
mvstanton@chromium.org
b129200169
Prepare push to trunk. Now working on version 3.16.9.
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11896061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 13:40:51 +00:00
yangguo@chromium.org
9296975c04
Correctly reset lastIndex in an RegExp object.
...
R=svenpanne@chromium.org
BUG=170856
Review URL: https://chromiumcodereview.appspot.com/11896060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 12:28:16 +00:00
verwaest@chromium.org
c00d46712b
MIPS: Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub
...
Port r13459 (491896eb)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12049015
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 10:05:08 +00:00
verwaest@chromium.org
84e8ca1679
MIPS: Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub
...
Port r13458 (e8729cf9)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12052011
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 10:02:48 +00:00
verwaest@chromium.org
073ab01dbd
MIPS: Replace special IC builtins and stubs in the map's cache by codestubs.
...
Port r13453 (94525069)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12051014
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 09:45:48 +00:00
mvstanton@chromium.org
a3de98b4a7
MIPS: Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
...
Port r13462 (74f0ddf6)
Original commit message:
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo Restored test code in allocation-site-info.js that was failing on ARM because of this bug.
BUG=
TEST=
Review URL: https://codereview.chromium.org/11896037
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 16:18:59 +00:00
ulan@chromium.org
79a0e3b017
Fix pattern detection for replacing shifts by rotation.
...
BUG=2499
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12047015
Patch from Hirofumi Mako <mkhrfm@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 13:55:22 +00:00
mstarzinger@chromium.org
f8d5260af7
Allow loading constant function from proto chain.
...
This enables Crankshaft to use HConstant for loading constant functions
on the prototype chain when building a monomorphic load. This pattern
appears in several JavaScript frameworks.
R=svenpanne@chromium.org
TEST=mjsunit/compiler/proto-chain-constant
Review URL: https://codereview.chromium.org/12052008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 12:03:35 +00:00
mvstanton@chromium.org
90d0f18007
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
...
Restored test code in allocation-site-info.js that was failing on ARM because of this bug.
BUG=
Review URL: https://codereview.chromium.org/12045017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 10:49:23 +00:00
verwaest@chromium.org
2c070e2300
Merge Store from Keyed and Named store.
...
Review URL: https://chromiumcodereview.appspot.com/12036017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 09:48:59 +00:00
verwaest@chromium.org
3ffcbe3319
Merge Load from Keyed|Named load code.
...
Review URL: https://chromiumcodereview.appspot.com/12038012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 09:35:14 +00:00
verwaest@chromium.org
b79a927e74
Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub
...
Review URL: https://chromiumcodereview.appspot.com/11941016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 17:54:36 +00:00
verwaest@chromium.org
f80379f3fb
Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub
...
Review URL: https://chromiumcodereview.appspot.com/11938013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 17:17:02 +00:00
yangguo@chromium.org
77f3556504
Check for FLAG_enable_liveedit when using Live Edit.
...
R=peter.rybin@gmail.com
BUG=
Review URL: https://chromiumcodereview.appspot.com/12041008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 17:06:30 +00:00
yangguo@chromium.org
0c822b21cb
Fix some latin-1 webkit units tests
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11962035
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 16:11:31 +00:00
yangguo@chromium.org
7f331f6280
Make HCheckPrototypeMaps compatible with parallel recompilation.
...
HCheckPrototypeMaps currently records the prototype and the holder of the
prototype chain (both ends of the chain) and assumes that the chain elements
and their maps did not change in during the entirety of Crankshaft. The actual
traversal of the prototype chain happens in Lithium at code generation.
With parallel compilation, this assumption is not longer correct.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11864013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 15:49:00 +00:00
verwaest@chromium.org
c3d45451f0
Replace special IC builtins and stubs in the map's cache by codestubs.
...
Review URL: https://chromiumcodereview.appspot.com/11973008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 14:53:29 +00:00
yangguo@chromium.org
b6e2763768
Prepare push to trunk. Now working on version 3.16.8.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12046002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 14:37:29 +00:00
jkummerow@chromium.org
b7079a5dfb
Disable elimination of unreachable code after HSoftDeopts
...
Review URL: https://codereview.chromium.org/12036011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 14:11:25 +00:00
mvstanton@chromium.org
3414a514cd
Fixed test failure.
...
A test case erroneously expected a transition to a double array, but the array remains FAST_SMI.
In person LGTM from Danno...
BUG=
Review URL: https://codereview.chromium.org/12038008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 13:21:53 +00:00
mstarzinger@chromium.org
5cd6913839
Remove unused GlobalHandles::IterateWeakRoots()
...
BUG=
Review URL: https://codereview.chromium.org/11969037
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 12:31:13 +00:00
mvstanton@chromium.org
d7d917e6f0
Out of bounds memory access in TestJSArrayForAllocationSiteInfo.
...
The function intended to check the map pointer of an AllocationSiteInfo object, but neglected to
subtract an offset to do so.
BUG=169928
Review URL: https://codereview.chromium.org/11931037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 12:26:29 +00:00
mstarzinger@chromium.org
0f5b5dd311
Remove GlobalHandles::number_of_weak_handles_ and number_of_global_object_weak_handles_
...
This is a preparation patch for inlining MakeWeak() and Clear().
Given that NumberOfWeakHandles() is used only by CHECK_EQ() in serialized.cc and that NumberOfGlobalObjectWeakHandles is unused, it is wasteful to keep track of number_of_weak_handles_ and number_of_global_object_weak_handles_ at every MakeWeak() and Clear(). Instead, we can count the number at the point where NumberOfWeakHandles() or NumberOfGlobalObjectWeakHandles() is called.
BUG=
Review URL: https://codereview.chromium.org/11958015
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 12:15:31 +00:00
svenpanne@chromium.org
b659b460bf
Moved FlagList::EnforceFlagImplications to V8::InitializeOncePerProcessImpl.
...
Cleaned up V8::InitializeOncePerProcessImpl a bit on the way.
Review URL: https://codereview.chromium.org/12045005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 12:04:40 +00:00
mvstanton@chromium.org
a1e2d62a4c
MIPS: Additional work to get array literal allocation tracking working, even with --always-opt
...
Port r13406 (796a9f11)
BUG=
TEST=
Review URL: https://codereview.chromium.org/12026002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 08:30:11 +00:00
yangguo@chromium.org
8c3e4f4f57
Prepare push to trunk. Now working on version 3.16.7.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11941017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 16:28:45 +00:00
yangguo@chromium.org
284a28e797
Temporarily disable deferred stack trace formatting.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11859027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 13:05:03 +00:00
ulan@chromium.org
5d03307500
Remove redundant check in LCodeGen::DoBoundsCheck
...
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12026014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 12:38:42 +00:00
yangguo@chromium.org
8ac44e5538
MIPS: Fix wrong asserts in SeqStringSetCharGenerator.
...
This commit fixes wrong asserts in commit r13230 (1929bb68).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11943003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 10:54:24 +00:00
jkummerow@chromium.org
9cf627b3a8
MIPS: Don't emit code for instructions that are hiding behind an HSoftDeoptimize
...
Port r13412 (36df819b)
BUG=
TEST=
Review URL: https://codereview.chromium.org/12022005
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 10:10:36 +00:00
jkummerow@chromium.org
8a6221b1ed
Don't insert HDummyUses for control instructions
...
Review URL: https://codereview.chromium.org/11941013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 09:19:11 +00:00
danno@chromium.org
e1e81a08db
MIPS: Fix if condition in DoTransitionElementsKind.
...
This commit fixes a couple of mjsunit test failures in debug mode,
which were introduced by commit r11636 (fe0c6bbe).
BUG=
TEST=
Review URL: https://codereview.chromium.org/11941004
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 08:53:11 +00:00
svenpanne@chromium.org
fab9a39d9d
Make the Isolate parameter mandatory in Locker and Unlocker classes.
...
Note that leaving out the Isolate parameter previously had a very special
meaning, namely "use the *default* Isolate", i.e. the one magically created at
program initialization time. All other API entries use the meaning "current
Isolate", which is different in a multi-threaded setting and confusing.
Temporarily disabled deprecations until Chrome is ready.
BUG=v8:2487
Review URL: https://codereview.chromium.org/11970009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 07:20:17 +00:00
mmassi@chromium.org
ca78326b66
Revert r13409 ("Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).") because of a crash in octane/mandreel.
...
Review URL: https://chromiumcodereview.appspot.com/11962041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 16:09:08 +00:00
yangguo@chromium.org
84ae8d31b1
Remove some unnecessary use of templates.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11958040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 14:31:03 +00:00
jkummerow@chromium.org
a496e0d06a
Don't emit code for instructions that are hiding behind an HSoftDeoptimize
...
Review URL: https://codereview.chromium.org/11377135
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 14:07:47 +00:00
jkummerow@chromium.org
f6659cfcd7
Recently I tried to debug CPU profiling on Chrome.
...
I've found that profiling is not working in Debug version.
The actual problem is that sandbox/playgroung configuration is wrong and tgkill syscalls are disallowed.
This patch will make such cases more clear.
Review URL: https://codereview.chromium.org/11961037
Patch from Eugene Klyuchnikov <eustas@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 13:48:27 +00:00
jkummerow@chromium.org
26969a62a3
Optimize the emitted instruction of random function for X64
...
Committed: http://code.google.com/p/v8/source/detail?r=13393
Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 13:38:08 +00:00
mmassi@chromium.org
583f67b54b
Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11783055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 12:39:16 +00:00
verwaest@chromium.org
78b174af29
Allow miss in GENERIC keyed load/store.
...
Review URL: https://chromiumcodereview.appspot.com/11975044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 12:28:37 +00:00
mstarzinger@chromium.org
cd6771b831
Remove unused methods about Node::class_id_
...
BUG=
Review URL: https://codereview.chromium.org/11983002
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 10:42:17 +00:00
mvstanton@chromium.org
7884216804
Additional work to get array literal allocation tracking working, even with --always-opt
...
BUG=
Review URL: https://codereview.chromium.org/11817017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 08:41:27 +00:00
mstarzinger@chromium.org
fd4d32e733
Inline SetWrapperClassId() and WrapperClassId()
...
BUG=
TEST=test-api.cc (WrapperClassId)
Review URL: https://codereview.chromium.org/11961014
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 16:33:09 +00:00
yangguo@chromium.org
5da9e75670
Remove support for Live Object List and inspector module.
...
These were introduced in r7012 and r6379.
The reason for this is that both features are not being maintained.
They have been out-of-date for a while. Test cases do not exist.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11975012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:44:26 +00:00
yangguo@chromium.org
e3c3c1620a
Add missing VMState(EXTERNAL) for DOM GC callbacks
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11958011
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:16:31 +00:00
verwaest@chromium.org
36a26b5394
Separate MEGAMORPHIC and GENERIC ic states
...
Review URL: https://chromiumcodereview.appspot.com/11824063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:02:58 +00:00
ulan@chromium.org
07c60c2dac
Check that FPU TOP register is zero and clear all exceptions instead of using fninit,
...
which causes performance regression on Windows.
BUG=168370
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11962015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 14:54:19 +00:00
yangguo@chromium.org
a8d59243b9
Cleanup latin-1 conversion check in regexp engine
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11880045
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 13:04:07 +00:00
yangguo@chromium.org
451ed2f2cf
Remove some ascii checks in advance of latin-1 release
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11880017
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 12:52:27 +00:00
yangguo@chromium.org
10436443fe
Avoid pointer underflow in CopyCharsUnsigned.
...
R=dcarney@chromium.org
BUG=v8:2493
Review URL: https://chromiumcodereview.appspot.com/11961012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 12:27:38 +00:00
svenpanne@chromium.org
6e6426627e
Implement Context::GetIsolate()
...
BUG=
TEST=test-api.cc (IsolateOfContext)
Review URL: https://codereview.chromium.org/11968011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 12:11:43 +00:00
jkummerow@chromium.org
e3cda0aef1
Revert "Optimize the emitted instruction of random function for X64"
...
This reverts r13393.
Review URL: https://codereview.chromium.org/11967009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 11:45:08 +00:00
jkummerow@chromium.org
dc5dc3740e
MIPS: Some more instrumentation to narrow down Failure leaks.
...
Port r13341 (673c3243)
Original commit message:
The basic idea is to tag OOM-Failure objects with an ID indicating where they were created. This requires changes to equality comparisons.
BUG=
TEST=
Review URL: https://codereview.chromium.org/11972002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:50:01 +00:00
jkummerow@chromium.org
47b28502ce
Record vdso and vsyscall as shared libraries in OS::LogSharedLibraryAddresses on Linux
...
Review URL: https://codereview.chromium.org/11879036
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:46:34 +00:00
jkummerow@chromium.org
fd59972306
Optimize the emitted instruction of random function for X64
...
Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:35:24 +00:00
mstarzinger@chromium.org
4e6525da7e
Inline MarkIndependent(), MarkPartiallyDependent(), IsIndependent()
...
TEST=test-api.cc (IndependentWeakHandle, ApiObjectGroupsCycleForScavenger)
Review URL: https://codereview.chromium.org/11879044
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:10:53 +00:00
yangguo@chromium.org
ec9dc27880
MIPS: Remove move ascii data hint for one byte strings
...
Port r13375 (198859e8)
Original commit message:
This is mostly a rollback of r12966 [Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11969004
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:05:15 +00:00
yangguo@chromium.org
72878509e2
MIPS: Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.
...
Port r13344 (e5638dd9)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11971003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:00:31 +00:00
mstarzinger@chromium.org
0484ddcf50
Fix arguments materialization for inlined apply().
...
This fixes materialization of the arguments object in case the constant
function check if TryCallApply() inside an inlined frame fails.
R=svenpanne@chromium.org
BUG=v8:2489
TEST=mjsunit/regress/regress-2489
Review URL: https://codereview.chromium.org/11931012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 09:25:45 +00:00
svenpanne@chromium.org
b5e4485a34
Add some runtime checks to MayNamedAccess
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11877027
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 08:54:04 +00:00
mstarzinger@chromium.org
5fd157db1b
Pack GlobalHandles::Node::state_ and three flags into uint8_t
...
TEST=test-api.cc (ApiObjectGroupsCycle, ApiObjectGroupsCycleForScavenger, IndependentWeakHandle)
Review URL: https://codereview.chromium.org/11875015
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:26:48 +00:00
yangguo@chromium.org
f15f294127
Sync laziness between BuildFunctionInfo and MakeFunctionInfo.
...
BuildFunctionInfo compiles the function eagerly when there are debug
break points. However, the AST may have been parsed lazily since
MakeFunctionInfo does not check for debug break points.
This fixes a regression introduced in r11866.
BUG=147497
Review URL: https://chromiumcodereview.appspot.com/11661008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:16:52 +00:00
mstarzinger@chromium.org
90ec61152c
Add sanity check to CodeFlusher::AddCandidate.
...
R=hpayer@chromium.org
BUG=chromium:169209
Review URL: https://codereview.chromium.org/11887031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:00:48 +00:00
yangguo@chromium.org
2fcc7d7098
Prepare push to trunk. Now working on version 3.16.6.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11885038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 09:30:04 +00:00
yangguo@chromium.org
eebebf9f1c
Add back ascii fast path for toupper/tolower
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11889007
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 09:22:14 +00:00
yangguo@chromium.org
89bef51aca
Remove move ascii data hint for one byte strings
...
This is mostly a rollback of r12966
[Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11857015
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 15:17:56 +00:00
svenpanne@chromium.org
1ac3949a93
Removed deprecated functions from v8's external API.
...
Removed the following deprecated functions:
* Object::GetPointerFromInternalField
* Object::SetPointerInInternalField
* External::Wrap
* External::Unwrap
* Context::GetData
* Context::SetData
They have been deprecated in the 3.15 branch and are not used by Chrome anymore.
Furthermore, judging from bug reports and email threads, embedders like node.js
and others are already using 3.15, too. All removed API entries can be emulated
by a one-liner, so adapting should not be hard for anybody.
We want to introduce more deprecations soon, but to keep things simple and avoid
having old and not-so-old deprecations in v8.h, the 3.15 deprecations are now
removed.
In general, the strategy of keeping deprecated things for one stable release and
then removing them seems to be a good compromise between a maintenance nightmare
and annoying external embedders. :-)
Review URL: https://codereview.chromium.org/11885019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 13:41:08 +00:00
yangguo@chromium.org
eadcc1c10c
Reland r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11880018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 13:19:27 +00:00
mstarzinger@chromium.org
17a73739f0
The time spent in GCPrologue callbacks and GCEpilogue callbacks should be measured as EXTERNAL time
...
BUG=
Review URL: https://codereview.chromium.org/11817044
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 12:59:41 +00:00
yangguo@chromium.org
cc3bb60317
Prepare API for webkit use of Latin-1
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11852019
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 11:22:05 +00:00
mstarzinger@chromium.org
12f25e6b2b
Fix problem with NULL handle in r13367.
...
R=svenpanne@chromium.org
BUG=chromium:169723
Review URL: https://codereview.chromium.org/11881020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 10:59:00 +00:00
mstarzinger@chromium.org
ee18b8f0e4
Fix unhandlified value in GetOwnProperty function.
...
R=svenpanne@chromium.org
BUG=chromium:169723
Review URL: https://codereview.chromium.org/11879017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 10:21:22 +00:00
svenpanne@chromium.org
9a8c8ed58c
We can't print the AST or the source for stubs.
...
BUG=v8:2486
Review URL: https://codereview.chromium.org/11881017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 08:36:38 +00:00
yangguo@chromium.org
d8d8f6d107
Prepare push to trunk. Now working on version 3.16.5.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11854011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-11 14:49:30 +00:00
mstarzinger@chromium.org
b93b2b98b8
Fix shared function info code replacement.
...
This fixes a corner case when the unoptimized code for a shared function
info is replaced while the function is enqueued as a flushing candidate.
Since the link field is stored within the code object, the candidates
list got destroyed.
R=hpayer@chromium.org
BUG=v8:169209
TEST=cctest/test-heap/Regress169209
Review URL: https://codereview.chromium.org/11818052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-11 13:13:11 +00:00
svenpanne@chromium.org
1ea15e5ad2
Make v8 handle OOM during Heap construction more gracefully.
...
Review URL: https://codereview.chromium.org/11824064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 15:53:11 +00:00
jkummerow@chromium.org
b64765eb62
Better --trace-ic output for UnaryOpICs, matching other IC types
...
Review URL: https://codereview.chromium.org/11826051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 14:35:06 +00:00
jkummerow@chromium.org
0ac84d782f
Add non-ASCII support to d8's read() function
...
Review URL: https://codereview.chromium.org/11778099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 14:27:45 +00:00
verwaest@chromium.org
7cb764b780
Combine DEBUG_BREAK and DEBUG_PREPARE_STEP_IN into one IC stub kind DEBUG_STUB, encoding DEBUG_BREAK and DEBUG_PREPARE_STEP_IN as extra ic state.
...
Review URL: https://chromiumcodereview.appspot.com/11821049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 14:15:12 +00:00
mstarzinger@chromium.org
1079642c97
Fix missing exception check in typed array constructor (2).
...
This fixes another crash when the the typed array constructor accesses
an array that has a throwing accessor defined on one of it's elements.
R=verwaest@chromium.org
BUG=chromium:168545
TEST=mjsunit/regress/regress-crbug-168545.js
Review URL: https://codereview.chromium.org/11791052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 11:45:29 +00:00
yangguo@chromium.org
64b74e6910
Fix objectprint=on build.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11827023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 16:34:45 +00:00
jkummerow@chromium.org
c111d8f4b0
Prepare push to trunk. Now working on version 3.16.4.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/11778065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 16:13:05 +00:00
yangguo@chromium.org
e41c17084f
Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11818025
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 15:47:53 +00:00
hpayer@chromium.org
7541dff7bb
Filter old space and large object space to new space references when moving parts of a FixedArray.
...
BUG=v8:2452
Review URL: https://codereview.chromium.org/11737006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 14:01:39 +00:00
yangguo@chromium.org
a0fb367755
MIPS: Emit madd.d for multiply-add on MIPS.
...
Based on commit r12958 (04586adf).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11783049
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 12:31:34 +00:00
jkummerow@chromium.org
aee9febccc
Some more instrumentation to narrow down Failure leaks.
...
The basic idea is to tag OOM-Failure objects with an ID indicating where they were created. This requires changes to equality comparisons.
Note to MIPS folks: I'm planning to revert this CL in a couple of days, so feel free to skip porting the platform-specific changes.
BUG=chromium:156010
Review URL: https://codereview.chromium.org/11818023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 12:29:06 +00:00
yangguo@chromium.org
45f20e366a
Introduce ENABLE_LATIN_1 compile flag
...
Mostly a bunch of renaming when flag is disabled.
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11759008
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 10:30:54 +00:00
mvstanton@chromium.org
9188bb67f2
MIPS: Adapt Danno's Track Allocation Info idea to fast literals.
...
Port r13330 (6d9ce8a8)
Original commit message:
Adapt Danno's Track Allocation Info idea to fast literals. When allocating a literal array, we store an AllocationSiteInfo object right after the JSArray, with a pointer to the boilerplate object. Later, if the array transitions we check for the continued existence of the temporary AllocationSiteInfo object (has no roots). If found, we'll use it to transition the boilerplate array as well.
Danno's original changeset: https://codereview.chromium.org/10615002/
BUG=
TEST=
Review URL: https://codereview.chromium.org/11783048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 10:12:56 +00:00
yangguo@chromium.org
746326f4fc
MIPS: Fix typo in commit r13326 (f8c9bf84).
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11824015
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 09:40:00 +00:00
svenpanne@chromium.org
0aacbf9619
Added %FlattenString and use it to speed up a regression test.
...
Flattening strings is relatively costly and by doing it after every duplication
we avoid combinatorial explosion.
Note that flattening could have been done by e.g. using a regular expression,
too, but this is just another implementation detail and %FlattenString seems
general enough to be useful in other tests, too.
Review URL: https://codereview.chromium.org/11828014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 09:32:12 +00:00
danno@chromium.org
8e7f419fe2
MIPS: Generalize calling to C++ on stub deopt
...
Port r13320 (916d70a6)
Original commit message:
Remove code specific to KeyedLoadICs in DoCompiledStubFrame on all platforms, driving stub frame translation by the register parameter information found in a stub's CodeStubInterfaceDescriptor.
BUG=
TEST=
Review URL: https://codereview.chromium.org/11783046
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 08:43:36 +00:00
danno@chromium.org
13db297761
Fix nosse2 crash introduced by r13320
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11788030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 16:21:39 +00:00
yangguo@chromium.org
3a06a29c13
Only enable MinGW-w64 pow() workaround if needed
...
The pow() workaround is no longer needed in the latest version of
MinGW-w64.
Contributed by net147@gmail.com
BUGS=
TEST=mjsunit/math-pow,mjsunit/math-sqrt
Review URL: https://chromiumcodereview.appspot.com/11748033
Patch from Jonathan Liu <net147@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 15:32:40 +00:00
yangguo@chromium.org
14ed983753
Enable readline on d8 while building a shared lib.
...
This patch enables readline on d8 except for completion support.
It sould be useful enough for history and line editing.
This is related to V8's issue 1781 (http://code.google.com/p/v8/issues/detail?id=1781 ), not chromium's.
BUG=1781
Review URL: https://chromiumcodereview.appspot.com/11776017
Patch from Luis Reis <luis.m.reis@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 15:24:17 +00:00
verwaest@chromium.org
c386538cd2
Use POLYMORPHIC for polymorphic Keyed(Load|Store)IC
...
Review URL: https://chromiumcodereview.appspot.com/11794045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 12:01:51 +00:00
mvstanton@chromium.org
467b75208f
Test fix: missing check for JSArray.
...
BUG=
Review URL: https://codereview.chromium.org/11801036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 10:22:12 +00:00
mvstanton@chromium.org
529f801fde
Adapt Danno's Track Allocation Info idea to fast literals. When allocating a literal array,
...
we store an AllocationSiteInfo object right after the JSArray, with a pointer to the
boilerplate object. Later, if the array transitions we check for the continued existence
of the temporary AllocationSiteInfo object (has no roots). If found, we'll use it to
transition the boilerplate array as well.
Danno's original changeset: https://codereview.chromium.org/10615002/
Review URL: https://codereview.chromium.org/11663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 09:03:16 +00:00
verwaest@chromium.org
50d82ca796
Introduce POLYMORPHIC
...
Review URL: https://chromiumcodereview.appspot.com/11747022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 15:36:26 +00:00
verwaest@chromium.org
400b8b8c44
Slight cleanup of UpdateCache code.
...
Review URL: https://chromiumcodereview.appspot.com/11737033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 15:35:00 +00:00
svenpanne@chromium.org
eb9a22cc8b
Environment bookkeping has linear time complexity now, not a quadratic one.
...
This reduces the time take for mjsunit/limit-locals from 56.8s to 15.1s in debug
mode and from 12.0s to 1.6s in release mode.
Note that GrowableBitVector and BitVector should really be merged, and probably
have their allocation strategy parmeterized. The current state of affairs
involving tons of checks and delegation is extremely ugly, and it is far from
clear if all that special casing is a clear win. STL FTW! :-P
Review URL: https://codereview.chromium.org/11775016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 15:28:20 +00:00
yangguo@chromium.org
61f4012989
Use C++ style type casts.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11644097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 15:02:56 +00:00
mstarzinger@chromium.org
0e46919c32
Fix missing exception check in typed array constructor.
...
The typed array constructor might fail if the first argument is an
object with a length property. Accessing the property can cause an
exception to be thrown and an explicit check needs to be performed.
R=verwaest@chromium.org
BUG=chromium:168545
TEST=mjsunit/regress/regress-crbug-168545.js
Review URL: https://codereview.chromium.org/11777014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 14:01:04 +00:00
verwaest@chromium.org
11c2557452
Check interceptor before optimizing load/store
...
Review URL: https://chromiumcodereview.appspot.com/11753027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 12:14:36 +00:00
danno@chromium.org
a060bf0e9b
MIPS: Elide unnecessary context reload in generated stubs.
...
Port r13290 (6970ca83)
BUG=
TEST=
Review URL: https://codereview.chromium.org/11773013
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 10:23:30 +00:00
danno@chromium.org
b510dc58d3
MIPS: Re-land Crankshaft-generated KeyedLoad stubs.
...
Port r13236 (cd9236c5)
BUG=
TEST=
Review URL: https://codereview.chromium.org/11801002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 10:18:25 +00:00
danno@chromium.org
ab301a54b3
MIPS: Remove redundant loads in DoCheckMaps Hoist the loop-invariant load out of the loop and call the other CheckMap function
...
Port r13253 (5af29105)
BUG=
TEST=
Review URL: https://codereview.chromium.org/11784014
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 10:10:38 +00:00
danno@chromium.org
4246ac3009
Generalize calling to C++ on stub deopt
...
Remove code specific to KeyedLoadICs in DoCompiledStubFrame on all platforms, driving stub frame translation by the register parameter information found in a stub's CodeStubInterfaceDescriptor.
Review URL: https://codereview.chromium.org/11635015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 10:06:11 +00:00
ulan@chromium.org
4403daca1a
ARM: generate integer zero in a uniform manner.
...
ARM generated integer zero as either Operand(0, RelocInfo::NONE32), or
Operand(0), or Operand::Zero(). My change makes it use only
Operand::Zero().
This has no functional impact, it's pure cleanup.
R= ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11745030
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 09:43:12 +00:00
ulan@chromium.org
b73db972e2
Use RelocInfo::IsNone in a few more places.
...
I had missed some earlier.
Followup to:
https://chromiumcodereview.appspot.com/11695006/
There are now NONE and NONE64 RelocInfo types, but only ARM uses them
both at the same time. They were added in:
https://chromiumcodereview.appspot.com/11191029/
R= ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11742045
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 09:15:25 +00:00
yangguo@chromium.org
ee563d7875
MIPS: Fix ARM code for DoModI.
...
Port r13247 (4dda8131)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11782009
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 08:58:52 +00:00
ulan@chromium.org
74026ea46d
MIPS: Enable type feedback for branch statement and function call
...
Port r13288 (5fa2c889)
Original commit message:
This change associates TypeFeedbackIds with ToBoolean stubs in
full-compiled code on ARM, allowing their information to be used in
Crankshaft. This eliminates unnecessary checks, especially in
DoBranch.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11801003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 08:49:52 +00:00