svenpanne@chromium.org
b22aacc68e
Fixed visibility attribute for GetPointerFromInternalField
...
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/11312099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 13:07:06 +00:00
rossberg@chromium.org
b80cbd7922
Object.observe: generate change records for named properties.
...
In more detail:
- Set observation bit for observed objects (and make NormalizedMapCache respect it).
- Mutation of observed objects is always delegated from ICs to runtime.
- Introduce JS runtime function for notifying generated changes.
- Invoke this function in the appropriate places (including some local refactoring).
- Inclusion of oldValue field is not yet implemented, nor element properties.
Also, shortened flag to --harmony-observation.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11347037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 12:32:36 +00:00
rossberg@chromium.org
beaccd74cb
Object.observe: implement map bit and functions to access it.
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11276028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 12:30:22 +00:00
verwaest@chromium.org
83378890eb
Prepare push to trunk. Now working on version 3.15.2.
...
R=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11362112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 12:10:54 +00:00
mstarzinger@chromium.org
03ba764f3e
Put incremental code flushing behind a flag.
...
This is used to disable incremental code flushing by default for now
until we can stabilize it and make it ready for production.
R=verwaest@chromium.org
BUG=chromium:159140
Review URL: https://codereview.chromium.org/11367105
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 11:54:05 +00:00
yangguo@chromium.org
85bda7bc09
Fix stack overflow for mac build.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11358096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 18:39:59 +00:00
verwaest@chromium.org
f95d9502c3
Removed duplicate line.
...
Review URL: https://chromiumcodereview.appspot.com/11359055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 15:37:04 +00:00
yangguo@chromium.org
71688ba750
Reduce stack frame size in JSON.stringify.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11366087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 15:01:51 +00:00
verwaest@chromium.org
384ab895e8
Remove superfluous setting of bitfield3.
...
Review URL: https://chromiumcodereview.appspot.com/11367093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 14:43:11 +00:00
svenpanne@chromium.org
6f9a75a449
Removed useless Canonicalize implementations subsumed by dead code elimination.
...
Review URL: https://codereview.chromium.org/11362085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 14:38:00 +00:00
svenpanne@chromium.org
50f6e07e67
Nano-refactoring: Simplify initialization
...
Review URL: https://codereview.chromium.org/11368078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 14:37:28 +00:00
ulan@chromium.org
f106c9c9f7
Add rotate-right instruction to hydrogen and use it instead of bitwise operations
...
of the form ((x >>> i) | (x << (32 - i))).
This CL is based on https://chromiumcodereview.appspot.com/10984057/
by Jay Conrod <dconrod@codeaurora.org>.
R=danno@chromium.org ,mstarzinger@chromium.org,dconrod@codeaurora.org
Review URL: https://chromiumcodereview.appspot.com/11033005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 13:28:10 +00:00
mstarzinger@chromium.org
b77e629f1a
Implement IsIndependent(Isolate*)
...
BUG=
TEST=cctest/test-api/IndependentWeakHandle
Committed: https://code.google.com/p/v8/source/detail?r=12852
Review URL: https://codereview.chromium.org/11368053
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 13:20:45 +00:00
yangguo@chromium.org
e452c10702
Add fast path for FastProperty objects in JSON.stringify.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11363078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 12:59:35 +00:00
mstarzinger@chromium.org
ea00c51e24
Implement IsIndependent(Isolate*)
...
BUG=
TEST=cctest/test-api/IndependentWeakHandle
Review URL: https://codereview.chromium.org/11368053
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 12:35:51 +00:00
yangguo@chromium.org
e26012e771
Fix JSON.stringify wrt harmony proxies.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11312063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 10:53:56 +00:00
yangguo@chromium.org
17fab1dfa1
Improve handle allocation in JSON.parse.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11358065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 10:50:36 +00:00
svenpanne@chromium.org
f3807ca17b
Heavy cleanup of the external pointer API.
...
Added highly efficient Object::SetAlignedPointerInInternalField and
Object::GetAlignedPointerFromInternalField functions for 2-byte-aligned
pointers. Their non-aligned counterparts Object::GetPointerFromInternalField and
Object::SetPointerInInternalField are now deprecated utility functions.
External is now a true Value again, with New/Value/Cast using a JSObject with an
internal field containing a Foreign. External::Wrap, and External::Unwrap are now
deprecated utility functions.
Added Context::GetEmbedderData and Context::SetEmbedderData. Deprecated
Context::GetData and Context::SetData, these are now only wrappers to access
internal field 0.
Added highly efficient Context::SetAlignedPointerInEmbedderData and
Context::GetAlignedPointerFromEmbedderData functions for 2-byte-aligned
pointers.
Review URL: https://codereview.chromium.org/11190050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 10:25:32 +00:00
svenpanne@chromium.org
24bb0668e6
Simplified HCheckMaps handling a bit.
...
This is a refactoring-only CL which simplifies the way we emit combinations of
Smi+map checks.
Review URL: https://codereview.chromium.org/11343011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 10:06:24 +00:00
svenpanne@chromium.org
9de1d40d28
Improve handling of property loads on the proto chain.
...
Previously Crankshaft emitted a generic load for these, now we emit a load of a
named field, guarded by a proto chain check.
LCheckPrototypeMaps now returns the holder, which is for free, because it
already had to check its map as the last step, anyway. This is in sync with what
StubCompiler::CheckPrototype does.
Review URL: https://codereview.chromium.org/11338030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 08:53:54 +00:00
yangguo@chromium.org
e8d91b424c
Handle edge cases in basic JSON.stringify.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11315009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-02 14:46:57 +00:00
yangguo@chromium.org
64793b3f0d
Correctly visit all external strings.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11340010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-02 12:45:00 +00:00
verwaest@chromium.org
14abf05bd5
Ensure reducing the length of an array doesn't make it go holey.
...
Also only transition and/or change anything to the backing store if we are
actually going to delete anything.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11358011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-02 10:24:56 +00:00
mvstanton@chromium.org
a85fd03caa
Consolidated all the key store/load classes in the Hydrogen and Lithium
...
space into just two:
HLoadKeyed/HLoadKeyedGeneric and HStoreKeyed/HStoreKeyedGeneric
LLoadKeyed/LLoadKeyedGeneric and LStoreKeyed/LStoreKeyedGeneric
BUG=
Review URL: https://codereview.chromium.org/11238016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-02 09:18:53 +00:00
yangguo@chromium.org
d2dc5ff546
Fix tick processor to correctly handle the 'parallel-compiler' tick.
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/11347043
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-31 11:43:13 +00:00
danno@chromium.org
75cec19872
Prepare push to trunk. Now working on version 3.15.1.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11367003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-31 09:58:22 +00:00
yangguo@chromium.org
fe7ec01096
Fix handling arrays with holes in JSON.stringify.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11273112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-30 15:29:34 +00:00
jkummerow@chromium.org
8daf7e7de1
MIPS: fix mips_arch_variant bug in GYP build.
...
There is a small bug that causes to build mips32r2
version of v8 as mips32 (r1). This affects only
the compiled code.
In the default case of building for mips32r2,
the compiler flags are the following:
-EL -mhard-float -mips32r2 -Wa,-mips32r2 -mips32 -Wa,-mips32
Since the "last flag wins" the object files are
compiled as mips32. In a funny twist, the
code sourcery lite compilers do not have multi-lib support,
and there is a bug that if you tell it to link mips32,
it will silently link the object files with
mips32r2 libraries, and then the resulting binary is mips32r2.
This commit fixes the mips32r1/mips32r2 build.
BUG=
TEST=
Review URL: https://codereview.chromium.org/11289003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-30 10:54:44 +00:00
danno@chromium.org
5da0bbf390
Loosen aligned code target requirement on ARM
...
Fixes crashes when V8 is built as Thumb code.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/11343014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-29 16:27:54 +00:00
danno@chromium.org
60267da6d9
MIPS: Cleanup handling of shifts: SHR can deoptimize only when its a shift by 0, all other shift never deoptimize.
...
Port r12373 (9fdde2ad)
Original commit message:
Fix DoDeferredNumberTagU to keep the value in xmm1 instead of xmm0 on x64.
xmm0 is not saved across runtime call on x64 because MacroAssembler::EnterExitFrameEpilogue preserves only allocatable XMM registers unlike on ia32 where it preserves all registers.
Cleanup handling of shifts: SHR can deoptimize only when its a shift by 0, all other shift never deoptimize.
Fix type inference for i-to-t change instruction. On X64 this ensures that write-barrier is generated correctly.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10876054
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-29 15:10:21 +00:00
yangguo@chromium.org
8ed2e560ea
Treat leading zeros in JSON.parse correctly.
...
R=verwaest@chromium.org
BUG=158185
Review URL: https://chromiumcodereview.appspot.com/11273075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-29 12:01:29 +00:00
ulan@chromium.org
42c7166e75
Fix performance regression introduced by r12812.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11301014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-29 11:45:57 +00:00
danno@chromium.org
e96d49047b
Remove redundant jump to deoptimization (the jump already exists in DoCheckMapCommon)
...
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/11265044
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-29 11:45:40 +00:00
mstarzinger@chromium.org
e363cd3425
Fix ugly typo in GenerateNewNonStrictFast.
...
R=svenpanne@chromium.org
BUG=chromium:157520
TEST=mjsunit/regress/regress-crbug-157520
Review URL: https://codereview.chromium.org/11300008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-26 10:55:25 +00:00
mstarzinger@chromium.org
014f00fa51
Fix code flusher to process weak function links.
...
This fixes a corner case where weak function links of the code flushing
candidates list were destroyed by scavenges that happened during
incremental marking. Now those weak function links are updated while
scavenging happens.
R=ulan@chromium.org
TEST=cctest/test-heap/TestCodeFlushingIncrementalScavenge
Review URL: https://codereview.chromium.org/11271006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-26 09:44:34 +00:00
yangguo@chromium.org
f6ed7f5e23
Relax test expectations for json-recursive.js
...
R=mvstanton@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11311002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-26 07:52:18 +00:00
mstarzinger@chromium.org
c0461d999c
Update ReceiverObjectNeedsWriteBarrier to include HFastLiteral
...
This will prevent unnecessary write barriers for literals.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/11143005
Patch from Derek J Conrod <dconrod@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 15:45:24 +00:00
mstarzinger@chromium.org
e119459af2
Set kChangesNewSpacePromotion for HStringAdd
...
TEST=none
BUG=none
Review URL: https://codereview.chromium.org/11143006
Patch from Derek J Conrod <dconrod@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 15:23:39 +00:00
rossberg@chromium.org
aa5e1c3483
Set up Proxy methods the proper way.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11274047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 15:13:44 +00:00
rossberg@chromium.org
ae93cf665d
Initial JS stub implementation of Object.observe. Adds support for .object/.unobserve/.notify/.deliverChangeRecords. No delivery mechanism is implemented for end-of-microtask.
...
Review URL: https://codereview.chromium.org/11225058
Patch from Rafael Weinstein <rafaelw@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 14:56:44 +00:00
rossberg@chromium.org
cd9029a502
Initial JS stub implementation of Object.observe. Adds support for .object/.unobserve/.notify/.deliverChangeRecords. No delivery mechanism is implemented for end-of-microtask.
...
Review URL: https://codereview.chromium.org/11225058
Patch from Rafael Weinstein <rafaelw@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 14:53:26 +00:00
mstarzinger@chromium.org
8133d85955
Fix test failures in r12813.
...
R=yangguo@chromium.org
BUG=v8:1490
Review URL: https://codereview.chromium.org/11264035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 13:54:10 +00:00
yangguo@chromium.org
e91473f057
Relax test expectations to appease mac build.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11272029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 12:39:41 +00:00
yangguo@chromium.org
58c82e93b3
Catch stack overflow in JSON.parse.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11275039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 12:36:40 +00:00
mstarzinger@chromium.org
ebb44f0d30
Expose gc(true) to JavaScript, which triggers a scavenger GC.
...
With the --expose_gc option, gc() is exposed to JavaScript. Currently gc() triggers a full GC.
To enable JavaScript to test the behavior of a scavenger GC, this patch exposes gc(true). If the first argument is true, gc(...) triggers a scavenger GC. Otherwise, gc(...) triggers a full GC.
BUG=
Test=Manually confirmed that gc() and gc(false) trigger a full GC and that gc(true) triggers a scavenger GC.
Review URL: https://codereview.chromium.org/11232065
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 12:23:03 +00:00
yangguo@chromium.org
e40b33d39e
Correctly check for stack limit in JSON.stringify.
...
Changes include:
- inline functions in a way as not to waste stack space.
- reset StackReserveSize to the value prior to r12808.
- check stack overflow dynamically.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11271021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 12:18:24 +00:00
mstarzinger@chromium.org
b55988625d
Get rid of obsolete unchecked accessors.
...
R=yangguo@chromium.org
BUG=v8:1490
Review URL: https://codereview.chromium.org/11271020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 11:52:37 +00:00
ulan@chromium.org
889de3b780
Fix memory leak in RegExpStack.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11275037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 11:10:13 +00:00
danno@chromium.org
0f8992395c
Fast-forward to version 3.15.0
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11271019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 10:53:35 +00:00
mstarzinger@chromium.org
2baf7eb8e2
Fix typo in V8::MarkIndependent()
...
BUG=
Review URL: https://codereview.chromium.org/11238064
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 10:07:26 +00:00