mvstanton@chromium.org
848a9af6b4
%ObjectFreeze needs to exclude non-fast-path objects.
...
ClusterFuzz will call it with sloppy arguments and similar cases.
BUG=380049
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/315533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:59:36 +00:00
hpayer@chromium.org
b8c3ee40ab
Tenure allocation sites only when semi-space is maximum size.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/309623007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:55:38 +00:00
mvstanton@chromium.org
adeaedf547
When flag --nouse-osr is set, don't allow osr from hidden runtime calls.
...
BUG=379770
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/310773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:45:40 +00:00
adamk@chromium.org
2e2eb6a07e
Split Put into Put and Remove
...
No longer treat the hole as a removal. This removes one branch in
Put and cleans up the API.
BUG=None
LOG=Y
R=adamk@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/309663005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:53:16 +00:00
adamk@chromium.org
509a1a405c
ES6: Add support for values/keys/entries for Map and Set
...
This allows code like this:
var map = new Map();
map.set(1, 'One');
...
var iter = map.values();
var res;
while (!(res = iter.next()).done) {
print(res.value);
}
BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/259883002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:34:01 +00:00
mstarzinger@chromium.org
d6500b6cf7
Reland "Make 'name' property on functions configurable."
...
R=rossberg@chromium.org
BUG=v8:3333
LOG=N
Review URL: https://codereview.chromium.org/303463006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 13:35:26 +00:00
yangguo@chromium.org
97e550985e
Release execution lock before dispatching interrupt handling.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/309533009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 12:07:37 +00:00
yangguo@chromium.org
f1357a21d2
Some debugger-related clean-ups and renamings.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/300553008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:41:50 +00:00
verwaest@chromium.org
60a71d8a8c
Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.
...
v8::DontDelete is set for Unforgeable properties, so just not setting PROHIBITS_OVERWRITING should be enough.
The secondary "feature" of not allowing accessors to be installed in extending objects is incorrect and confusing, given that it only applies to accessors but not to regular properties:
Object.defineProperty({__proto__:window}, "location", { value: 10 })
works where
Object.defineProperty({__proto__:window}, "location", { get: function() {} })
doesn't work.
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/306203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:02:06 +00:00
yangguo@chromium.org
50cba82cb9
Remove unused debug API.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/303693010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 06:22:09 +00:00
jkummerow@chromium.org
f6a249c6d0
Inlined optimized runtime functions: expose Runtime versions for direct testing, skip Hydrogen versions
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/302703004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 17:07:38 +00:00
bmeurer@chromium.org
5cd009a004
HRor and HSar can deoptimize.
...
BUG=v8:3359
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/309483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 16:12:25 +00:00
rmcilroy@chromium.org
a8b2528d7d
Fix typo in test/fuzz-natives/testcfg.py
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/305963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 09:31:44 +00:00
bmeurer@chromium.org
e9357a5e77
Refactor HType to get rid of various hacks.
...
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/300893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 04:13:50 +00:00
rafaelw@chromium.org
74f92f21da
Simplify, speed-up correct-context ObjectObserve calls
...
The original patch which ensured that Object.observe did allocations in the correct context regressed performance about 12%. This patch gets back most of that (about 11%) by simply returning the correct function which is then directly callable from JS, rather than by making the call from the runtime function. A side-effect is that their implementation is shorter.
LOG=Y
BUG=NONE
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/307543008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 19:13:41 +00:00
adamk@chromium.org
20eeff9ae4
Allow microtasks to throw exceptions and handle them gracefully
...
If the embedder calls V8::TerminateExecution while we're running microtasks, bail out
and clear any pending microtasks.
All other exceptions are simply swallowed. No current Blink or V8 microtasks throw, this
just ensures something sane happens if another embedder decides to pass a throwing
microtask (or if ours unexpectedly throw due to, e.g., stack exhaustion).
BUG=371566
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/294943009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 18:40:04 +00:00
rossberg@chromium.org
0589ba7017
Split Distributivity test
...
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298253008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 15:05:53 +00:00
mvstanton@chromium.org
8c54a373dd
Changing the attributes of a data property implemented with
...
ExecutableAccessorInfo turns the property into a field. Better
to keep it as a callback, and correctly deal with the changed
property attributes.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/262053011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 09:58:27 +00:00
mvstanton@chromium.org
5f7fed0134
Repairs to FLAG_pretenure_call_new.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/307583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:39:33 +00:00
mstarzinger@chromium.org
3812677b42
Make incremental marker post-process JSWeakCollection.
...
R=hpayer@chromium.org
BUG=v8:2070
LOG=N
Review URL: https://codereview.chromium.org/301553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:35:16 +00:00
jochen@chromium.org
6e3ffe1ca1
Extract build configuration into a separate header and move it to the base lib
...
With this, change, atomicops, once, and lazy instance are no longer dependant
on v8 core. I'll move them in a follow-up change to the libbase as well.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/303463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:07:18 +00:00
yangguo@chromium.org
5599b3a743
Fix path tracer test.
...
Path tracer is not compatible with --enable-slow-assert.
R=mstarzinger@chromium.org
BUG=v8:3350
LOG=N
Review URL: https://codereview.chromium.org/297193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 06:42:01 +00:00
mstarzinger@chromium.org
6b33e50701
Revert "Make 'name' property on functions configurable."
...
R=danno@google.com , danno@chromium.org
Review URL: https://codereview.chromium.org/297163009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:00:26 +00:00
rossberg@chromium.org
68a1a59556
Remove cpp hack to avoid link failures on Windows
...
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:26:32 +00:00
rossberg@chromium.org
7ac892c8bd
Establish distributivity for type union & intersection
...
This requires introducing proper bounds on all leaf types, so that intersection between bitsets and these types can be accurately represented. Extending a union also becomes more involved.
(On the upside, the modified union/intersect algorithm would now allow support for proper variance for function types.)
Not sure if it is worth landing this. Distributivity isn't really a crucial property for our use cases. It seems fine if intersection is slightly lossy.
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/251753005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:52:31 +00:00
jochen@chromium.org
276adeda1a
Replace STATIC_CHECK with STATIC_ASSERT.
...
It's just an alias, and STATIC_ASSERT is used way more often
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:43:29 +00:00
yangguo@chromium.org
4309b34e40
Skip PathTracer test for now.
...
TBR=mstarzinger@chromium.org
BUG=3350
LOG=N
Review URL: https://codereview.chromium.org/305583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:40:40 +00:00
yangguo@chromium.org
1630b6d83c
Fix PathTracer.
...
When tracing, we abuse the map for marking, thereby mutating it.
FixedTypedArrayBase::size() uses the object's map, which causes crash.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/300753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:05:11 +00:00
yangguo@chromium.org
db8f7e0383
Cache optimization status getter in mjsunit.js
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/300003007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:52:15 +00:00
yangguo@chromium.org
620555b495
Do not break in native code (including non-builtin debugger code).
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/300773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:21:40 +00:00
yangguo@chromium.org
2097644fcf
Do not (eagerly) trigger exception in mjsunit.js.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/301673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 11:53:12 +00:00
hpayer@chromium.org
0fde744d00
Escape % in SNPrintF call in pretenuring test.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/298183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 08:41:12 +00:00
jochen@chromium.org
84e078e561
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:57:22 +00:00
hpayer@chromium.org
b3c067ff03
Remove global pretenuring mode.
...
BUG=
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/304493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:48:36 +00:00
yangguo@chromium.org
94b4aef7d6
Fix arm64 gc stress issue.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/306483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 06:35:45 +00:00
jochen@chromium.org
eabd5a19b9
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:56:27 +00:00
jochen@chromium.org
a5a21a0da4
Move OS::MemCopy and OS::MemMove out of platform to utils
...
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:33:15 +00:00
jochen@chromium.org
0f73456d3f
Move NumberOfProcessorsOnline from CPU to OS
...
It's really more an OS-level information, and this way the default
platform doesn't depend on CPU-level details
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/300713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 15:18:45 +00:00
mvstanton@chromium.org
d755611e93
Reland "Customized support for feedback on calls to Array." and follow-up fixes.
...
Comparing one CallIC::State to another was not done correctly, leading to a failure to patch a CallIC when transitioning from monomorphic Array to megamorphic.
BUG=chromium:377198,chromium:377290
LOG=Y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/305493003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:59:24 +00:00
rossberg@chromium.org
9516c181a1
More nuisance
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/297323004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:33:06 +00:00
rossberg@chromium.org
2fbc98a65a
Shut up VS
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298073005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:24:59 +00:00
rossberg@chromium.org
dbf7d8528c
Various extensions to types
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/296213005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:10:52 +00:00
hpayer@chromium.org
6ed0102b1d
Remove high promotion mode.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/296413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 12:58:55 +00:00
mstarzinger@chromium.org
82b3b2a367
Make 'name' property on functions configurable.
...
R=rossberg@chromium.org
BUG=v8:3333
LOG=N
Review URL: https://codereview.chromium.org/296413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:42:56 +00:00
marja@chromium.org
2b7810c09c
Fix mem leaks in tests & ScriptCompiler::CompileUnbound.
...
- Leak in test-parsing/DontRegressPreParserDataSizes
- Leak in test-api/EventLogging
- Leak in ScriptCompiler::CompileUnbound which won't happen during normal
operation, but exposed by test-apöi/CompiledWithInvalidCachedData.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/302603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:04:32 +00:00
jkummerow@chromium.org
60e665627d
Revert "Customized support for feedback on calls to Array." and follow-up fixes.
...
This reverts r21429, r21434, r21435, r21440, r21445.
BUG=chromium:377198
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/300693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 09:04:00 +00:00
ulan@chromium.org
3fcda0e576
Make let variables fresh in each iteration of a for-loop.
...
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-for
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/292743009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:07:02 +00:00
yangguo@chromium.org
32f433c12e
Fix leak in debug mirror cache.
...
When fetching loaded scripts, mirror objects are created and cached.
If the cache is not cleared, it holds script objects alive.
This also fixes a minor issue with script unloading.
R=ulan@chromium.org
BUG=376534
LOG=N
Review URL: https://codereview.chromium.org/296953005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 07:05:56 +00:00
danno@chromium.org
9c485e182b
Introduce x87 port
...
Support x87-only platform (ia32 without SSE)
R=danno@chromium.org
Review URL: https://codereview.chromium.org/293743005
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 16:37:27 +00:00
mstarzinger@chromium.org
cf448aa15f
Fix representation inference for mutable double boxes.
...
R=jarin@chromium.org
BUG=v8:3307
TEST=mjsunit/regress/regress-3307
LOG=N
Review URL: https://codereview.chromium.org/298723014
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 14:02:08 +00:00