- 14 Feb, 2014 18 commits
-
-
ulan@chromium.org authored
Using FAST_SMI_ELEMENTS triggers optimization on 64-bit architectures that load only the higher 32 bits of the element. If the element is a pointer to undefined that has 0 in the higher half than it is erroneously treated as SMI 0. BUG=v8:3158 LOG=N TEST=mjsunit/sparse-array-reverse,mjsunit/regress/regress-3158.js R=danno@chromium.org, ishell@chromium.org Review URL: https://codereview.chromium.org/166653005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
Notes: - We use simple recursion to keep track of how many "new" operators we have seen and where. - This makes the self-baked stack class PositionStack in parser.cc unnecessary. - Now the logic is also unified between Parser and PreParser. - It might have been a copy-paste artifact (ParseLeftHandSideExpression -> ParseMemberWithNewPrefixesExpression) that the logic was so complicated before. R=ulan@chromium.org BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/166943002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/166883002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/163363003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/163463002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/166163003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/166483004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/166653003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
If it's shadowed by a variable of the same name and both are forcibly context-allocated, the function is assigned to the wrong context slot. R=rossberg@chromium.org BUG=v8:3138 LOG=Y Review URL: https://codereview.chromium.org/159903008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/166203002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
The sweeper thread should not write the page flags. Added a sweeping complete phase, where the main thread writes the given page flags. BUG= R=jarin@chromium.org, jochen@chromium.org Review URL: https://codereview.chromium.org/163683003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
R=ulan@chromium.org BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/166513003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
The fix removes wrong simulates from the number branch of polymorphic call/field access handling. The change also fixes the same thing for polymorphic named field access even thourgh the field access is probably safe in practice (because it cannot deoptimize). It is better to keep all our simulates in sync with full codegen. R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/166503002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
Notes: - To be able to move the recursive descent functions to ParserBase one at a time, we temporarily need routing functions from traits to Parser/PreParser, since the recursive descent functions form a cyclic structure. - PreParser used to always allow intrinsic syntax. After this CL, it depends on allow_natives_syntax() which was already in ParserBase. - This CL also decouples (Pre)ParserTraits better from (Pre)Parser, passing more information as parameters, so that the Traits don't need to get it from (Pre)Parser. R=ulan@chromium.org BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/163333003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=chromium:343621 LOG=N R=ishell@chromium.org Review URL: https://codereview.chromium.org/166413002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=dslomov@chromium.org BUG=v8:3159 LOG=N Review URL: https://codereview.chromium.org/163293002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/164353002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
R=jkummerow@chromium.org TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/163183007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Feb, 2014 18 commits
-
-
palfia@homejinni.com authored
BUG= R=vegorov@chromium.org Review URL: https://codereview.chromium.org/164033002 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/164003002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Remove unused position_ field in the LChunkBuilder. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/163913003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
Notes: - This removes Parser::FunctionState and PreParser::FunctionState and adds ParserBase::FunctionState etc. - Also the scope stacks and function state stacks are moved to ParserBase. - PreParser::FunctionState didn't add and subtract JSFunction::kLiteralsPrefixSize (unlike Parser::FunctionState). Since the actual value of NextMaterializedLiteralIndex is not used in the Preparser, this change is valid. - Traits no longer need functions like is_classic_mode(), since now there is a unified way of getting the information from the FunctionState / Scope. R=ulan@chromium.org BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/135213007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Instead of tracking simple absolute offset from the start of the script like other places do, track a pair of (inlining id, offset from the start of inlined function). This enables us to pinpoint with inlining path an instruction came from. Previously in multi-script environments we emitted positions that made very little sense because inside a single optimized function they would point to different scripts without a way to distinguish them. Start dumping the source of every inlined function to make possible IR viewing tools with integrated source views as there was previously no way to acquire this information from IR dumps. We also dump source position at which each inlining occured. Tracked positions are written into hydrogen.cfg as pos:<inlining-id>_<offset>. Flag --emit-opt-code-positions is renamed by this change into --hydrogen-track-positions to better convey it's meaning. In addition this change assigned global unique identifier to each optimization performed inside isolate. This allows to precisely match compilation artifacts (e.g. IR and disassembly) and deoptimizations. BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/140683011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Return on the polymorphic hard deopt case to ensure we don't polute phis with fake type information. R=ishell@chromium.org Review URL: https://codereview.chromium.org/163403003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
This fixes mjsunit/sin-cos. There are further int32 accesses being investigated. BUG= R=jochen@chromium.org Review URL: https://codereview.chromium.org/163553005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
BUG=v8:3104 R=hpayer@chromium.org LOG=y Review URL: https://codereview.chromium.org/143803007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alph@chromium.org authored
BUG=341741 LOG=N R=dslomov@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/163593002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/138953018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/162903005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=marja@chromium.org Review URL: https://codereview.chromium.org/163233003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG=v8:3153 LOG=N R=jochen@chromium.org Review URL: https://codereview.chromium.org/163243003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/163263002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexandre.rames@arm.com authored
This fixes potential issues that would appear when trying to insert a breakpoint from JavaScript. Without this, computing the mapping of addresses between versions of the code with and without debug slots could be off by an instruction, trigerring nasty bugs. R=jochen@chromium.org Review URL: https://codereview.chromium.org/139983007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=machenbach@chromium.org TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/162853003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/163213002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG=v8:3144 LOG=N Review URL: https://codereview.chromium.org/162983003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Feb, 2014 4 commits
-
-
rafaelw@chromium.org authored
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue". It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to -schedule a microtask (EnqueueExternalMicrotask) -run the microtask queue (RunMicrotasks) -control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks). R=dcarney@chromium.org, rossberg@chromium.org, dcarney, rossberg, svenpanne BUG= Review URL: https://codereview.chromium.org/154283002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
plind44@gmail.com authored
Port r19323 (929c047) BUG= R=plind44@gmail.com Review URL: https://codereview.chromium.org/160713002 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Original CL: https://codereview.chromium.org/153823003 Review URL: https://codereview.chromium.org/153653007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
To properly do this, we'd have to iterate over CompareMaps (and their bodies) handling phis, until we have learned enough to decide which paths can be taken. For now, just disable learning from phis in loop headers. BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/147023005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-