yangguo@chromium.org
ad25a2969d
Revert "Clean up after r16292 (disable optimization for StringWrappers)."
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23600040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:15:12 +00:00
ulan@chromium.org
0e8e003077
Implement in-place rehashing of HashTable.
...
The algorithm puts elements into correct positions in multiple iterations.
On the first iteration it tries to put elements at entries specified by
their first hash probe. On the second iteration -- by the second
hash probe, and so on. Overall it does O(k*n) memory accesses, where
k is the maximum number of probes required for an element and n is the
capacity of the hash table. The expectation is that k will be small.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23658031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:03:27 +00:00
yangguo@chromium.org
996813cca2
Clean up after r16292 (disable optimization for StringWrappers).
...
R=jochen@chromium.org
BUG=v8:2855
Review URL: https://codereview.chromium.org/22891028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:55:57 +00:00
rodolph.perfetta@gmail.com
6a558d107a
ARM: remove the regexp specific literal pool.
...
It is replaced by a mov_label_offset(Register, Label*) instruction.
BUG=none
TEST=test/cctest/test-assembler-arm.cc
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23515007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:37:42 +00:00
mstarzinger@chromium.org
e6d10e4243
Revert "Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1."
...
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/23431019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:03:56 +00:00
yangguo@chromium.org
fa2ad975ed
Unnecessay SSE2 check on x64
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23619033
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 09:47:02 +00:00
mstarzinger@chromium.org
541840f8c1
Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
...
The goal is to unify PropertyCallbackInfo and FunctionCallbackInfo so that they
contain the same fields.
The field order will be:
holder
isolate
return value default value
return value
data
this
This step 1 reorders the PropertyCallbackInfo fields.
BUG=
R=dcarney@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23620036
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 09:09:39 +00:00
olivf@chromium.org
553d73a289
Fix phis for non-sse2 double values
...
Since hydrogen will try to merge phi-inputs using registers, even if
the values are spilled, we cannot mark LGoto as double clobbering
instruction.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23068038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 09:05:27 +00:00
bmeurer@chromium.org
8dbd822855
Reland "Deuglify V8_INLINE and V8_NOINLINE."
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/23604054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 08:57:10 +00:00
dslomov@chromium.org
0642e1933b
Prepare push to trunk. Now working on version 3.21.15.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23653031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 08:52:29 +00:00
olivf@chromium.org
568e0cada5
Add a missing instruction to the ia32 disassembler.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23451024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 07:49:03 +00:00
machenbach@chromium.org
9a11424a6a
Revert "Increase test timeout on slow architectures."
...
This reverts commit 200c7cbdbc90ec2001ee4e0da7470cb508585e0d.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23475036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 07:39:44 +00:00
machenbach@chromium.org
956bac1a1c
Mark flaky tests for arm.
...
Makes the whole test-api a non-tree-closer on arm.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23961006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 07:38:37 +00:00
mstarzinger@chromium.org
51b37666e3
Revert "Fix leftover usage of OS::Allocate()."
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23691049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 20:04:51 +00:00
adamk@chromium.org
ebd4b61f38
Add access check for observed objects
...
This change is mostly straightforward: for 'normal' sorts of change records,
simply don't deliver a changeRecord to a given observer callback if an access
the callback's Context is not allowed to "GET" or "HAS" changeRecord.name on
changeRecord.object, or if ACCESS_KEYS is disallowed.
For 'splice' records, the question of whether to hand it to an observer is trickier, since
there are multiple properties involved, and multiple types of possible information leakage.
Given that access-checked objects are very rare (only two in Blink, Window and Location),
and that they are not normally used as Arrays, it seems better to simply not emit any splice
records for such objects rather than spending lots of logic to attempt to avoid information
leakage for something that may never happen.
BUG=v8:2778
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/22962009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 20:03:54 +00:00
mstarzinger@chromium.org
718a6a9a9e
Revert r16648, r16641, r16638 and r16637.
...
Original descriptions were:
- "Refactor and cleanup VirtualMemory."
- "Fix typo."
- "Deuglify V8_INLINE and V8_NOINLINE."
- "Don't align size on allocation granularity for unaligned ReserveRegion calls."
Reasons for the revert are:
- Our mjsunit test suite slower by a factor of 5(!) in release mode.
- Flaky cctest/test-alloc/CodeRange on all architectures and platforms.
- Tankage of Sunspider by about 6% overall (unverified).
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23970004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 18:30:01 +00:00
mstarzinger@chromium.org
ebbd9c8ed7
Revert "Unify computation of load stubs in stub cache."
...
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24095005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 16:27:41 +00:00
mstarzinger@chromium.org
45a65d870d
Unify computation of load stubs in stub cache.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23647011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 15:44:09 +00:00
mstarzinger@chromium.org
8bf91ffe71
Revert "Use trampoline or handlified JSObject::SetLocalPropertyIgnoreAttributes".
...
This was reverted due to performance regressions on Sunspider and other
benchmarks due to double GCs caused by the trampoline.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23435006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 15:16:56 +00:00
yangguo@chromium.org
ea43b5ea0c
Make handle dereference check more precise.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23578022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 15:12:27 +00:00
palfia@homejinni.com
ef32bb4602
MIPS: remove most uses of Isolate::Current in arch specific files.
...
Port r16643 (b818da5)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/24108002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 14:36:27 +00:00
palfia@homejinni.com
f81ac2662a
MIPS: thread isolate for EntryHookTrampoline.
...
Port r16630 (e045054)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/23503050
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 14:15:18 +00:00
mstarzinger@chromium.org
5dc202d274
Revert "Handlify JSObject::AddProperty method" for performance.
...
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23464069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 13:42:57 +00:00
mvstanton@chromium.org
6790b83748
To diagnose chromium bug 284577, some additional CHECKS. TODOs are
...
added so these can be backed out once the cause of the bug is determined.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/23936007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 13:39:11 +00:00
verwaest@chromium.org
dcad4b8d08
Delete useless CompileStoreGlobal
...
StoreGlobal stubs are generated by Hydrogen now
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23881004
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 13:34:07 +00:00
yangguo@chromium.org
64bb1800a5
Add assertion to UniqueValueId constructor.
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23781006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 13:00:27 +00:00
titzer@chromium.org
1610803b79
Improve alias analysis for HConstants (and fix small snafu in MustAlias).
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24107003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 12:59:07 +00:00
dslomov@chromium.org
488ba18a13
Clean-up v8::ArrayBuffer::Allocator interface
...
BUG=v8:2823
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23514050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 12:54:28 +00:00
yangguo@chromium.org
62ac593d5a
Pass PC offset into runtime when compiling for OSR.
...
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23842004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 12:39:00 +00:00
bmeurer@chromium.org
0e7f6a296e
Don't align size on allocation granularity for unaligned ReserveRegion calls.
...
Also add additional ASSERTs to help tracking the flaky
test-alloc/CodeRange in Windows.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23542027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 11:33:18 +00:00
mstarzinger@chromium.org
c570640334
Handlify JSObject::AddProperty method.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23883007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 11:00:36 +00:00
dcarney@chromium.org
bf503d5f76
thread isolate for logging calls
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23710025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:59:39 +00:00
titzer@chromium.org
8656dfdff9
Implement simplistic local alias analysis, which will be used in both check elimination and load elimination.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23516010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:53:56 +00:00
rossberg@chromium.org
efd71c9999
performChange no longer takes a |receiver| argument.
...
The spec omits the receiver arg with the idea arrow functions with lexical |this| will obviate the need for it.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/23727006
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:52:20 +00:00
dcarney@chromium.org
0a6d15453c
remove most uses of Isolate::Current in arch specific files
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24031003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:51:06 +00:00
mstarzinger@chromium.org
ae7813cacf
Use trampoline or handlified JSObject::SetLocalPropertyIgnoreAttributes.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:46:49 +00:00
bmeurer@chromium.org
b60d340e08
Deuglify V8_INLINE and V8_NOINLINE.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/23494047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:28:09 +00:00
bmeurer@chromium.org
b60b8c3b4b
Fix leftover usage of OS::Allocate().
...
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23514048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 09:37:37 +00:00
titzer@chromium.org
562d8ddcb9
Remove dead strings from heap.h
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23600023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:58:38 +00:00
bmeurer@chromium.org
269ce960cf
Fix typo.
...
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23710023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:56:33 +00:00
bmeurer@chromium.org
a797a35975
Refactor and cleanup VirtualMemory.
...
Remove a lot of platform duplication, and simplify the virtual
memory implementation. Also improve readability by avoiding bool
parameters for executability (use a dedicated Executability type
instead).
Get rid of the Isolate::UncheckedCurrent() call in the platform
code, as part of the Isolate TLS cleanup.
Use a dedicated random number generator for the address
randomization, instead of messing with the per-isolate random
number generators.
TEST=cctest/test-virtual-memory
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23641009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:47:02 +00:00
dcarney@chromium.org
9a8344b1e7
some random isolate threading
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23494046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:39:38 +00:00
hpayer@chromium.org
4537c07354
Prepare push to trunk. Now working on version 3.21.14.
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23994004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:23:37 +00:00
dcarney@chromium.org
afabbe177d
remove ISOLATE
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23480067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 07:28:47 +00:00
dcarney@chromium.org
cc2257b92a
move HEAP to /test
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23468021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 07:14:41 +00:00
dcarney@chromium.org
c2bea784e1
thread isolate for EntryHookTrampoline
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23587019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 06:56:47 +00:00
adamk@chromium.org
9139e1a864
This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept.
...
Observation in the normal case (Object.observe, default accept types, one observer) now allocates fewer objects and unobservation no longer needs to scan and splice an InternalArray -- making the combined speed of observe/unobserve about 200% faster.
This patch implements the following optimizations:
-objectInfo is initially created without any connected objects or arrays. The first observer is referenced directly by objectInfo, and when a second observer is added, changeObservers converts to a mapping of callbackPriority->observer, which allows for constant time registration/de-registration.
-observer.accept and objectInfo.performing are conceptually the same data-structure. This is now directly represented as an abstract "TypeMap" which can later be optimized to be a smi in common cases, (e.g: https://codereview.chromium.org/19269007/ ).
-objectInfo observers are only represented by an object with an accept typeMap if the set of accept types is non-default
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/19541010
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 18:13:54 +00:00
hpayer@chromium.org
f0f3ddc5c7
Check that AllocationMementos never get scavengend.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/24052003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 17:29:39 +00:00
yangguo@chromium.org
534434e616
a small fix: DependentCode contains check against related dependency group
...
BUG=
R=ulan@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/23648009
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 16:41:46 +00:00
mstarzinger@chromium.org
1c91d00bf7
Remove V8_WARN_UNUSED_RESULT for simple getters.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23629031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 15:03:17 +00:00